cpp de commande lstf4

BoTTom |
             PGM        PARM(&PARAM1 &PARAM &FMT)
 
             DCL        VAR(&PARAM1) TYPE(*CHAR) LEN(20)
             DCL        VAR(&PARAM) TYPE(*CHAR) LEN(104)
             DCL        VAR(&LIST) TYPE(*CHAR) LEN(32)
             DCL        VAR(&MBR) TYPE(*CHAR) LEN(10)
             DCL        VAR(&FMT) TYPE(*CHAR) LEN(10)
             DCL        VAR(&FICH) TYPE(*CHAR) LEN(10)
             DCL        VAR(&LIB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&DEB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&FIN) TYPE(*CHAR) LEN(10)
             DCL        VAR(&NBLC) TYPE(*CHAR) LEN(2)
             DCL        VAR(&NBLP) TYPE(*DEC) LEN(2 0)
             DCL        VAR(&POINT) TYPE(*DEC) LEN(1 0)
             DCL        VAR(&DEPC) TYPE(*CHAR) LEN(2)
             DCL        VAR(&DEPP) TYPE(*DEC) LEN(2 0)
             DCL        VAR(&COMPT) TYPE(*DEC) LEN(1 0) VALUE(1)
             CHGVAR     VAR(&FICH) VALUE(%SST(&PARAM1 1 10))
             CHGVAR     VAR(&LIB) VALUE(%SST(&PARAM1 11 10))
             CHGVAR     VAR(&NBLC) VALUE(%SST(&PARAM 1 2))
             CHGVAR     VAR(&NBLP) VALUE(%BIN(&NBLC))
             IF         COND(&NBLP = 0) THEN(GOTO CMDLBL(FORCE))
 
 BOUCLE:     CHGVAR     VAR(&POINT) VALUE((&COMPT * 2) + 1)
             CHGVAR     VAR(&DEPC) VALUE(%SST(&PARAM &POINT 2))
             CHGVAR     VAR(&DEPP) VALUE(%BIN(&DEPC))
             CHGVAR     VAR(&DEPP) VALUE(&DEPP + 1)
             CHGVAR     VAR(&LIST) VALUE(%SST(&PARAM &DEPP 32))
             CHGVAR     VAR(&MBR) VALUE(%SST(&LIST 3 10))
             CHGVAR     VAR(&DEB) VALUE(%SST(&LIST 13 10))
             CHGVAR     VAR(&FIN) VALUE(%SST(&LIST 23 10))
             CPYF       FROMFILE(&LIB/&FICH) TOFILE(*PRINT) +
                          FROMMBR(&MBR) FROMRCD(&DEB) TORCD(&FIN) +
                          OUTFMT(&FMT)
             CHGVAR     VAR(&COMPT) VALUE(&COMPT + 1)
             IF         COND(&COMPT *LE &NBLP) THEN(GOTO +
                          CMDLBL(BOUCLE))
             RETURN
 /* FORCE COPIE SI NBR = 0 (VAL PAR DFT DE LA CDE ) */
 FORCE:      CPYF       FROMFILE(&LIB/&FICH) TOFILE(*PRINT) +
                          FROMMBR(*FIRST) FROMRCD(*START) TORCD(*END) +
                          OUTFMT(&FMT)
 FIN:        ENDPGM




©AF400