How can I verify if my transactions which access the CA Datacom/DB MUF using CA Datacom CICS Services are setup to run Threadsafe?
search cancel

How can I verify if my transactions which access the CA Datacom/DB MUF using CA Datacom CICS Services are setup to run Threadsafe?

book

Article ID: 19090

calendar_today

Updated On:

Products

Datacom DATACOM - AD Ideal Database Analyzer (IMS Tools) Mainframe Configuration Manager for IMS for z/OS IMS TOOLS - MISC Compress Data Compression (IMS Tools) Database Analyzer for IMS for z/OS Database Copier for IMS for z/OS Database Organizer for IMS for z/OS Mainframe Extended Terminal Manager (IMS Tools) High Performance Recovery for IMS for z/OS Database Organizer (IMS Tools) Mainframe Program Restart Manager for IMS for z/OS Secondary Index Builder for IMS for z/OS Secondary Index for IMS for z/OS CIS COMMON SERVICES FOR Z/OS 90S SERVICES DATABASE MANAGEMENT SOLUTIONS FOR DB2 FOR Z/OS COMMON PRODUCT SERVICES COMPONENT Common Services CA ECOMETER SERVER COMPONENT FOC Easytrieve Report Generator for Common Services INFOCAI MAINTENANCE IPC UNICENTER JCLCHECK COMMON COMPONENT Mainframe VM Product Manager CHORUS SOFTWARE MANAGER CA ON DEMAND PORTAL CA Service Desk Manager - Unified Self Service PAM CLIENT FOR LINUX ON MAINFRAME MAINFRAME CONNECTOR FOR LINUX ON MAINFRAME GRAPHICAL MANAGEMENT INTERFACE WEB ADMINISTRATOR FOR TOP SECRET Xpertware

Issue/Introduction

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

Environment

Release: DATABB00200-14-Datacom/AD
Component: