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