With dynamic resource definition (DRD) enabled,
you can update runtime application program resources and resource
descriptors dynamically, eliminating the need to use the online change
process or the batch system definition process with an IMS cold start.
You cannot update application program resource
definitions if there is work in progress for the application program.
In a local queues environment, if there are queued messages for transactions
associated with the program being updated, the update fails. In a
shared queues environment, if there are queued messages for a transaction
that is associated with the program being updated, the update succeeds.
However, the update might succeed on some IMS systems
and fail on others.
Update runtime application program resource and descriptor
definitions using the UPDATE PGM and UPDATE
PGMDESC commands.
Procedure
- Check for work in progress using a QRY PGM SHOW(WORK) command.
If there is work in progress, either:
- Wait for the work to finish.
- Address the work in progress.
Examples of
work in progress include a command being in progress for the program
or the program being scheduled.
- Check whether any transactions reference the program using
a QRY PGM SHOW(TRAN) command.
If any
of the program attributes you plan to update (such as FP or BMPTYPE)
conflict with any transactions that reference the program, before
updating the program definition, you must either:
- Delete the conflicting transaction definitions that
reference the program.
- Update the transaction definitions to reference a different
program before updating the program.
To delete a transaction, issue a DELETE
TRAN command. To update a transaction, issue an UPDATE
TRAN command.
- If the FP attribute is being changed from FP(E) to FP(N),
determine whether any routing codes reference the program by using
a QRY PGM SHOW(RTC) command.
If there
are routing codes that reference the program, before updating the
program definition, you must either:
- Delete all the routing codes that reference the program.
- Update the routing code definitions to reference a different
program before updating the program.
To delete a routing code associated with an FP(E) transaction,
issue a DELETE TRAN command. To delete a routing
code associated with an FP(P) transaction, issue a DELETE
RTC command.
- The next step varies depending on where the application
program is running.
- If the program is running in an IFP region, issue a /STOP
REGION command to terminate the program.
- If the program is running in a BMP or JBP region, either wait
for the program to finish, or issue a /STOP REGION command
to terminate the program.
- If the program is a BMP that is processing a WFI transaction,
issue a /STOP REGION command to terminate the program.
- If the program is running in an MPP or JMP region, issue a /STOP
PGM or UPDATE PGM STOP(SCHD) command
to terminate the program.
- Issue the UPDATE PGM or UPDATE
PGMDESC command specifying the values you want to change
for the application program or descriptor definitions, respectively.
If all the attributes specified by the UPDATE command
are already defined for the resource, no update is made, no resources
are quiesced, no log record is created, and a completion code of zero
is returned. This avoids unnecessary overhead when no action needs
to be taken.
For the details about parameters for the UPDATE and QUERY commands,
see IMS Version 15.4 Commands, Volume 2: IMS Commands N-V.