Updating application programs and application program descriptors dynamically

Use the type-2 command UPDATE PGM to update certain attributes of the definition of an application program dynamically. Use the type-2 command UPDATE PGMDESC to update an application program descriptor.

The PGM and PGMDESC parameters of the UPDATE command are valid in DB/DC, DBCTL, and DCCTL systems.

You cannot specify the UPDATE PGM command or the UPDATE PGMDESC command in an XRF alternate IMS system or in an FDBR region.

If there is work in progress for the application program, you cannot update application program definitions. 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, the UPDATE PGM command updates a program even if there are messages queued for transactions that reference the program. If there are conflicts within a single IMS between the program attributes being changed and the attributes of the transactions and routing codes that reference the program, the update fails. However, if there are conflicts between the program attributes being changed and the attributes of messages queued for transactions that reference the program, this will not cause the update to fail. You must be careful when updating a program in a shared-queues environment to set the attributes consistently between programs, transactions, and routing codes across all IMS systems in the shared queues group. In a sysplex environment with multiple IMS systems, the update might succeed on some IMS systems and fail on others.

Changing RESIDENT(N) to RESIDENT(Y) takes effect at the next restart.

You must stop an application program before issuing an UPDATE PGM command if you are updating any of the following attributes of the application program definition:

  • DOPT
  • FP
  • GPSB
  • LANG
  • PGMTYPE
  • RESIDENT
  • SCHDTYPE

If DRD is not enabled, the LOCK and TRANSTAT attributes are the only application program attributes that you can set by using the UPDATE PGM command.

For application programs delivered as part of the IMS product, you can issue the UPDATE PGM command with the following parameters:

  • START
  • STOP
  • SET(LOCK(ON|OFF))
  • SET(TRANSTAT(Y|N))

If you use the UPDATE PGM command to change any of the following attributes of an application program that has a MODBLKS definition type, the definition type of the application program changes to UPDATE, as displayed by the QUERY PGM command:

  • DOPT
  • FP
  • GPSB
  • LANG
  • PGMTYPE
  • SCHDTYPE
  • TRANSTAT

You cannot update any of the following attributes of an application program if DRD is not enabled:

  • DOPT
  • FP
  • GPSB
  • LANG
  • PGMTYPE
  • RESIDENT
  • SCHDTYPE

By using the UPDATE PGM START(REFRESH) command, you can roll out the application program change easily without having to figure out all the regions the program is scheduled in and stopping the regions manually.

The UPDATE PGM START(REFRESH) command is supported for programs scheduled in the following region types:
  • MPP pseudo-wait-for-input (PWFI) regions in which the program is scheduled and the program is not preloaded by the DFSMPLxx PROCLIB member
  • JMP PWFI regions in which the specified program name is scheduled
  • MPP, JMP, and message-driven BMP regions in which the program is scheduled and that are running a transaction defined as WFI=YES

The UPDATE PGM START(REFRESH) command is not supported for MPP regions where the program is loaded by the DFSMPLxx PROCLIB member, IFP regions, JBP regions, and non-message driven BMP regions.