Table of Contents
- OBIETTIVO
- Inizializzazione per file
- Inizializzazione per oggetto
- Set dei campi richiesti
- Set del filtro
- Set dell'ordinamento
- Set del raggruppamento
- Set delle funzioni
- Caricamento da file di script
- Selezione dei record
- Scansione dei record
- Ripresa campi
- Impostazione di variabili
- Scansione struttura resultset
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
* Inizializzo per file C EVAL £G76FU='INZ' C EVAL £G76ME='F-' C EXSR £G76
- Inizializzazione per oggetto
* 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
* 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
* 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
* 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
* 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
* 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
* 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)
* 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
* 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
* Selezione di tutti i campi C EVAL £G76FU='SLC' C EVAL £G76ME=*BLANKS C EXSR £G76
- Solo un elemento per campo (distinct)
* 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
* 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
* 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
* 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
* 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