Considerations for using AR/CTL services

Consider the following points when you use AR/CTL services:

Temporary data sets

If an application program uses a temporary data set, make sure that it is not needed for restart. Because the temporary data set will not be present at restart, an application program cannot be restarted if it requires the temporary data set at restart. If the application program requires the data set at restart, change the job step to allocate a permanent data set. If the program does not require the data set at restart, you can turn off repositioning for the temporary data set in the data set options member.

Concatenated input

Change in the status of concatenated input is not supported for restart when the number of concatenations is less at restart than in the original execution.

Input sequential PDS and PDS/E members

AR/CTL supports repositioning of members of a sequential partitioned data set (PDS) or sequential extended PDS (PDS/E) for input processing.


You cannot mix PDSs and PDS/Es.

Rollback processing

In an IMS application program, IMS format rollback calls are valid only if the program uses no data services (sequential interception, local and remote VSAM, and GSAM replacement). AR/CTL passes ROLB and ROLS calls on to IMS for processing; for other IMS rollback calls, AR/CTL issues a user 778 abend for the program; AR/CTL can reattach the program and continue processing from the last checkpoint, or you can restart the program yourself. If a program issues an IMS format rollback call in an environment where IMS is not present, results are unpredictable.

If an application program is using the DSN attach method, SQL rollbacks are not supported. The application program can issue an SQL rollback if the program is using the CAF or RRS attach method; however, only the DB2 data will be rolled back in response to the SQL rollback. AR/CTL does not reposition sequential, VSAM, or ASAM files in response to an SQL rollback, and staged output is not affected by the SQL rollback.

Truncated blocks

The nature of checkpoint/restart support is that all output data held in storage is forced to be written at a checkpoint whether the block is full or not full. These truncated blocks might cause a significant increase in the total size of output data sets. You can use checkpoint pacing to prevent an excessive number of truncated blocks from occurring.


You might notice a difference in the performance of a VSAM-only application program after you implement checkpoint/restart support, file sharing support, or both. To provide this support, AR/CTL for VSAM must perform a substantial amount of work on behalf of the application program. This work includes logging changes, locking records accessed through file sharing, and tracking program progress during execution. This work is equivalent to the work that a database management system, such as IMS or DB2, performs for an application program.

Stream-oriented I/O

The repositioning performed by AR/CTL on supported data sets is based on data set records or blocks. If the application program reads or writes the data one character at a time (with a stream-oriented I/O technique), AR/CTL cannot provide repositioning for the data set.

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.