At line 1 added 85 lines |
%%(display:none) |
{{{ |
WikiUp |
}}} |
/% |
[{TableOfContents }]\\ |
!!! OBIETTIVO\\ |
Gestire le operazioni di query su oggetti applicativi. |
|
!!! FUNZIONI E METODI\\ |
|
!! DEC - Decodifica\\ |
Esegue le funzioni di decodifica per gli oggetti base coinvolti Q1/Q2/Q3/Q4/Q5. |
Il codice oggetto da decodificare deve essere passato nel campo £IQRIK. |
Rappresenta l'interfaccia comune per la /COPY £DEC |
|
!! INZ - Inizializzazione\\ |
|
In sequenza le operazione eseguite dalla funzione: |
|
1. Inizializza la query caricando le impostazioni dal programma di fonte o da file di script. |
|
2. Se non valorizzati £IQRSC/£IQRFL/£IQROR vengono impostati i default della query. |
|
3. Vengono eseguite le routine di caricamento campi: |
Schema £IQ2(CAR:SCH) |
Filtro £IQ3(CAR:FLT) |
Ordinamento £IQ4(CAR:ORD) |
Nota: |
I campi schema/filtro/ordinamento possono assumere il valore '**' che indica al motore di query |
l'impostazione da programma chiamante delle definizioni; non verranno quindi eseguite le routine di caricamento. |
Questa opzione risulta utile nell'utilizzo da programma RPG per cablare determinate impostazioni. |
|
4. Viene eseguita l'inizializzazione del programma di fonte B£IQR_xx(INZ:) |
|
5. Vengono eseguite le routine di caricamento valori e completamento delle definizioni campi: |
Schema £IQ2(CMP:SCH) |
Filtro £IQ3(CMP:FLT) |
Ordinamento £IQ4(CMP:ORD) |
|
Il completamento delle definizioni campi si basa sul tipo tracciato degli oggetti Q2/Q3/Q4. |
Questa operazione avviene qualora il programma di fonte non abbia già provveduto. |
|
Se lo schema risulta vuoto, il motore di query provvede a impostarne uno di default Codice/Descrizione, |
valorizzandolo tramite £IQROK e £DEC(£IQROG:£IQROK). |
|
6. Vengono eseguite le routine di caricamento valori: |
Filtro £IQ3(CAR:VAL) £IQ3IN(FLT() CFG()) |
|
Se passato il parametro FLT() in £IQRIN, vengono caricati i valori di filtro secondo la sintassi: |
FLT(£IQR3I(x)(valore_x)) |
Se passato il parametro Q3_CFG([MEIDOJ]) in £IQRIN, vengono caricati i valori di filtro dalla configurazione. |
Se passato il parametro Q3_CFG(*USER) in £IQRIN, viene ricercata la configurazione del filtro utente. |
|
In questa fase vengono estratti i campi di schema/filtro con valore dinamico. . |
La valorizzazione di questi campi e la conseguente applicazione del filtro verrà eseguita dal motore di |
query qualora risulti necessario, ovvero £IQ2DDI/£IQ3DDI = '1' per un qualsiasi campo di schema/filtro. |
E' compito del programma di fonte valorizzare correttamente questi campi che per defaut assumono valore ='1'. |
|
!! SLC - Selezione\\ |
|
In sequenza le operazione eseguite dalla funzione: |
|
1. Viene eseguita la selezione dei records con chiamata al programma di fonte B£IQR_xx(SLC:) |
Il campo £IQRIN potrebbe contenere il parametro PAG() indicante il numero di pagina da cui eseguire la |
selezione dei records. La valorizzazione di questo campo dipende dalla chiamata B£IQR_xx(NXT:PAG) |
Il campo £IQRIN potrebbe contenere il parametro NRE() il numero elementi richiesti oppure *ALL indicante |
il caricamento completo. |
|
!! NXT - Avanzamento record\\ |
|
In sequenza le operazione eseguite dalla funzione: |
|
1. Viene eseguita la scansione dei records con chiamata al programma di fonte B£IQR_xx(NXT:) |
Al ritorno di questa chiamata la schiera £IQR2V contiene il valore dei campi dello schema, che saranno |
eventualmente completati e filtrati dal motore di query. |
L'eventuale parzializzazione dei records avviene tramite chiamata £IQ3(CHK:FLT). |
L'eventuale completamento del record avviene tramite chiamata £IQ2(CMP:VAL). |
|
!! NXT:PAG - Avanzamento pagina\\ |
|
In sequenza le operazione eseguite dalla funzione: |
|
1. Viene richiesto il valore di paginazione da passare per la successiva selezione tramite la chiamata B£IQR_xx(NXT:PAG). |
Il valore di ritorno del campo £IQROU verrà ritornato nella successiva chiamata paginata B£IQR_xx(NXT:) PAG(£IQROU). |