Running a batch CA Datacom SQL query using utility DBSQLPR fails with the following error message;
SQLCODE = -137, SQLSTATE=57S03, DB RETURN CODE = 91(112)
MESSAGE = PLAN OPTION CBSIO EXCEEDED
The following parameter has been added to the job to turn off CBSIO limit but it does not resolve the problem:
//OPTIONS DD *
CBSIO=0
/*
Release : 15.1
Component : CA Datacom/DB
The -137 message text is a little misleading. While the -137 could be due to the CBSIO exceeded, look at the CA Datacom return code 91(112) for the real reason.
The internal return code 112 documentation states:
SELECT ENDED, EXCESSIVE FAILURES
During the execution of the SELFR command, the number of data records rejected exceeded the limit
set by the MUF startup option CBS optional parameter maxstio.
Choose a different selection (CA Ideal™ for CA Datacom® WHERE clause) that locates records more directly,
builds a new key to access the records directly, or increases the limit set in the MUF startup option CBS
and restarts the Multi-User Facility.
To resolve the problem either increase the value for maxstio or set it to 0 for no limit.
Maxstio is the 4th parameter in the CBS startup option:
CBS 6,2M,0,0,16,1006 CBS DBID,BFR(TSKS*1K),MXST EN,MXSTIO,
* MAXAGE,CBS-HEURISTIC DBID
Alternatively, use the console command CBS_MAXSTIO to change it temporarily.
The command can be executed as a z/OS console command:
f mufjob,CBS_MAXSTIO 0
Or by running DBUTLTY with the COMM OPTION=CONSOLE function:
//SYSIN DD *
COMM OPTION=CONSOLE,OPTION2='CBS_MAXSTIO 0'
/*