Script
Al fine di agevolare la definizione di ricerche personalizzate viene distributio un file di script
Vedi OK - vuoto (OJ*FILE-SCP_QRY)Nel file di script vengono sostanzialmente definiti:
- Le fonti dati (nome, descrizione, programma fonte, parametri del programma fonte).
- Le ricerche. Queste associano la fonte, la lista degli schemi privati della ricerca (gli schemi pubblici sono sempre disponibili), la lista degli ordinamenti (sempre privati), un solo filtro.
- Gli schemi aggiuntivi (nome, descrizione, formato, proprietà da visualizzare e un indicatore che definisce lo schema come pubblico o privato, ovvero se disponibile per tutte le ricerche definite o solo per quelle che lo includono specificatamente). Tali schemi si aggiungono agli schemi eventualmente resi disponibili dai programmi di fonte o da altri programmi. Per una ricerca sono quindi disponibili più schemi.
- I filtri aggiuntivi (nome, descrizione, proprietà su cui filtrare e operatore di confronto). Tali filtri si aggiungono ai filtri eventualmente resi disponibili dai programmi di fonte. Per una ricerca è al momento disponibile un solo filtro.
- Gli ordinamenti (nome, descrizione, proprietà su cui ordinare). Tali ordinamenti sono disponibili solo per alcuni tipi fonti.
Convenzioni
Denominazione dei membri
Il collegamento fra tipo/parametro oggetto e membro del file SCP_QRY si basa sulla modalità di denominazioni dei membri
nome membro: XXYYYYYYYY dove |
XX = Tipo oggetto |
YYYYYYYY = Parametro oggetto |
Per l'oggetto Configurazione
avviene un'ulteriore risalita per tipo configurazione. L'accesso a file non di oggetto avviene tramite l'oggetto ID+NomeFile
Variabili di ambiente
Il carattere _&_ ("ecommerciale") nel testo indica che la parola seguente è variabile. Variabili supportate
- _&_OG.T1 = Tipo oggetto |
- _&_OG.P1 = Parametro oggetto |
- _&_OG.OG = Tipo+Parametro oggetto |
- _&_CF.METIPA = Tipo memorizzazione (Oggetto CF) |
- _&_CF.MECODI = Codice memorizzazione (Oggetto CF) |
Tag disponibili
SRC (Fonte)
SRC |
.Cod Codice fonte |
.Des Descrizione fonte |
.Pgm Programma (B£IQR_xx) |
La fonte richiede una serie di parametri dipendenti dal programma fonte implementato. Si riporta di seguito la lista dei TAG attualmente consentiti rimandando al programma fonte per una descrizione esaustiva.
.SRC.REC Record |
.SRC.RE2 Record secondario |
.SRC.ALS Alias |
.SRC.FLT Filtro |
.SRC.DST Distinct |
.SRC.GRP Group by |
.SRC.JOI Campi di join |
.SRC.PAR Parametro |
QRY (Query)
Esistono delle query appartenenti per default all'oggetto (*KEY, *DEC, *FIL) che non richiedono la compilazione dello script. Esse possono comunque essere modificate tramite la direttiva QRY. Le ricerche possono essere estese tramite la compilazione dello script:
QRY |
.Cod Codice ricerca |
.Des Descrizione ricerca |
.Src Programma fonte (B£IQR_xx) oppure nome della fonte |
.Flt Lista Filtri |
.PreFlt Presentazione filtro (SI/NO) |
.Ord Lista Ordinamenti |
.NrEle Numero elementi |
.Sch Lista Schemi privati |
SCH (Schema)
SCH |
.Cod Codice Schema |
.Des Descrizione Schema |
.TRec Tipo record |
.CRec Record |
.Prv Privato (SI/NO) |
da TRec+CRec dipende la definizione dei campi dello schema se TRec+CRec non vengono specificati si intende una struttura di tipo O-&OG.OG
Lo schema può presentare uno o più TAG SCH.FLD che definiscono le proprietà visualizzate.
SCH.FLD |
.NAM Nome proprietà |
.INT Intestazione proprietà |
.OGG Oggetto |
.LUN Lunghezza |
.DEC Decimali |
.TYP Tipo (K01=codice, D01=Descrizione) |
.HDD Hidden (SI/NO) |
.FUN Funzione (vedi funzioni a livello di campo) |
.PAR Parametro funzione |
TAG FLT (filtro)
FLT |
.Cod Codice filtro |
.Des Descrizione filtro |
.TRec Tipo record |
.CRec Record |
da TRec+CRec dipende la definizione dei campi del filtro se TRec+CRec non vengono specificati si intende una struttura di tipo O-&OG.OG
Il filtro può presentare uno o più TAG FLT.FLD che definiscono le proprietà e le modalità di filtro.
FLT.FLD |
.NAM Nome campo filtro |
.INT Intestazione |
.OGG Oggetto |
.LUN Lunghezza |
.DEC Decimali |
.OPE Operatore |
.VAL Valore |
.OBB Obbligatorio (SI/NO) |
.CMD Shortcut da riga comando (SI/NO) |
.CS Case sensitive (SI/NO) |
.HDD Hidden (SI/NO) |
.FUN Funzione |
.PAR Parametro funzione |
Se specificato l'operatore di scansione(SC) l'asterisco(*) vale come carattere jolly
TAG ORD (Ordinamento)
ORD |
.Cod Codice ordinamento |
.Des Descrizione ordinamento |
.TRec Tipo record |
.CRec Record |
da TRec+CRec dipende la definizione dei campi di ordinamento se TRec+CRec non vengono specificati si intende una struttura di tipo O-&OG.OG
L'ordinamento può presentare uno o più TAG ORD.FLD che definiscono le proprietà su cui ordinare.
ORD.FLD |
.NAM Nome |
.ORD Ordinamento (ascendente / discendente) |
TAG INC (inclusione)
E' possibile effettuare delle inclusioni nello script. Le inclusioni possono essere delle seguenti tipologie: - :INC.JAC Inclusione tabella JAC - :INC.SCP Inclusione script
Funzioni a livello di campo
I campi degli schemi e dei filtri di una query possono sviluppare delle funzioni note in Sme_up tramite la sintassi
FUN(XXX) e PAR(V1,V2,Vn).
Le funzioni supportate sono:
Funzione /COPY Struttra parametri |
DEC £DEC V1= Campo |
V2= Oggetto(Opzionale, se assente da V1) |
OAV £OAV V1= Campo |
V2= Attributo |
V3= Oggetto(Opzionale, se assente da V1) |
V4= /OT/OP/SI (Opzionale) |
NST £NST V1= Tipo contenuto |
V2= Chiave_1 |
V3= Chiave_2 |
V4= Chiave_3 |
V5= Tipo informazione iniziale |
V6= Tipo informazione finale |
Se non viene espressa una funzione a livello di campo si intende OAV.