Question & Answer
Question
Why isn't CICS Performance Analyzer for z/OS (CICS PA) excluding selected transactions when I use the CICS PA ISPF dialog to generate a report using a form where I exclude all "C*" transactions? The CICSPA generated command has a SELECT2 operand that has an EXC for "C*" as shown below...
* Form =BADCHMDH
* Description=Top 20 Worst Change TCB Modes
CICSPA SMFSTART(-3,),
SMFSTOP(-3,)
* Reports for Group=PRODAORS
* Description=A,B,C
CICSPA IN(SMFIN001),
APPLID(CICSA,
CICSB,
CICSC),
LINECNT(60),
FORMAT(':','/'),
PRECISION(4),
LISTX(OUTPUT(LSTX0001),
EXTERNAL(CPAXW001),
LINECNT(60),
SELECT2(PERFORMANCE(
EXC(DSCHMDLY(COUNT(0))),
EXC(TRAN(C*)))),
BY(DSCHMDLY(COUNT,DESCEND),
TRAN(DESCEND)),
LIMIT(DSCHMDLY(COUNT(20))),
FIELDS(DSCHMDLY(COUNT),
TRAN,
APPLID,
USERID,
STOP(TIMET),
RESPONSE,
DISPATCH(TIME),
DISPATCH(COUNT),
CPU(TIME),
SUSPEND(TIME),
SUSPEND(COUNT),
DISPWAIT(TIME),
QRMODDLY(TIME)),
TITLE1(
'Top 20 Worst Change TCB Modes by Transaction ID '))
, but the LISTX report output still includes some CICS transactions like CISR.
V5R2M0 CICS Performance Analyzer
Performance List Extended
__________________________________________________
LSTX0001 Printed at 12:29:25 9/14/2015 Data from 04:45:27 9/10/2015 to 23:59:58 9/11/2015
Top 20 Worst Change TCB Modes by Transaction ID
DSCHMDLY Tran APPLID Userid Stop Response Dispatch Dispatch User CPU Suspend Suspend
Count Time Time Time Count Time Time Count
995200 CISR CICSB CICSB 2:00:27.144 76485.98 19.6367 1301E3 9.0953 76466.35 1301E3
325460 ARAT CICSC CICSC 13:05:40.883 28.2329 14.2462 326338 8.9779 13.9867 326338
264790 CISR CICSA CICSA 2:00:26.463 76494.05 13.4788 344383 3.2585 76480.57 344383
263404 ARAT CICSC CICSC 13:40:32.372 25.9513 9.1657 264324 7.3102 16.7856 264324
Answer
The problem is that the SELECT2 has two exclusion conditions specified in such a way that they were AND'd together, whereas the probable intention was for them to be OR'd. See "Selection Criteria" in Chapter 8 of the CICS PA User's Guide."
When multiple EXC or INC parameters are generated together for a single SELECT2( statement, they are processed left to right and ANDed together. If you use the ISPF dialog and insert a separate EXC for TRAN C*, the dialog will generate two separate SELECT2 statements which will be processed separately and logically ORed instead of ANDed.
Here are a couple of links in the CICS PA documentation for SELECT examples for INCLUDE/EXCLUDE and ORing:
Examples: INCLUDE and EXCLUDE sensitivity
Example: Satisfying either criteria (“OR”)
If I specify performance selection criteira on my BADCHMDH report form in the dialog and use the Insert line action and exclude the TRAN C* separately, the dialog looks like this...
...and the JCL generated CICSPA command with 2 SELECT2( statements is as follows:
* Form =BADCHMDH * Description=Top 20 Worst Change TCB Modes * Reports for System=MYAPPLID * Image =SYSA * Description=System added by take-up CICSPA IN(SMFIN901), APPLID(MYAPPLID), LINECNT(60), FORMAT(':','/'), PRECISION(4), LISTX(OUTPUT(LSTX0001), EXTERNAL(CPAXW001), LINECNT(60), SELECT2(PERFORMANCE( EXC(DSCHMDLY(COUNT(0))))), SELECT2(PERFORMANCE( EXC(TRAN(C*)))), BY(TRAN(ASCEND), DSCHMDLY(COUNT,DESCEND)), LIMIT(DSCHMDLY(COUNT(20))), FIELDS(TRAN, DSCHMDLY(COUNT), USERID, TASKNO, STOP(TIMET), RESPONSE, DISPATCH(TIME), DISPATCH(COUNT), CPU(TIME), SUSPEND(TIME), SUSPEND(COUNT), DISPWAIT(TIME), QRMODDLY(TIME), DSCHMDLY(TIME)), TITLE1( 'Top 20 Worst Change TCB Modes by Transaction ID '))
Product Synonym
CICSPA CICS PA
Was this topic helpful?
Document Information
Modified date:
07 September 2017
UID
dwa1216540