0
Discussion posted 3/28/08 by Serenity Thompson
Details:



lbjerges

Hi.
I read the document "Converting Librarian to ZMF" and have three comments and a question.
The comments:
1) In the GPO-job I added the line:
-OPT EXEC(R),NOSEP
like:
...
-OPT GPO
-OPT EXEC(R),NOSEP
-SEL LVLS=+n,ARC=-00n
...
The EXEC(R) option will effectively overwrite any previous member versions on the work dataset so I'll always get the latest version.
2) Why not just execute the CMNUPDAT utility always instead of doing the IEBCOPY from work to base-0 the first time?
3) I wrote a Rexx tho generate the SYSIN file to CMNUPDAT:
################################
parse upper arg dsname /* Work dataset */
memvar = ""
m = 0
address ISPEXEC "LMINIT DATAID(MEMID) DATASET('"dsname"')"
address ISPEXEC "LMOPEN DATAID("memid") OPTION(INPUT) LRECL(DLND)"
address ISPEXEC "LMMLIST DATAID("memid") OPTION(LIST) MEMBER(MEMVAR)"
rcode = rc
do while rcode = 0
m = m + 1
member.m = strip(memvar)
address ISPEXEC "LMMLIST DATAID("memid") OPTION(LIST) MEMBER(MEMVAR)"
rcode = rc
end
member.0 = m
address ISPEXEC "LMCLOSE DATAID("memid")"
address ISPEXEC "LMFREE DATAID("memid")"
do m = 1 to member.0
say member.m
end
address MVS "EXECIO * DISKW NAMES (STEM member. FINIS"
exit
################################
This makes it possible to execute the whole conversion with no intervention like:
o LIBRARIAN GPO
o LIBRARIAN -SEL
o Generate memberlist
o CMNUPDAT
Also you can run these steps in a proc driven by the information from the index-listing regarding the number of levels per module. I.e if the index listing says that the "worst" member has 8 levels you should start with:
-SEL LVLS=+7,ARC=-007
and work your way down to:
-SEL LVLS=+0,ARC=-000
Finally the question:
What about updating the time-stamp in the stacked reversed delta? Some people, mainly auditors, fell that it might be a good idea to keep a record not only of the changes but also of when they occured.

Posted 6/19/2007 7:06 AM

rpalaniuk

Thanks for the comments. To answer your question about upating the timestamp in the stack reverse delta, the following is what I've done before:
I've typically added a LISTH parameter to the -OPT or the -SEL statement for each member. When this parameter is passed into the Librarian utility, it will generate component information into LIST DD. I've written a REXX exec to extract the timestamp, tso id, etc. information from LIST DD that is fed into another REXX exec that updates PDS member ISPF statistics via the LMM utilities (like you have used in your REXX example). This way, you are able to store this timestamp information in the PDS members and the CMNUPDAT process will ensure that the stacked reverse baseline files wil continue to retain this information for future reference.
Posted 6/27/2007 9:32 AM

lbjerges

I gather that the ISPF-library to update with LIBRARIAN date/time/etc. statistics would be the "work"-library prior to the CMNUPDAT step, am I right?
Posted 6/29/2007 9:03 AM

rpalaniuk

Yes, that is correct. You would gather the Librarian statistics first and then set the ISPF statistics appropriately in the work PDS library prior to running the CMNUPDAT step. This way, the ISPF statistics for each version of a member will be stored in the Stacked Reverse Delta.
-- Ron
Posted 7/4/2007 1:57 PM
Responses (1)
  • Accepted Answer

    Thursday, February 03 2011, 06:20 AM - #Permalink
    0
    This is an old migrated post that has been assigned status Complete.
    The reply is currently minimized Show
Your Reply