Scenario 3: commit phase 1 fails due to work in progress

In this online change scenario, commit phase 1 fails due to work in progress. However, the INITIATE OLC PHASE(COMMIT) command eventually succeeds on all of the IMS systems, which results in overall return and reason codes of 0.

The following table identifies the command sequence and codes returned during this scenario:

Table 1. Scenario 3: command sequence and codes for failed commit phase 1
Action or event IMS A completion code IMS B completion code IMS C completion code Command return code Command reason code
INIT OLC PHASE(PREPARE) TYPE(ALL) 0 0 0 0 0
INIT OLC PHASE(COMMIT) B1 B1 4 C 3004
INIT OLC PHASE(COMMIT) B1 4 4 C 3004
/DISPLAY MODIFY and other commands none none none none none
INIT OLC PHASE(COMMIT) 0 0 0 0 0

Procedure

  1. The INITIATE OLC PHASE(PREPARE) command is issued and succeeds on all of the IMS systems. IMS A is the command master. Each IMS performs the prepare phase locally and sets a completion code of 0. IMS A sets an overall return code and reason codes of 0.
  2. The INITIATE OLC PHASE(COMMIT) command is issued, and IMS A is the command master. IMS A attempts commit phase 1 locally, but the commit phase fails due to work in progress. IMS A sets a completion code of B1 (resource state) for itself. IMS A continues processing and sends the commit phase 1 to the other IMS systems that need to report any work in progress. IMS C successfully completes commit phase 1, but IMS B has work in progress. IMS A sets a completion code of 4 (incomplete) for IMS C and quits the commit process at this point due to errors.
  3. Another INITIATE OLC PHASE(COMMIT) command is issued; IMS A is the master again. IMS A again attempts commit phase 1 locally, which fails due to work in progress. IMS A sends commit phase 1 to IMS B and IMS C. IMS B successfully completes commit phase 1. IMS C returns a completion code indicating that it is already in the correct state. IMS A quits the commit due to errors and sets the completion code to 4 (incomplete) for IMS B and IMS C. IMS A sets an overall return code of C and a reason code of 3004 (failed for all IMS systems).
  4. /DISPLAY MODIFY and other commands are issued to resolve the work in progress that might cause the commit to fail.
  5. A final INITIATE OLC PHASE(COMMIT) command is issued. All of the IMS systems successfully complete the commit phases 1, 2, and 3 and set completion codes of 0 for themselves. The overall return code and reason code is 0. IMS A sets an overall return code and reason code of 0.