Updating runtime transaction resource and descriptor definitions with the UPDATE command

With dynamic resource definition (DRD) enabled, you can update runtime 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 a transaction if it is in use. If a transaction is in use, the update fails. In a local queues environment, if there are queued messages for the transaction, the update fails. In a shared queues environment, if there are queued messages for the transaction, the update succeeds.

Update runtime transaction resource and descriptor definitions using the UPDATE TRAN and UPDATE TRANDESC commands.

  1. Check for work in progress by using a QRY TRAN SHOW(WORK) command and either wait for the work to finish or address the work in progress. Examples of work in progress are a command in progress for the transaction, a scheduled transaction, a transaction in conversation, or a suspended transaction.
    • To wait for work in progress to complete, issue either a /PURGE TRAN or UPDATE TRAN STOP(Q) command to stop the transaction from being queued, but to allow existing queued messages to be processed.
    • If you do not want to wait for work in progress, or if the transaction is a WFI transaction, or if the transaction is running in a PWFI=Y MPP region, stop the transaction by issuing a /STOP TRAN or UPDATE TRAN STOP(SCHD,Q) command. If you are stopping the transaction in a non-shared queues environment, no messages can be queued for the transaction. To dequeue messages for the transaction, issue the QUEUE TRAN OPTION(DEQALL) command.
  2. The next step varies depending on where the transaction is running.
    • If the transaction is running in an IFP region, terminate the program by issuing a /STOP REGION.
    • If the transaction is a non-WFI transaction running in a message-driven BMP, either wait for the program to finish, or terminate the program by issuing a /STOP REGION command.
    • If the transaction is a WFI transaction running in a message-driven BMP, terminate the program by issuing a /STOP REGION command.
  3. If the transaction has messages on the suspend queue, and you are running in a non-shared queues environment, you must either:
    • Process the messages on the suspend queue.
    • Delete the messages. To delete the messages on the suspend queue, stop the transaction by issuing a /STOP TRAN or UPDATE TRAN STOP(SCHD) command.
    1. Move the messages to the ready queue by issuing either a /DEQ SUSPEND or UPDATE TRAN START(SUSPEND) command.
    2. After the messages are on the ready queue, you can delete them by issuing a QUEUE TRAN OPTION(DEQALL) command.
  4. Issue the UPDATE TRAN or UPDATE TRANDESC command for the resource or descriptor definition you want to update, respectively.

For the details about parameters for the UPDATE and QUERY commands, see IMS Version 13 Commands, Volume 2: IMS Commands N-V.