Description:
Is there a way to confirm that CA Datacom CICS Services is setup correctly to allow user transactions to run Threadsafe?
Solution:
First, we will give an overview of Threadsafe, and then explain how to see if CA Datacom CICS Services is setup to support it.
BACKGROUND
CICS open transaction environment (OTE) is an architecture that was introduced to allow CICS to make better use of the mainframe, by running more processes in parallel, increasing the throughput of work through the system and resulting in more work being done in the same amount of time. In addition, OTE can improve the performance of existing applications that access external resources managers such as CA Datacom/DB by consuming less mainframe resources in getting the job done. In order to take advantage of CICS OTE, applications must be threadsafe. This means that if the mainframe has many processors that are running in parallel, the threadsafe application runs correctly. If an application is threadsafe, it can be defined to CICS with a CONCURRENCY keyword so that it uses OTE. If an application is not threadsafe, CICS runs it without using OTE.
CICS has only one QR TCB in a region, and the CICS dispatcher shares use of the QR TCB between all the tasks. However, a single CICS system can have many open TCBs. Using OTE effectively keeps an application running on an open TCB for as long as possible and minimizes the number of times it must switch back to the QR TCB.
VERIFYING THAT CA DATACOM CICS SERVICES IS USING THREADSAFE FEATURES
First, issue this CICS transaction:
DBOC INQ=GENOPTS
At the bottom of the page returned, you can see if you have OPENAPI set to YES or NO.
DBEC=DBEC DBEX DBRC DBOC=DBOC DBIC DBKC DBUG=DBUG DBFS DBTS=DBTS DBTX OPENAPI=NO EOJ_OK=NO REQTHD=00000 EXEMPT TRANS=DBOC OPERID=***
Now, if you run transactions, you can then review the trace (transaction DBOC INQ=TRACE), and you might see something like this:
TRACE TABLE INQUIRE
SEQ TIME TASK TERM TRAN PROGRAM TCB TCB CMMD TBL KEY RTN URT NR HHMMSS ID ID ID NAME NAM ID NAM NAME CODE ID 0439 113552 103 U049 SCFD VPEHJN68 QR 002 REDKG DVW DVWKS 0002 0440 113552 103 U049 SCFD VPEHJN68 QR 002 REDKG DVW DVWKS 0002 0441 113552 103 U049 SCFD VPEHJN68 QR 002 REDLE DVW DVWKS 0002
Here you can see the TCB used is QR.
Your choices for this processing are either to use the QR TCB (the single Quasi-Reentrant CICS TCB) or the multiple L8 TCBs.
If you have OpenAPI=NO, we will keep the mode for the TCB that is in place when we make the call to DB. So if whatever was running before the DB command
was L8, we keep L8, and if whatever was running was QR, we keep QR.
However, if you are using OpenAPI=YES, we will always change to use L8, and will then restore the previous setting after the call.
We recommend that you review, download and apply these solutions if they pertain to your environment. Note that the first PTF applies to CA Datacom/DB
version 14.0, and the other two apply to CA Datacom CICS Services version 14.0.
RO33807 (DB 14.0 #25), "DBUTLTY LOAD RUNNING UNDER MULTI-USER FAILS IF ACCESS OFF" RO51648 (DBC 14.0 #26), "DBOC OR DBEC STARTUP LOOPS DURING CONNECTION IN CTS 5.1" RO59978 (DBC 14.0 #30), "ABEND DCCTPPR+2C60 ON DB RETURN CODES 01, 05, 15, 36"
For more information about the Open Transaction Environment (OTE) and CA Datacom CICS Services, please see the section "Utilizing Resources Effectively › Open Transaction Environment (OTE)" in the CA Datacom CICS Services version 14.0 System Reference Guide and the section "Open Transaction Environment" in the CA Datacom CICS Services version 14.0 User Guide. In addition, there is additional information in the section "Leveraging the IBM OTE to Increase Performance" in the CA Datacom CICS Services version 14.0 Best Pracatices Guide.
For general information about Threadsafe and CICS Transaction Server for z/OS V4.2, please see the IBM Redbook, Threadsafe Considerations for CICS, available at http://www.redbooks.ibm.com/redbooks/pdfs/sg246351.pdf