/*----------------------------------------------------------------*/ /* OBJETIVO: ELIMINAR ARCHIVOS LOGICOS QUE PERTENECE A UN FISICO */ /* JORGE GUERRERO V. QUITO-ECUADOR */ /*----------------------------------------------------------------*/ /* INICIA PROGRAMA */ PGM PARM(&PARAMETROS) /* DECLARACION DE VARIABLES */ DCL VAR(&LIBORI) TYPE(*CHAR) LEN(10) DCL VAR(&ARCORI) TYPE(*CHAR) LEN(10) DCL VAR(&PARAMETROS) TYPE(*CHAR) LEN(20) /* DECLARACION ARCHIVO TEMPORAL */ DCLF FILE(QTEMP/LOGICOS) /*CAMBIO DE VALORES EN VARIABLES */ CHGVAR VAR(&ARCORI) VALUE(%SST(&PARAMETROS 1 10)) CHGVAR VAR(&LIBORI) VALUE(%SST(&PARAMETROS 11 10)) /*VERIFICO QUE EXISTA LIBRERIA */ CHKOBJ OBJ(QSYS/&LIBORI) OBJTYPE(*LIB) MONMSG MSGID(CPF9801) EXEC(DO) SNDPGMMSG MSGID(CPF9801) MSGF(QCPFMSG) MSGDTA(&LIBORI) GOTO CMDLBL(FIN) ENDDO /*VERIFICO QUE EXISTA ARCHIVO */ CHKOBJ OBJ(&LIBORI/&ARCORI) OBJTYPE(*FILE) MONMSG MSGID(CPF9801) EXEC(DO) SNDPGMMSG MSGID(CPF9801) MSGF(QCPFMSG) MSGDTA(&ARCORI) GOTO CMDLBL(FIN) ENDDO /* GENERO ARCHIVO DE TEMPORAL CON ARCHIVOS LOGICOS */ DSPDBR FILE(&LIBORI/&ARCORI) OUTPUT(*OUTFILE) + OUTFILE(QTEMP/LOGICOS) MONMSG MSGID(CPF6891) EXEC(DO) SNDPGMMSG MSGID(CPF6891) MSGF(QCPFMSG) MSGDTA(&LIBORI) SNDPGMMSG MSGID(CPF6891) MSGF(QCPFMSG) MSGDTA(&ARCORI) ENDDO /* VERIFICO QUE SE CREA ARCHIVO TEMPORAL */ CHKOBJ OBJ(QTEMP/LOGICOS) OBJTYPE(*LIB) MONMSG MSGID(CPF9801) EXEC(DO) SNDPGMMSG MSGID(CPF9801) MSGF(QCPFMSG) MSGDTA(QTEMP) GOTO CMDLBL(FIN) ENDDO /* LEO ARCHIVO TEMPORAL CON NOMBRE DE LOS ARCHIVOS LOGICOS */ /* HASTA FIN DE ARCHIVO */ LEER: RCVF RCDFMT(QWHDRDBR) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(FIN)) /* ELIMINO ARCHIVOS LOGICOS */ DLTF FILE(&WHRELI/&WHREFI) MONMSG MSGID(CPC2191) EXEC(SNDPGMMSG MSGID(CPF2191) + MSGF(QCPFMSG) MSGDTA(&WHREFI)) GOTO CMDLBL(LEER) FIN: ENDPGM