WikiUp

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).

Add new attachment

Only authorized users are allowed to upload new attachments.
«