Use of sync points in the client program

A client program can request that a sync point is taken by using an MVS callable service to commit or back out changes.

To commit changes instigated by the client program, use one of the following MVS callable services:
Application_Commit_UR (SRRCMIT)
For a description of Application_Commit_UR, see z/OS MVS Programming: Callable Services for High-Level Languages.
Commit_UR (ATRCMIT)
For a description of Commit_UR, see z/OS MVS Programming: Resource Recovery.
To back out changes in the client program, use one of the following MVS callable services:
Application_Backout_UR (SRRBACK)
For a description of Application_Backout_UR, see z/OS MVS Programming: Callable Services for High-Level Languages.
Backout_UR (ATRBACK)
For a description of Backout_UR, see z/OS MVS Programming: Resource Recovery.
If none of these interfaces are used, changes are committed or backed out explicitly when the client program either ends normally or abends. It is not advisable to use implicit commit or backout for the following reasons:
  • The client program cannot tell whether updates were committed or backed out. Even if the program ends normally, a resource manager might back out any changes.
  • The runtime environment for high level languages might intercept errors that would otherwise result in an operating system abend. If such an error is intercepted and the client program does not take any explicit action, the program might terminate normally and updates might be committed. Code your client program to ensure that resources are committed or backed out correctly in these situations. For example, a PL/I program can include an ON unit that issues an SRRBACK command when errors are encountered. Similarly, a COBOL program can use the ON phrase on statements that might encounter errors.