| At line 1 added 269 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
|
| !! OBIETTIVO\\ |
| Gestire query per strutture dati (Oggetto RE) orientando le funzioni agli oggetti |
| Il campo di input non e' posizionale, ma parametrico; vengono indicati i parametri |
| con la sintassi NomeParametro(Valore) |
|
| Al momento vengono supportate due inizializzazioni: |
| - Inizializzazione per file |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Inizializzo per file |
| C EVAL £G76FU='INZ' |
| C EVAL £G76ME='F-' |
| C EXSR £G76 |
| /% |
| ---- |
| - Inizializzazione per oggetto |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Inizializzo per oggetto |
| C EVAL £G76FU='INZ' |
| C EVAL £G76ME='O-' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Inizializzazione per file\\ |
| Con questa inizializzazione si lavora sui campi del file indicato |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set del file |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='REC' |
| C EVAL £G76IN='REC(File)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Inizializzazione per oggetto\\ |
| Con questa inizializzazione si lavora per OAV dell'oggetto indicato |
| Il mapping fra OAV e campo del file viene specificato nel file |
| di script SCP_G76/NomeOggetto |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set dell'oggetto |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='REC' |
| C EVAL £G76IN='REC(Oggetto)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Set dei campi richiesti\\ |
| E' possibile selezionare campi del record, eventualmente indicando |
| il titolo e l'oggetto della colonna |
| L'impostazione e' multipla |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set del campo/attributo |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='FLD' |
| C EVAL £G76IN='FLD(NomeCampo/Attributo) |
| C OGG(OggettoDellaColonna) |
| C INT(IntestazioneColonna) |
| C HDD(Hidden)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Set del filtro\\ |
| E' possibile selezionare campi del record in base a dei filtri |
| sia statici(campi del file) che dinamici(OAV) |
| L'impostazione e' multipla |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set del filtro |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='FLT' |
| C EVAL £G76IN='FLD(NomeCampo/Attributo) |
| C OPE(V2OPC03) |
| C VAL(Valore)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Set dell'ordinamento\\ |
| E' possibile ordinare il recordset in base a campi del record |
| L'impostazione e' multipla |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set dell'ordinamento |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='ORD' |
| C EVAL £G76IN='FLD(NomeCampo/Attributo) |
| C ORD(A/D)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Set del raggruppamento\\ |
| E' possibile raggruppare i campi del recordset in base a dei campi selezionati |
| nel SET/FLD |
| L'impostazione e' multipla |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set del group by |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='GRP' |
| C EVAL £G76IN='FLD(NomeCampo/Attributo) |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Set delle funzioni\\ |
| Alla funzione di SET per i metodi (FLD,FLT,ORD,GRP) e' possibile specificare |
| una delle funzioni sottoelencate aggiungendo i parametri |
| FUN(xxx) e PAR(V1,V2,Vn) al campo di input £G76IN |
|
| Funzione Descrizione Parametri |
| CNC Concat Vn= Campi da concatenare |
| SUM Somma V1= Campo da sommare |
| CNT Count V1= Campo da conteggiare |
| MAX Massimo V1= Campo da cui selezionare il valore massimo |
| MIN Minimo V1= Campo da cui selezionare il valore minimo |
| AVG Media V1= Campo di cui calcolare la media |
| FOR Formula V1= Sintassi della formula |
| RRN Nr. record V1= Nome file da cui selezionare il nr. relativo record |
| SST Substring V1= Nome campo, V2=Posizione, V3=Lunghezza |
| DEC £DEC V1= Campo, V2=Oggetto(Opzionale, se assente da V1) |
| OAV £OAV V1= Campo, V2=Attributo, V3=Oggetto(Opzionale, se assente da V1) |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set della funzione |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='FLD' |
| C EVAL £G76ME='FLT' |
| C EVAL £G76ME='ORD' |
| C EVAL £G76ME='GRP' |
| C EVAL £G76IN=%trim(£G76IN) |
| C FUN(xxx) PAR(xxxxx) |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Caricamento da file di script\\ |
| E' possibile caricare tutti i comandi della /COPY attraverso |
| un file di script. Degli esempi sono contenuti nel file SCP_G76 |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Caricamento dello script |
| C EVAL £G76FU='CAR' |
| C EVAL £G76ME='SCP' |
| C EVAL £G76IN='LIB(*LIBL) |
| C FIL(NomeFile) |
| C MBR(Membro)' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Selezione dei record\\ |
| Al termine delle procedure di set, occorre eseguire la selezione dei records |
| La selezione puo' essere di 2 tipi: |
| - Tutti i record |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Selezione di tutti i campi |
| C EVAL £G76FU='SLC' |
| C EVAL £G76ME=*BLANKS |
| C EXSR £G76 |
| /% |
| ---- |
| - Solo un elemento per campo (distinct) |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Distinct dei campi |
| C EVAL £G76FU='SLC' |
| C EVAL £G76ME='DST' |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Scansione dei record\\ |
| Al termine delle procedure della selezione si puo' scorrere il resultset |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Scorrimento resultset |
| C EVAL £G76FU='NXT' |
| C EVAL £G76ME=*BLANKS |
| C EXSR £G76 |
| /% |
| ---- |
|
| ! Ripresa campi\\ |
| Una volta posizionati sul record selezionato occorre reprire il valore |
| dei campi selezionati |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Ripresa valore campo |
| C EVAL £G76FU='GET' |
| C EVAL £G76ME='FLD' |
| C EVAL £G76IN=NomeCampo |
| C EXSR £G76 |
| C EVAL campo=£G76OU |
| /% |
| ---- |
|
| ! Impostazione di variabili\\ |
| E' possibile settare delle variabili che verranno utilizzate come |
| valori per il set del filtro |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Set di variabile |
| C EVAL £G76FU='SET' |
| C EVAL £G76ME='VAR' |
| C EVAL £G76IN='VAR(Nome) |
| C VAL(Valore) |
| C EXSR £G76 |
| /% |
| ---- |
| E' possibile, a scopo informativo, scandire le varibili contenute |
| nella selezione |
| %%quote |
| SINTASSI DELLA CHIAMATA |
|
| * Scansione variabili |
| C EVAL £G76FU='SCV' |
| C EVAL £G76ME='POS' |
| C DO |
| C EXSR £G76 |
| C EVAL £G76V=£G76OU |
| C EVAL £G76ME='LET' |
| C ENDDO |
| /% |
| ---- |
|
| ! Scansione struttura resultset\\ |
| E' possibile scandire la struttura del resultset selezionato, |
| questa funzionalita' viene utilizzata dal TSTG76 per la |
| funzione VIS/REC e VIS/LST |
| * Scansione struttura |
| C EVAL £G76FU='SCS' |
| C EVAL £G76ME='POS' |
| C DO |
| C EXSR £G76 |
| C EVAL £G76G=£G76OU |
| C EVAL £G76ME='LET' |
| C ENDDO |
| ::FIN |