CL Programming
A number of the IBM display commands allow you to place the output from the
command into a database file (OUTFILE parameter). The data in this file
can be received directly into a CL procedure or program and processed.
The following CL procedure accepts two parameters, a user name and a
library name. The procedure determines the names of all programs,
files, and data areas in the library and grants normal authority to the
specified users.
PGM PARM(&USER &LIB)
DCL &USER *CHAR 10
DCL &LIB *CHAR 10
(1) DCLF QSYS/QADSPOBJ
(2) DSPOBJD OBJ(&LIB/*ALL) OBJTYPE(*FILE *PGM *DTAARA) +
OUTPUT(*OUTFILE) OUTFILE(QTEMP/DSPOBJD)
(3) OVRDBF QADSPOBJ TOFILE(QTEMP/DSPOBJD)
(4) READ: RCVF
(5) MONMSG CPF0864 EXEC(RETURN) /* EXIT WHEN END OF FILE REACHED */
(6) GRTOBJAUT OBJ(&ODLBNM/&ODOBNM) OBJTYPE(&ODOBTP) +
USER(&USER) AUT(*CHANGE)
GOTO READ /*GO BACK FOR NEXT RECORD*/
ENDPGM
- (1)
- The declared file, QADSPOBJ in QSYS, is the IBM-supplied file that is used
by the DSPOBJD command. This file is the primary file which is referred
to by the command when creating the output file. It is referred to by
the CL compiler to determine the format of the records and to declare
variables for the fields in the record format.
- (2)
- The DSPOBJD command creates a file named DSPOBJD in library QTEMP.
This file has the same format as file QADSPOBJ.
- (3)
- The OVRDBF command overrides the declare file (QADSPOBJ) to the file
created by the DSPOBJD command.
- (4)
- The RCVF command reads a record from the DSPOBJD file. The values
of the fields in the record are copied into the corresponding CL variables,
which were implicitly declared by the DCLF command. Because the OVRDBF
command was used, the file QTEMP/DSPOBJD is read instead of QSYS/QADSPOBJ (the
file QSYS/QADSPOBJ is not read).
- (5)
- Message CPF0864 is monitored. This indicates that the end of file
has been reached, so the procedure returns control to the calling
procedure.
- (6)
- The GRTOBJAUT command is processed, using the variables for object name,
library name and object type, which were read by the RCVF command.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.