Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-1) was last changed on 02-May-2012 12:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

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).
This page has only one version
«