PGM PARM(&INAME &ONAME &INMBR &REPOPT &CRTFILE + &STMF) DCL VAR(&INAME ) TYPE(*CHAR) LEN(20) DCL VAR(&INFILE ) TYPE(*CHAR) LEN(10) DCL VAR(&INMBR ) TYPE(*CHAR) LEN(10) DCL VAR(&INLIB ) TYPE(*CHAR) LEN(10) DCL VAR(&ONAME ) TYPE(*CHAR) LEN(20) DCL VAR(&OUTFILE) TYPE(*CHAR) LEN(10) DCL VAR(&OUTLIB ) TYPE(*CHAR) LEN(10) DCL VAR(&REPOPT ) TYPE(*CHAR) LEN(8) DCL VAR(&CRTFILE) TYPE(*CHAR) LEN(4) DCL VAR(&STMF ) TYPE(*CHAR) LEN(256) DCL VAR(&FILLEN ) TYPE(*DEC) LEN(15 0) /* */ MONMSG MSGID(CPF9800) EXEC(GOTO CMDLBL(ENDLABEL)) /* */ CHGVAR VAR(&INFILE) VALUE(%SST(&INAME 1 10)) CHGVAR VAR(&INLIB ) VALUE(%SST(&INAME 11 10)) CHGVAR VAR(&OUTFILE) VALUE(%SST(&ONAME 1 10)) CHGVAR VAR(&OUTLIB ) VALUE(%SST(&ONAME 11 10)) /* */ CHKOBJ OBJ(&INLIB/&INFILE) OBJTYPE(*FILE) MBR(&INMBR) /* */ IF COND((&CRTFILE *EQ '*NO') *AND (&OUTFILE *NE + '*STMF')) THEN(DO) CHKOBJ OBJ(&OUTLIB/&OUTFILE) OBJTYPE(*FILE) ENDDO /* */ DSPFFD FILE(&INLIB/&INFILE) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/DSPFFDF) OVRDBF FILE(DSPFFDF) TOFILE(QTEMP/DSPFFDF) /* */ IF COND(&OUTFILE *EQ '*STMF') THEN(DO) CHGVAR VAR(&OUTLIB) VALUE('QTEMP') CHGVAR VAR(&OUTFILE) VALUE('CSVPF') ENDDO /* */ IF COND(&CRTFILE *EQ '*YES') THEN(DO) CALL PGM(DBTOCSVL) PARM(&FILLEN) CRTPF FILE(&OUTLIB/&OUTFILE) RCDLEN(&FILLEN) + IGCDTA(*YES) MONMSG MSGID(CPF0000) ENDDO /* */ IF COND(&REPOPT *EQ '*REPLACE') THEN(DO) CLRPFM FILE(&OUTLIB/&OUTFILE) MONMSG MSGID(CPF0000) ENDDO /* */ OVRDBF FILE(INPUT) TOFILE(&INLIB/&INFILE) MBR(&INMBR) OVRDBF FILE(OUTPUT) TOFILE(&OUTLIB/&OUTFILE) CALL PGM(DBTOCSVR) /* */ DLTF FILE(QTEMP/DSPFFDF) MONMSG MSGID(CPF0000) IF COND(&OUTFILE *EQ 'CSVPF') THEN(DO) CPYTOSTMF + FROMMBR('/QSYS.LIB/QTEMP.LIB/CSVPF.FILE/CSV+ PF.MBR') TOSTMF(&STMF) STMFOPT(&REPOPT) + STMFCODPAG(943) DLTF FILE(QTEMP/CSVPF) ENDDO /* */ ENDLABEL: ENDPGM