Updating runtime application program resource and descriptor definitions with the UPDATE command

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.

  1. Check for work in progress using a QRY PGM SHOW(WORK) command. If there is work in progress, either:
    1. Wait for the work to finish.
    2. Address the work in progress. Examples of work in progress include a command being in progress for the program or the program being scheduled.
  2. 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:
    1. Delete the conflicting transaction definitions that reference the program.
    2. 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.
  3. 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.
  4. 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.
  5. 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 13 Commands, Volume 2: IMS Commands N-V.