-939   ROLLBACK REQUIRED DUE TO UNREQUESTED ROLLBACK OF A REMOTE SERVER

Explanation

A dynamic commit was executed preceding the execution of this request. The remote server to which the application was CONNECTed during the dynamic COMMIT successfully committed. However, at least one other remote server (which was read-only) rolled back its portion of the distributed unit of work during the dynamic commit.

To ensure that an application that uses cursor-hold cursors does not incorrectly assume cursor position is being maintained at any remote server that rolled back, the application must perform a rollback operation.

Communications are still established with all remote servers.

System action

In the IMS™ and CICS® environments, all SQL statements are rejected until the rollback occurs. In the other environments, all SQL statements other than a static ROLLBACK are rejected until a static ROLLBACK is executed.

Programmer response

Issue the appropriate (depending on the environment) request to cause a rollback. Re-establish any cursor positioning and continue the application with the first request that received the -939 SQLCODE.

SQLERRP contains the name of the module that detected the previous failure and placed the application in the must-abort state.

SQLSTATE

51021