Previous Topic: Operand DefinitionsNext Topic: DISPLAY AUTHORIZATION Command


Important User Considerations

If the application to disable is running in multiple CICS regions or partitions, you must execute the DISABLE command from a session in each CICS. This is true for each “stand‑alone” CICS region and each MRO region.

When the “DISABLE time” arrives, the users running the specified application are not immediately purged. Their runs are aborted at the next transaction boundary (when they press a PF key or the Enter key or when a panel is transmitted) after the disable time arrives. With programs and panels in VLS format, the enqueues on those programs and panels are not released until the run is actually aborted. If a user left the terminal before the disable time arrives, those enqueues are not released until the user returns and presses the Enter key or a PF key.

These enqueues prevent the Object Transport utility from running or a new version of a program from being marked to PROD status, because they attempt an exclusive enqueue on those programs and panels. In this case, eliminating these enqueues requires you issue a DEQUEUE command for each program and panel enqueued before running the Object Transport utility or issuing the MARK STATUS command. This is not a problem for application programs and panels in load module format since the run‑time executor does not use enqueues in this case.

The program name specified in the DISABLE command must be the same program name specified in the RUN command. If the user specifies a subprogram name instead of the RUN or main program name, no error message is produced, but the command is ignored.

If a new version of a program is replaced and it is used by multiple applications, each of those applications must be disabled. If a new version of a program is replaced without issuing a DISABLE command or in some way making sure that all users are off the application, different kinds of internal errors can occur. The most common error indicates that the updateable and reentrant portion of a program are not synchronized. If the updateable portion of a program is in CICS temporary storage while the reentrant portion of the program is replaced, the next time that part of a program is loaded into memory this synchronization error is detected.

The DISABLE command stays in effect until it is explicitly released with the ENABLE command or until CICS is shut down and restarted.