PGM PARM(&FICLIB &SRCFICLIB &SRCMBR &MBROPT)
DCL VAR(&FICLIB) TYPE(*CHAR) LEN(20)
DCL VAR(&SRCFICLIB) TYPE(*CHAR) LEN(20)
DCL VAR(&FIC) TYPE(*CHAR) LEN(10)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFIC) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCMBR) TYPE(*CHAR) LEN(10)
DCL VAR(&MBROPT) TYPE(*CHAR) LEN(8)
DCL VAR(&MSG) TYPE(*CHAR) LEN(256)
DCL VAR(&MSGLEN) TYPE(*DEC) LEN(5 0)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERREUR))
CHGVAR VAR(&FIC) VALUE(%SST(&FICLIB 1 10))
CHGVAR VAR(&LIB) VALUE(%SST(&FICLIB 11 10))
CHGVAR VAR(&SRCFIC) VALUE(%SST(&SRCFICLIB 1 10))
CHGVAR VAR(&SRCLIB) VALUE(%SST(&SRCFICLIB 11 10))
IF COND(&SRCMBR = '*FILE') THEN(CHGVAR +
VAR(&SRCMBR) VALUE(&FIC))
 
CHKOBJ OBJ(&LIB/&FIC) OBJTYPE(*FILE) AUT(*USE)
 
CHKOBJ OBJ(&SRCLIB/&SRCFIC) OBJTYPE(*FILE) +
AUT(*OBJMGT)
RETURN
 
ERREUR: RCVMSG MSGTYPE(*EXCP) MSG(&MSG) MSGLEN(&MSGLEN)
MSG: SNDPGMMSG MSGID(CPD0006) MSGF(QCPFMSG) MSGDTA('XXXX' +
*CAT %SST(&MSG 1 &MSGLEN)) MSGTYPE(*DIAG)
SNDPGMMSG MSGID(CPF0002) MSGF(*LIBL/QCPFMSG) +
MSGTYPE(*ESCAPE)
ENDPGM
|