Need to find Obsolete (dynamically loaded) PROC from JCLs



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

Need to find Obsolete (dynamically loaded) PROC from JCLs

Postby xgdot001 » Fri Feb 24, 2017 2:53 pm

Hello,

Our system has a bunch of jobs (JCLs) that call programs which themselves call programs,...
I need to list programs that are NOT called in any jobs.

I saw the post from mohdmustafa__m (11/2013)
"Need to find Obsolete PROC from JCLs"

... but my case is somewhat different: I cannot do a static code analysis because some programs are 'dynamically bound'.
The program to be called depends on the result of a calculation, a value in a file,...

Question:
Is there a way to track (log) the programs that are executed (loaded) at runtime?
If yes, I would be logging that info for a "representative period of time"... and thus identify programs that are 'never' used in a batch context.

I know there is a (system) log for CICS which logs things such as 'Resource definition for PGMXXX has been autoinstalled using model YYYYY'
... and since, in our system, CICS are restarted every day, collecting theses logs every day give me which programs are used in CICS every day.

Question is thus, is there something similar for batch (subsystems) ?

Thx for your answers...
xgdot001
 
Posts: 3
Joined: Fri Feb 24, 2017 1:23 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby Robert Sample » Fri Feb 24, 2017 9:14 pm

The SMF record type 30 records the program being executed for a step. However, I don't believe that it will give you any subprograms (whether called statically or dynamically), just the main program. So that's a start, but you cannot say that programs not referenced in a job are not being used -- they could be called from another program many times without the system indicating that.
Robert Sample
Global moderator
 
Posts: 3720
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby enrico-sorichetti » Fri Feb 24, 2017 10:52 pm

unfortunately before the final cleanup You will have to wait
at least for the longest run cycle to catch all the loaded modules
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico-sorichetti
Global moderator
 
Posts: 3006
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 165 times

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby prino » Sat Feb 25, 2017 11:22 pm

There is a system, it's called "Clean the Fan". You simply move all programs that are not referenced anywhere in JCL to a separate load library, and every time the brown stuff hits that fan, because something's abending, you move the missing load module back.
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 641
Joined: Wed Mar 11, 2009 12:22 am
Location: Vilnius, Lithuania
Has thanked: 3 times
Been thanked: 29 times

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby xgdot001 » Mon Feb 27, 2017 1:29 pm

Thank you for your answers: I truly appreciate all your insights.
@Robert:
  • the most important is indeed to identify the sub-programs: we can already list the main (entry) programs... we will dig into SMF record type 30 and see what we can have from there (keeping yo up to date)
  • yes, the conclusion can only be "this program is used"... and these not in the list "may not be used" (but this will be a starting point for a "second round" analysis)

@Enrico:
I'm not sure to understand: waiting is not an issue... but how can I catch the loaded modules (sub-programs)?
You seem to indicate a "final cleanup" that would dump that info. If yes, could you elaborate (is there some flag to set, how to get that log?)

@Prino:
This approach is not affordable to us: we would abend much too much... and even potentially during a large period time (since sub-programs are called based on calculation,...)

... continuing my investigations...
xgdot001
 
Posts: 3
Joined: Fri Feb 24, 2017 1:23 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby willy jensen » Mon Feb 27, 2017 6:29 pm

You do not say so, but I get the idea that you are looking for freeware. To the best of my knowledge there isn't one. I know that Serena markets a product called 'Changeman SSM' which can report on members loaded when and by who. There are alternatives, but no free ones.
willy jensen
 
Posts: 467
Joined: Thu Mar 10, 2016 5:03 pm
Has thanked: 0 time
Been thanked: 70 times

Re: Need to find Obsolete (dynamically loaded) PROC from JCL

Postby xgdot001 » Fri Mar 03, 2017 12:50 pm

@Willy
Thank you for opening our (my) mind: I was initially not considering an 'external' tool (being free or not)... and I was only looking to the problem with the "sysadmin" glasses.
It happens that we have Changeman SSM installed... and I start investigating that path too
xgdot001
 
Posts: 3
Joined: Fri Feb 24, 2017 1:23 pm
Has thanked: 0 time
Been thanked: 0 time


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post