Reproduce and run this CL program on IBMi
/* -------------------------------------------------------------- */
/* PROGRAM: UTLC502 */
/* CL PROGRAM TO MAKE */
/* 1. A LIST OF ALL OBJECTS IN A LIBRARY */
/* (FILE: UTLP501) */
/* 2. A LIST OF ALL PROGRAMS IN A LIBRARY */
/* (FILE: UTLP502) */
/* THIS PROGRAM MAY BE RUN MULTIPLE TIMES, ONCE FOR EACH */
/* LIBRARY TO ANALYSE */
/* */
/* PARMS */
/* &FROM_LIB - LIBRARY WE WANT TO ANALYSE */
/* &TO_LIB - LIBRARY TO STORE OBJECT DATA */
/* &ACTION - *ADD OR *REPLACE */
/* (*ADD CAN BE USED IF MORE THAN ONE LIBRARY */
/* TO ANALYSE) */
/* -------------------------------------------------------------- */
/* Usage: */
/* -------------------------------------------------------------- */
/* Clean up and run if data already exists */
/* CALL UTLC501 PARM(('OBJ_LIB1') ('UTL_LIB') ('*REPLACE')) */
/* Where: */
/* OBJ_LIB1 is where your programs reside */
/* UTL_LIB is where you want to store this file */
/* */
/* Add information from additional library: */
/* CALL UTLC501 PARM(('OBJ_LIB2') ('UTL_LIB') ('*ADD')) */
/* -------------------------------------------------------------- */
PGM PARM(&FROM_LIB &TO_LIB &ACTION)
DCL VAR(&FROM_LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&TO_LIB) TYPE(*CHAR) LEN(10)
DCL VAR(&ACTION) TYPE(*CHAR) LEN(10)
/* Make list of all objects */
DSPOBJD OBJ(&FROM_LIB/*ALL) OBJTYPE(*ALL) +
OUTPUT(*OUTFILE) OUTFILE(&TO_LIB/UTLP501) +
OUTMBR(*FIRST &ACTION)
/* Make list of all programs */
DSPOBJD OBJ(&FROM_LIB/*ALL) OBJTYPE(*PGM) +
OUTPUT(*OUTFILE) OUTFILE(&TO_LIB/UTLP502) +
OUTMBR(*FIRST &ACTION)
ENDPGM