WikiUp

Il filtro di job, è una funzionalità di filtro generico, applicabile a qualsiasi campo dell'archivio cui un oggetto appartiene.

Per sua definizione non può quindi essere applicato agli oggetti che non appartengono ad un archivio (es. V2).

Qualora la funzionalità del filtro di job sia attiva nella scheda è presentato il tasto funzione F13.

Tali funzionalità si appoggiano alla /COPY £IQ3, ed all'istanza E/*JOB della classe Q3. Vedi Interfaccia Filtro (MBQILEGEN-£IQ3)
Filtro

Specifiche

La funzionalità del filtro di job è presente nelle query, ma può essere applicata inoltre in qualsiasi servizio generico che elenca un insieme di righe basate sulle istanze di una stessa classe.

Va innanzitutto detto che il richiamo dello stesso è disponibile inoltre nelle funzionalità di richiesta configurazione del modulo UIR. In questo modo già nella richiesta di configurazione del servizio è possibile predisporre il filtro.

Nel servizio di esecuzione il filtro di job può essere controllato attraverso la /COPY £IQ3, attraverso i seguenti richiami:

  • Inizializzazione, viene verificato se il filtro è stato effettivamente impostato o meno. Questo richiamo va eseguito una sola volta per ogni richiamo del servizio.
C EVAL £IQ3FU='CAR'
C EVAL £IQ3ME='VAL'
C EVAL £IQ3OG=ClasseOggetto
C EVAL £IQ3FL='E/*JOB'
C EXSR £IQ3

  • Se è non è presente alcun campo di filtro si spegne un indicatore di riferimento
C IF £IQR3I(1)=' '
C EVAL XINQ3=*OFF

  • Viceversa lo si accende e si inizializza il filtro
C ELSE
C EVAL XINQ3=*ON
C EVAL £IQ3FU='CTR'
C EVAL £IQ3ME='RECINI'
C EVAL £IQ3OG=ClasseOggetto
C EVAL £IQ3FL='E/*JOB'
C EXSR £IQ3
C ENDIF

  • A seguire a seconda che le righe della selezione vengano accedute attraverso l'SQL o attraverso una scansione RPG è possibile:
    • Avere in ritorno la stringa WHERE SQL corrispondente al filtro (e di conseguenza concatena alla stringa sql utilizzata per l'apertura del cursore)
    • Eseguire per ogni riga letta tramite la scansione RPG il controllo della compatibilità del record rispetto al filtro.
  • Ritorno Stringa WHERE SQL,
C EVAL £IQ3FU='CARFMT'
C EVAL £IQ3ME='SQL'
C EVAL £IQ3OG=ClasseOggetto
C EVAL £IQ3FL='E/*JOB'
C EXSR £IQ3
C EVAL XWHERE=£IQ3OU

  • Controllo del singolo record,
C EVAL £IQ3FU='CTR'
C EVAL £IQ3ME='RECCHK'
C EVAL £IQ3ID=CodiceOggetto
C EVAL £IQ3IN=DSdelRecord
C EVAL £IQ3OG=ClasseOggetto
C EVAL £IQ3FL='E/*JOB'
C EXSR £IQ3
C IF *IN35
C ITER
C ENDIF

E' consuetudine, inoltre aggiungere come popup di servizio sempre, la funzione di richiamo del filtro, tramite il tasto F13. Per questo nell'xml di popup va effettuato il richiesto che permette di avere in ritorno il relativo xml da accodare.

  • Invio xml popup F13,
C EXSR £JAX_APOP_I

C EVAL £IQ3FU='POP'
C EVAL £IQ3ME='F13'
C EVAL £IQ3OG=Classe Oggetto
C EVAL £IQ3FL='E/*JOB'
C EXSR £IQ3
C IF £IQ3OU<>' '
C EVAL £JAXCP=£IQ3OU
C EXSR £JAX_ADD
C ENDIF

C EXSR £JAX_APOP_F

Add new attachment

Only authorized users are allowed to upload new attachments.
«