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 |