DCA113W Smart/RRSAF invoked in a TSO Batch Environment - Run as MVS batch
book
Article ID: 269009
calendar_today
Updated On:
Products
Smart RRSAFSmart Restart
Issue/Introduction
A Smart/RRSAF batch job is receiving the following message: DCA113W - Smart/RRSAF invoked in a TSO Batch Environment - Run as MVS batch
The job executes successfully when the Smart/RRSAF LOADLIB is removed from the job STEPLIB concatenation. What is the meaning and cause of DCA113W message?
Resolution
The Smart/RRSAF job is being invoked under PGM=IKJEFT01 which is resulting in the DCA113W message.
The following documentation links document steps related to converting IKJEFT01 executions to use Smart/RRSAF:
The following is some important context regarding Smart/RRSAF:
When an application runs under the DSN command in batch TSO, the Db2 Subsystem selection and connection are already made when the application program is launched. There are numerous disadvantages to this and the very beginning of the Smart/RRSAF User Guide lists them.
Smart/RRSAF replaces the various Db2 connection APIs (eg. DSNHLI, etc) with aliases to DCAHLI. If the job STEPLIB/JOBLIB contains Smart/RRSAF and has it ahead of Db2 SDSNLOAD then it will get control on the first SQL call made by the application and automatically create the Db2 connection before passing control to the Db2 API.
If the job step is launched under the TSO batch DSN command there will already be a connection and usually a failure will occur if Smart/RRSAF tries to create another. To be more user friendly Smart/RRSAF detects this situation and issues the warning message DCA113W.
To use Smart/RRSAF, add the product STEPLIB to the front of the STEPLIB/JOBLIB so that it is before the Db2 SDSNLOAD library. Then ALSO change the EXEC statement from PGM=IKJEFT01 (TSO batch) to PGM=<application name>.