IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Program usage statistics?


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 180
Location: United States

PostPosted: Wed May 16, 2018 2:22 am
Reply with quote

I need a convenient way to identify programs that aren't being used in CICS. I know I can use 'CEMT I PROG USECOUNT(0)'. But that shows me 9 programs at a time and I need to look at about 900. This is for an ongoing test, so I will need to do this a number of times.

I seem to recall a report that showed use counts, but that was years ago and I'm old, so my memory isn't that good!
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8569
Location: Dubuque, Iowa, USA

PostPosted: Wed May 16, 2018 2:26 am
Reply with quote

You may be thinking of the CICS statistics utility program DFHSTUP: www.ibm.com/support/knowledgecenter/en/SSGMCP_5.3.0/com.ibm.cics.ts.doc/dfha6/topics/dfha62i.html is a reference for it.
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 180
Location: United States

PostPosted: Wed May 16, 2018 2:39 am
Reply with quote

Thanks Robert,

That should help!
Back to top
View user's profile Send private message
vasanthz

Global Moderator


Joined: 28 Aug 2007
Posts: 1689
Location: Tiruppur, India

PostPosted: Wed May 16, 2018 3:14 am
Reply with quote

Hi,
Have you tried issuing the command "CEMT I PROG USECOUNT(0)" from SDSF or console? something like

Code:
/F CICSREGN,CEMT I PROG USECOUNT(0)


Tried out a REXX to invoke the CEMT command and it works in getting all the program details in a single file.

Code:
/*REXX*/                                                 
"ALLOC F(OUTFILE) DS('"WELLS.CONSOLE.OUTPUT"') MOD REUSE"      <--- OUTPUT FILE PS, FB, 133.
TRACE  "O"                                               
PARSE SOURCE _SYS _HOW _CMD .                             
PARSE ARG ARGS                                           
DEBUG = 1                                                 
ISFRC = ISFCALLS("ON")                                   
IF ISFRC ¬= 0 THEN DO                                     
    SAY "ISFCALLS RC" ISFRC                               
    EXIT                                                 
END                                                       
CMD = "/F CICSREG1,CEMT I PROG USECOUNT(0)"                     <--- CICS REGION NAME 1     
CALL CONSOLEGET                                           
DROP ISFULOG.                                             
CMD = "/F CICSREG2,CEMT I PROG USECOUNT(0)"                     <--- CICS REGION NAME 2               
CALL CONSOLEGET                                           
DROP ISFULOG.                                             
"FREE DD(OUTFILE)"                                       
CALL  ISFCALLS "OFF"                                     
EXIT                                                     
                                                         
CONSOLEGET :                                             
ISFDELAY=30                                                     <--- WAIT 30 SECONDS FOR REPLIES
ADDRESS SDSF "ISFEXEC '" || CMD || "'"                   
IF RC ¬= 0 THEN DO                                       
    SAY "ISFEXEC  RC" RC                                 
    SAY ISFMSG                                           
    DO  IM = 1 TO ISFMSG2.0                               
        SAY ISFMSG2.IM                                   
    END                                                   
    EXIT                                                 
END                                                       
 "EXECIO * DISKW OUTFILE (STEM ISFULOG. FINIS"           
RETURN                                                   


Hope it helps.
Vasanth.S
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed May 16, 2018 11:26 am
Reply with quote

Do your performance and capacity people do a good job ?

When I worked in that area we did have a list of all of the programs / transactions that WERE uses, so I guess by going back 13 or so months - annual thingies - you could potentially eliminate which are being used and leaving those that aren't.
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 180
Location: United States

PostPosted: Wed May 16, 2018 9:06 pm
Reply with quote

vasanthz wrote:
Hi,
Have you tried issuing the command "CEMT I PROG USECOUNT(0)" from SDSF or console? something like

Code:
/F CICSREGN,CEMT I PROG USECOUNT(0)


Tried out a REXX to invoke the CEMT command and it works in getting all the program details in a single file.

Code:
/*REXX*/                                                 
"ALLOC F(OUTFILE) DS('"WELLS.CONSOLE.OUTPUT"') MOD REUSE"      <--- OUTPUT FILE PS, FB, 133.
TRACE  "O"                                               
PARSE SOURCE _SYS _HOW _CMD .                             
PARSE ARG ARGS                                           
DEBUG = 1                                                 
ISFRC = ISFCALLS("ON")                                   
IF ISFRC ¬= 0 THEN DO                                     
    SAY "ISFCALLS RC" ISFRC                               
    EXIT                                                 
END                                                       
CMD = "/F CICSREG1,CEMT I PROG USECOUNT(0)"                     <--- CICS REGION NAME 1     
CALL CONSOLEGET                                           
DROP ISFULOG.                                             
CMD = "/F CICSREG2,CEMT I PROG USECOUNT(0)"                     <--- CICS REGION NAME 2               
CALL CONSOLEGET                                           
DROP ISFULOG.                                             
"FREE DD(OUTFILE)"                                       
CALL  ISFCALLS "OFF"                                     
EXIT                                                     
                                                         
CONSOLEGET :                                             
ISFDELAY=30                                                     <--- WAIT 30 SECONDS FOR REPLIES
ADDRESS SDSF "ISFEXEC '" || CMD || "'"                   
IF RC ¬= 0 THEN DO                                       
    SAY "ISFEXEC  RC" RC                                 
    SAY ISFMSG                                           
    DO  IM = 1 TO ISFMSG2.0                               
        SAY ISFMSG2.IM                                   
    END                                                   
    EXIT                                                 
END                                                       
 "EXECIO * DISKW OUTFILE (STEM ISFULOG. FINIS"           
RETURN                                                   


Hope it helps.
Vasanth.S


Thanks a lot!
I will give it a try.
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 180
Location: United States

PostPosted: Wed May 16, 2018 9:15 pm
Reply with quote

expat wrote:
Do your performance and capacity people do a good job ?



Unfortunately, that would be me... by default. I am one of a very small group of developers/technicians (6) attempting to convert a 25 year old financial system to run on current z/OS mainframe hardware and software.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts How to Parameterize Eazytrive program All Other Mainframe Topics 2
No new posts Usage of BINSEARCH PL/I PL/I & Assembler 1
No new posts Is there a way to determine Clist usa... CLIST & REXX 10
No new posts linking an ALC program to a Relationa... PL/I & Assembler 1
This topic is locked: you cannot edit posts or make replies. Passing a field name to COBOL program COBOL Programming 10
Search our Forums:

Back to Top