Some possible uses of the PARMLIB exits are described below:
- Restrict use of the PARMLIB command to certain users
The initialization
exit can check the user ID and decide, based on your own criteria,
to continue processing the PARMLIB command or not. The exit can return
a value in parameter entry 10 to indicate that the user is authorized,
not authorized, or that the user's authority should be verified through RACF®. If the user is not authorized,
PARMLIB issues a message, otherwise processing continues.
- Change the operands that the user specifies on the command
You
can use the initialization exit to change the operands that users
specify on the PARMLIB command. The initialization exit receives
the address of the command buffer. It can change the operands the
user specifies on the PARMLIB command by using a new command buffer.
For example, the initialization exit can scan the command buffer to:
- Look for conflicts with the operands a user specifies and correct
any errors. For example, the user cannot specify both the UPDATE
and LIST operands on the PARMLIB command.
- Prevent users from specifying certain operands or certain values
for operands. For example, you could allow the user to issue the
LIST operand but not the UPDATE operand.
To check the command buffer and change its contents, the
initialization exit can:
- Scan the command buffer and decide, based on your own criteria,
to change the command the user issued
- Obtain storage for a new command buffer
- Build the new command buffer
- Update the key, length, and data fields for the new command buffer
as follows:
- Key
- X'02'
- Length
- the length of the new command buffer
- Data
- the address of the new command buffer
- Set a return code of 0 and return control to the PARMLIB command processor.
The exit must not change the command buffer it receives.
It must create a new command buffer and return the address of the
new command buffer to PARMLIB.
For more information about the
command buffer and the new command buffer, see TSO/E standard exit parameter list.
For information about the format of the command buffer, see Command buffer.
- Monitor how long it takes the PARMLIB command to complete processing.
You
can use the initialization and termination exits to monitor the approximate
time it takes the PARMLIB
command processor to complete
processing. When the initialization exit receives control, it can:
- Invoke the TIME macro
- Use the exit-to-exit communication word to return the time to
the PARMLIB command processor.
The exit updates the "Key", "Length", and "Data" fields
for the exit-to-exit communication word as follows:
- Key
- X'01'
- Length
- the length of the data (time)
- Data
- the data (time)
- Set a return code of 0 and return to the PARMLIB command processor.
When the termination exit gets control, it receives the
time from the initialization exit in the exit-to-exit communication
word. Before the termination exit returns control to PARMLIB, it
can invoke the TIME macro. The exit can calculate the time difference
between the time from the initialization exit (in the exit-to-exit
communication word) and the time it receives from issuing the TIME
macro. The result is the approximate time it took the PARMLIB command
to complete its processing. The termination exit can include the processing
time in a data set. You can then periodically print the data set and
review the time calculations.