Analyzing the program dynamic analysis threadsafe report

A sample of part of the report create by the program dynamic analysis threadsafe report program.

The threadsafe report consists of a header page and one or more pages of program data. The header page lists the report options used to create the report and provides definitions for some of the terms used in the report. The remaining pages report on each program that meets the criteria specified by the report options PROGRAMNAME and REGIONNAME.

Figure 1. Example program dynamic analysis threadsafe report, header page
 CICS INTERDEPENDENCY ANALYZER VERSION Start of change3.2.0End of change                                                      2007/10/03:14.01.34    PAGE     1
 Program Dynamic Analysis - THREADSAFE DETAIL LISTING FOR CICS TS
  
 Report options:
   PROGRAMNAME=*         REGIONNAME=*         CICSLEVEL=      REPORT=DETAIL   LINESPERPAGE=60
  
  
  
 Definitions of Terms:
  
   'Threadsafe' calls are EXEC CALLS commands that do not cause a TCB swap.
  
   'Non-Threadsafe' calls are EXEC CALLS commands that cause a TCB swap.
  
   'Indeterminate Threadsafe' calls are EXEC CALLS commands where it cannot be determined if the call causes a TCB swap.
  
   'Dynamic calls' are calls to modules at execution time. Programs that are called dynamically take on the same environment
                   as the calling program.
  
   'Threadsafe Inhibitor calls' are EXEC CICS commands that need to be investigated further because they may prevent you from
                                defining your program as threadsafe. These commands are: ADDRESS CWA, EXTRACT EXIT, GETMAIN SHARED,
                                and LOAD.
Figure 2. Example programs dynamic analysis threadsafe report, main body
CICS INTERDEPENDENCY ANALYZER VERSION Start of change3.2.0End of change                                                      2007/10/03:14.01.34    PAGE     2
 Program Dynamic Analysis - THREADSAFE DETAIL LISTING FOR Start of changeCICS TSEnd of change
  
 APPLID   Program   Linkedit   Execution  Concurrency  APIST  Storage  CICS  LIB Dataset Name
                      Date        Key                         Protect  Rel
 -------- -------- ---------- ----------- ----------- ------- -------- ----- ----------------------------------
  
                   CMD  Function                 Type       Resource                         Offset   Program  Use       Threadsafe
                   Type                                                                               Length   Count
                   ---- ------------------------ ---------- -------------------------------- -------- -------- --------- ----------

 IYDZZ322 DCR78001 ---------- USER        QUASIRENT   CICSAPI ACTIVE   0650  CICSIAD.IA2.TEST.LOADLIB      	 1                                
                   CICS CREATE                   IPCONN     IPCONN01                              602     1810         1    N
                   CICS CREATE                   LIBRARY    TESTLIBR                              7DE     1810         1    N
                   CICS DISCARD                  IPCONN     IPCONN01                              764     1810         1    N
                   CICS DISCARD                  LIBRARY    TESTLIBR                              904     1810         1    N    2           
                   CICS INQUIRE                  IPCONN     IPCONN01                              72A     1810         1    Y
                   CICS INQUIRE                  LIBRARY    TESTLIBR                              8CA     1810         1    Y
                   CICS SET                      IPCONN     IPCONN01                              6E8     1810         1    Y
                   CICS SET                      LIBRARY    TESTLIBR                              834     1810         1    Y
   Total CICS calls:          8  Threadsafe:            4  Non-Threadsafe:                     4  Indeterminate Threadsafe:         0 3 
                                 DB2 calls:             0  MQ calls:                           0  IMS calls:                        0
                                 Dynamic Calls:         0  Threadsafe Inhibitor calls:         0

 1  For the detail and summary report, the programs requested by the report options PROGRAMNAME and REGIONNAME are listed. These program entries contain the following information:

APPLID
The application ID for the CICS® region from which the Collector captured the program information. This field matches the report criteria specified by the REGIONNAME report option.
Program
The name of the program for which the information is reported.
Linkedit Date
The linkedit date of the program.
Execution Key
The storage key of the program. Values are CICS, USER, and NOTAPPLIC.
Concurrency
Indicates the concurrency attribute of the installed program definition. Values are: QUASIRENT and THREADSAFE.
APIST
Indicates the API attribute of the installed program definition. Values are: CICSAPI and OPENAPI.
Storage Protect
Indicates if storage protection was active for the program. Values are: ACTIVE or INACTIVE.
CICS Rel
The CICS release number for the region in which the program is running.
LIB Dataset Name
The 44-character name of the data set from which the program was loaded into the CICS region.

 2  For the detail report, all of the commands that were collected by the Collector for each program are listed. These command entries contain the following information:

CMD Type
The type of command invoked by the program. Values are: CICS, DB2®, IMS™, and MQ.
Function
The command function, as specified in the CIU_CICS_DATA table.
Type
The resource type such as TS, or Program, as specified in the CIU_CICS_DATA table.
Resource
The name of the resource that the command was acting upon, as specified in the CIU_CICS_DATA table.
Offset
The offset of the command from the start of the program module.
Program Length
The length of the program module. Used to help determine the program version.
Use Count
The number of times that the command was run.
Threadsafe
The threadsafe status of the command. Values are:
Y
The command is threadsafe.
N
The command is not threadsafe.
I
The threadsafe status of the command in indeterminate. More investigation is needed to determine if the command is threadsafe.

 3  A summary of the types of commands issued by the program are listed after each program entry.

CICS calls
The number of EXEC CICS commands invoked by the program.
Threadsafe
The number of EXEC CICS commands invoked by the program that are threadsafe.
Non-Threadsafe
The number of EXEC CICS commands invoked by the program that are not threadsafe.
Indeterminate Threadsafe
The number of EXEC CICS commands invoked by the program that cannot be determined to be threadsafe or not.
DB2 calls
The number of DB2 commands invoked by the program.
MQ calls
The number of MQ commands invoked by the program.
IMS calls
The number of IMS commands invoked by the program.
Dynamic calls
The number of calls made to other modules by the program.
Threadsafe Inhibitor calls
The number of EXEC CICS commands invoked by the program for which you need to investigate the command further to determine if it prevents the program from being threadsafe.