DCA113W Smart/RRSAF invoked in a TSO Batch Environment - Run as MVS batch
search cancel

DCA113W Smart/RRSAF invoked in a TSO Batch Environment - Run as MVS batch

book

Article ID: 269009

calendar_today

Updated On:

Products

Smart RRSAF

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:

Converting Existing Jobstreams 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>.