PGM PARM(&OBJ &OBJTYPE &OPER) DCL &OBJ *CHAR LEN(10) DCL &OBJTYPE *CHAR LEN(7) DCL &OPER *CHAR LEN(1) /* R=Replace M=Move */ IF ((&OPER *NE 'M') *AND (&OPER *NE 'R')) THEN(DO) SNDPGMMSG MSG('Operation code must be "R" or "M" ') RETURN ENDDO IF ((&OBJTYPE *NE *PGM) *AND (&OBJTYPE *NE *FILE) *AND (&OBJTYPE + *NE *DTAARA)) THEN(DO) SNDPGMMSG MSG('Object' *BCAT &OBJ *BCAT ' must be *PGM, + *FILE, or *DTAARA') RETURN ENDDO CHKOBJ BLDLIB/&OBJ OBJTYPE(&OBJTYPE) MONMSG MSGID(CPF9801) EXEC(DO) SNDPGMMSG MSG('Object or object type does not exist + in BLDLIB') RETURN ENDDO IF (&OPER *EQ 'M') THEN(DO) MOVOBJ BLDLIB/&OBJ OBJTYPE(&OBJTYPE) TOLIB(PRODLIB) MONMSG MSGID(CPF3208) EXEC(DO) SNDPGMMSG MSG('Object' *BCAT &OBJ *BCAT ' + already exists in PRODLIB') RETURN ENDDO CHKOBJ PRODLIB/&OBJ OBJTYPE(&OBJTYPE) MONMSG MSGID(CPF9801) EXEC(DO) SNDPGMMSG MSG('Object or object type does not + exist in PRODLIB') RETURN ENDDO ENDDO RETURN ENDPGM
The object name, object type, and operation code are passed from another program or procedure. Checks are performed to see that the operation code and object type are correct, and that the object exists in the test library. The object is moved unless it already exists in the production library. The move is then confirmed. More commands can be added to grant additional authority to the object or to handle additional exceptions and additional object types.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.