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
#oldforumpost
#post3bf0521b91
#ChangeManZMF
Page 1 / 1
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
#oldforumpost
#post3bf0521b91
#ChangeManZMF
This is an old migrated post that has been assigned status Complete.
Sign up
Already have an account? Login
Welcome to the Rocket Forum!
Please log in or register:
Employee Login | Registration Member Login | RegistrationEnter your E-mail address. We'll send you an e-mail with instructions to reset your password.