Modèle d'utilisation d'OPNQRYF

BoTTom |
             PGM
/* PGM MODELE POUR OPNQRYF                                           */
/* -----------------------                                           */
 
 
             DCL &SEL   *CHAR 650
             DCL &A1    *CHAR  ??
             DCL &A2    *CHAR  ??
             DCL &N1    *DEC  (?? ?)
             DCL &N2    *DEC  (?? ?)
             DCL &NA1    *CHAR  ??
             DCL &NA2    *CHAR  ??
 
 
/* CONTRUCTION DU QRYSLT */
 
 
/* VARIABLE CONTENANT LA SELECTION */
    CHGVAR &SEL (' ')
 
/* VARIABLE APLHA       */
             IF         COND((&A1 *NE ' ') *OR (&A2 *NE ' ')) THEN(DO)
                  IF COND(&A1 = &A2) THEN(DO)
                  CHGVAR &SEL (&SEL *BCAT 'VARA ="' *CAT &A1 *CAT '"')
                  ENDDO
                  ELSE DO
                  CHGVAR &SEL (&SEL *BCAT 'VARA =%RANGE("'  *CAT &A1 +
                               *CAT '" "' *CAT &A2 *CAT '")')
                  ENDDO
             ENDDO
 
 
/* VARIABLE NUMERIQUE   */
             IF         COND((&N1 *NE ' ') *OR (&N2 *NE ' ')) THEN(DO)
             CHGVAR &NA1 &N1 /* CVT NUMERIQUE (A LA SAISIE)      +
                                    APLHA (POUR LA CONCATENATION */
 
             CHGVAR &NA2 &N2 /* IDEM                             */
 
                  IF COND(&NA1 = &NA2) THEN(DO)
                  CHGVAR &SEL (&SEL *BCAT 'VARN =' *CAT &NA1)
                  ENDDO
                  ELSE DO
                  CHGVAR &SEL (&SEL *BCAT 'VARN =%RANGE('  *CAT &NA1 +


|
                               *BCAT &NA2 *TCAT ')')
                  ENDDO
             ENDDO
 
  /* VOIR SI CELA EST POSSIBLE                   */
      IF (&SEL = ' ') CHGVAR &SEL '*ALL'
 
  /* EXECUTION ET TRAITEMENT                     */
             OVRDBF     FILE(XXXXXXXX) SHARE(*YES)
             OPNQRYF    FILE((XXXXXXXX)) QRYSLT(&SEL) KEYFLD(*FILE)
 
             CALL ZZZZZ
 
             CLOF XXXXXXXX
             DLTOVR XXXXXXXX
      ENDPGM




©AF400