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:
| 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
- 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.
- 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.
- 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).
- /DISPLAY MODIFY and other commands are issued to resolve the work in progress that might cause the commit to fail.
- 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.