PGM (&FILE &FILE1 &TYPO) DCL &FILE *CHAR 20 DCL &FILE1 *CHAR 20 DCL &TYPO *CHAR 4 DCL &OBJ *CHAR 10 DCL &OBJ1 *CHAR 10 DCL &LIB *CHAR 10 DCL &LIB1 *CHAR 10 DCL &OBJATR *CHAR 10 CHGVAR &OBJ %SST(&FILE 01 10) CHGVAR &LIB %SST(&FILE 11 10) CHGVAR &OBJ1 %SST(&FILE1 01 10) CHGVAR &LIB1 %SST(&FILE1 11 10) CHKOBJ QSYS/&LIB *LIB MONMSG MSGID(CPF0000) EXEC(DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No se + ha encontrado la biblioteca ' || &LIB) + MSGTYPE(*DIAG) GOTO END_PGM ENDDO CHKOBJ QSYS/&LIB1 *LIB MONMSG MSGID(CPF0000) EXEC(DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No se + ha encontrado la biblioteca ' || &LIB1) + MSGTYPE(*DIAG) GOTO END_PGM ENDDO CHKOBJ &LIB/&OBJ *FILE MONMSG MSGID(CPF0000) EXEC(DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No se + ha encontrado el archivo ' || &OBJ |< ' + en Biblioteca ' || &LIB) MSGTYPE(*DIAG) GOTO END_PGM ENDDO CHKOBJ &LIB1/&OBJ1 *FILE MONMSG MSGID(CPF0000) EXEC(DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('No se + ha encontrado el archivo ' || &OBJ1 |< ' + en Biblioteca ' || &LIB1) MSGTYPE(*DIAG) GOTO END_PGM ENDDO RTVOBJD OBJ(&LIB/&OBJ) OBJTYPE(*FILE) OBJATR(&OBJATR) IF (&OBJATR ¬= 'PF ') (DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('El + Objeto ' || &OBJ |< ' de la Biblioteca ' + || &LIB |< ', no es un archivo físico') + MSGTYPE(*DIAG) GOTO END_PGM ENDDO RTVOBJD OBJ(&LIB1/&OBJ1) OBJTYPE(*FILE) OBJATR(&OBJATR) IF (&OBJATR ¬= 'PF ') (DO) SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('El + Objeto ' || &OBJ1 |< ' de la Biblioteca ' + || &LIB1 |< ', no es un archivo físico') + MSGTYPE(*DIAG) GOTO END_PGM ENDDO IF (&TYPO = '*FLD') DO DSPFFD FILE(&LIB/&OBJ) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/FFD001) DSPFFD FILE(&LIB1/&OBJ1) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/FFD002) ENDDO ELSE DO DSPFFD FILE(&LIB/&OBJ) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/FFD001) DSPFFD FILE(&LIB1/&OBJ1) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/FFD002) CLRPFM QTEMP/FFD001 CLRPFM QTEMP/FFD002 DSPFD FILE(&LIB/&OBJ) TYPE(*ACCPTH) + OUTPUT(*OUTFILE) OUTFILE(QTEMP/FD001) MONMSG CPF0000 EXEC(GOTO SIGUE) EXSQLSTM SQLSTM('INSERT INTO QTEMP/FFD001 (WHFLDI) + SELECT APKEYF FROM QTEMP/FD001') SIGUE: DSPFD FILE(&LIB/&OBJ) TYPE(*ACCPTH) + OUTPUT(*OUTFILE) OUTFILE(QTEMP/FD002) MONMSG CPF0000 EXEC(GOTO SIGUE1) EXSQLSTM SQLSTM('INSERT INTO QTEMP/FFD002 (WHFLDI) + SELECT APKEYF FROM QTEMP/FD002') ENDDO SIGUE1: CALL TOL026 (&OBJ &LIB &OBJ1 &LIB1 &TYPO) END_PGM: ENDPGM