Parts Utilities
The Parts Utilities perform a variety of tasks that report on the logical and physical status of the ISPW repository. They can also perform several updates to the repository. The utilities are made up of a skeleton, a CLIST, two panels, and a load module. The skeleton, WZXUTIL, is in the SAMP library. It should be moved to your SITE SKEL library. The CLIST, WZXPARTC, is in the production CLIST library. The panels, WZZXA#1 and WZHXA#1 are in the production panel library. The load module, WZXPARTC, is in the production load library.
Enter M.XP from the ISPW main menu to invoke the Parts Utilities. The following dialog box is displayed.
Command ===>
ISPW Server ID ==> DV8
Application ==> PLAY
Stream ==> PLAY
Level ==> DEV1
Process Option ==> M (M-PDS Member List, W-Warehouse List, P-Parts List )
(H-Health Check, I-Health Check WIP, J-Health Prod )
(C-Convert Parts. )
(D-Delete Stray Parts, R-Register Missing Parts )
Edit Generated JCL ==> Y (Y-Submit the JCL Manually, N-Auto Submit )
Confirm and/or change the required Selection Criteria and Process Option.
Press Enter to continue or END to terminate.
JOBCARD Information:
==> //XXXXXXXN JOB ('OG9BAS1.0DEV',93A),'FALBY',CLASS=A,MSGCLASS=R,
==> // TIME=(0,30),MSGLEVEL=(1,1),NOTIFY=XXXXXXX,REGION=0M
==> /*JOBPARM S=XXXX
==>
You need to specify the appropriate server ID, application, stream, and level, and update the JOB card information. We recommend that you leave the Edit Generated JCL flag set to Y. This will enable you to verify that the JCL has been created correctly. A sample of the JCL is as shown in the following figure.
//XXXXXXXN JOB ('OG9BAS1.0DEV',93A),'NAME',CLASS=A,MSGCLASS=R,
// TIME=(0,30),MSGLEVEL=(1,1),NOTIFY=XXXXXXX,REGION=0M
/*JOBPARM S=XXXX
//****************** START SKEL WZU@TSO *******************************
//*********************************************************************
//ISPWUTIL EXEC PGM=WZZRCBAT,PARM='runtime config/IKJEFT01',DYNAMNBR=64,
// REGION=6M
//STEPLIB DD DISP=SHR,DSN=ISPW authorized load library
//ISPLOG DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=1210)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//****************** END SKEL WZU@TSO ********************************
//ISPWRK1 DD DISP=NEW,UNIT=SYSDA,SPACE=(CYL,(5,5)),
// DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)
//ISPWRK2 DD DISP=NEW,UNIT=SYSDA,SPACE=(CYL,(5,5)),
// DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)
//ISPLIST DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=1210)
//ISPFILE DD DUMMY
//WREPORT DD SYSOUT=*
//WDETAIL DD SYSOUT=*
//SYSIN DD DUMMY
//SYSTSIN DD *
ISPSTART CMD(%WZXPARTC INIT(NO) XOPT(M) XAPL(PLAY) +
XSTR(PLAY) XLVL(DEV1) )
//*
Options
This section describes the different processing options.
Option M
This option lists the members for the selected application, stream and level. The following figure illustrates a sample output.
ISPW.DV8.PLAY.DEV1.AMAC - 1 Members
--B8L8Y$0Q
ISPW.DV8.PLAY.DEV1.ASM - 3 Members
--#NDAFKUW
--AQYS2QTT
--HLLOWRLD
ISPW.DV8.PLAY.DEV1.C - 1 Members
--XFRRSRVR
ISPW.DV8.PLAY.DEV1.CLST - 0 Members
ISPW.DV8.PLAY.DEV1.COB - 12 Members
--#YAEUIQF
--BIGSUBA
--CALCCOB3
--COBFMAPI
--TESTCOB
--TESTER
--TESTLONG
--TESTWFF
--TEST01
--WFFCOBH
--WFFTST02
--WFF02TST
Option W
This option lists the contents of the warehouses for the selected application and stream. The following figure illustrates a sample output.
ISPW.DV8.WH.ISPWDV8.L0000001.WPDS - 7 Members
--A0000000
--A0000001
--A0000002
--A0000003
--A0000004
--A0000005
--A0000006
ISPW.DV8.WH.ISPWDV8.L0000002.WPDS - 119 Members
--A000000A
--A000000B
--A000000C
Only a subset of the members of the second warehouse are listed.
Option P
This option shows the type, name, action, logical status, and association for the generated parts for the selected application, stream, and level. The following figure illustrates a sample output.
lev Type Name Act Status_L Association
---- ---- -------- --- -------- -----------
DEV1 COB TESTCBLK OK SOURCE
OBJ #YAEUIQF Explicit GMT1LNAM
LIST #YAEUIQF Explicit GMT3NAME
DEV1 COB WFF02TST OK SOURCE
OBJ WFF02TST Explicit GMT1LNAM
LIST WFF02TST Explicit GMT3NAME
DEV1 COB TESTCOB OK SOURCE
OBJ TESTCOB Explicit GMT1LNAM
LIST TESTCOB Explicit GMT3NAME
DEV1 COB BIGSUBA OK SOURCE
OBJ BIGSUBA Explicit GMT1LNAM
LIST BIGSUBA Explicit GMT3NAME
DEV1 ASM HLLOWRLD OK SOURCE
OBJ HLLOWRLD Explicit GMT1LNAM
LIST HLLOWRLD Explicit GMT3NAME
Option H
This is one of the three options that examine the repository for anomalies. The H option produces two reports. One in a DD name of WREPORT and one in a DD name of WDETAIL.
The report in WREPORT lists exceptions found in the repository. It compares what is in the repository to what is in the lifecycle datasets for a selected application, stream, and level. The following figure illustrates a sample output.
Lev Type Name Act Status_P Status_L InactSta Dataset Name Storage Key
---- ---- -------- --- -------- -------- -------- -------------------------------------------- -----------
DEV1 COB TESTCOBH NotFound OK Renamed ISPW.DV8.PLAY.DEV1.COB WFFCOBH
LIST TESTCOBH NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LISTING
OBJ TESTCOBH NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.OBJ
LOAD TESTCOBH NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LOAD
DEV1 COB LONGCOBO NotFound OK Renamed ISPW.DV8.PLAY.DEV1.COB TESTLONG
LIST #X$4BP5Z NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LISTING
OBJ #X$4BP5Z NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.OBJ
LOAD LONGCOBO NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LOAD
DEV1 COB TESTCBLK NotFound OK ISPW.DV8.PLAY.DEV1.COB
LIST #YAEUIQF OK Explicit ISPW.DV8.PLAY.DEV1.LISTING
OBJ #YAEUIQF OK Explicit ISPW.DV8.PLAY.DEV1.OBJ
LOAD TESTCBLK NotFound NoPart ISPW.DV8.PLAY.DEV1.LOAD
To get the most out of this report, you need to examine the lifecycle datasets. For example, consider that the member TESTCOBH is showing a physical status of NotFound and a logical status of OK. If you look in the ISPW.DV8.PLAY.DEV1.COB, TESTCOBH is not there. It has been renamed to WFFCOBH. The report details this activity.
The report in WDETAIL, as its name implies, provides a more detailed view of what is in the repository compared to what is in the lifecycle datasets. The following sample output has been compiled to highlight the different contents between the two reports.
Lev Type Name Act Status_P Status_L InactSta Dataset Name Storage Key
---- ---- -------- --- -------- -------- -------- -------------------------------------------- -----------
DEV1 LKED MPWMIGRT OK OK ISPW.DV8.PLAY.DEV1.LKED
DEV1 JOB TESTJOB1 OK OK ISPW.DV8.PLAY.DEV1.JOB
DEV1 COB WFF02TST NotFound OK Renamed ISPW.DV8.PLAY.DEV1.COB WFFTST02
LIST WFF02TST NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LISTING
OBJ WFF02TST NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.OBJ
LOAD NoBackup NoPart Renamed ISPW.DV8.PLAY.DEV1.LOAD
DEV1 COB WFF02TST OK OK ISPW.DV8.PLAY.DEV1.COB
LIST WFF02TST OK Explicit ISPW.DV8.PLAY.DEV1.LISTING
OBJ WFF02TST OK Explicit ISPW.DV8.PLAY.DEV1.OBJ
LOAD NotFound NoPart ISPW.DV8.PLAY.DEV1.LOAD
DEV1 ASM WFF04TST NotFound OK ISPW.DV8.PLAY.DEV1.ASM
LIST NotFound NoPart ISPW.DV8.PLAY.DEV1.LISTING
OBJ NotFound NoPart ISPW.DV8.PLAY.DEV1.OBJ
LOAD NotFound NoPart ISPW.DV8.PLAY.DEV1.LOAD
DEV1 COPY TCPYB01 OK OK ISPW.DV8.PLAY.DEV1.COPY
DEV1 COPY TCPYA01 OK OK ISPW.DV8.PLAY.DEV1.COPY
DEV1 COPY TCPYA02 OK OK ISPW.DV8.PLAY.DEV1.COPY
DEV1 COPY TCPYA03 OK OK ISPW.DV8.PLAY.DEV1.COPY
DEV1 COPY TCPYA04 OK OK ISPW.DV8.PLAY.DEV1.COPY
Again, you must compare the repository to the lifecycle datasets. For example, WFF02TST is in the lifecycle dataset shown in the report. The repository says it is at the DEV1 level. It is in the listing and object datasets but not in the load library.
Option I
This is the second of the health check options. It looks for Work In Progress. The output of this option may be identical to option H.
Option J
This is the third of the health check options. It performs its work at the production level. The J option produces two reports. One in a DD name of WREPORT and one in a DD name of WDETAIL. When using this option, the LEVEL may be left blank or you can specify your production level.
The report in WREPORT lists exceptions found in the repository. It compares what is in the repository to what is in the lifecycle datasets for a selected application, stream, and level.
The report in WDETAIL, as its name implies, provides a more detailed view of what is in the repository compared to what is in the lifecycle datasets. The output of both reports is similar to what has already been shown.
Option C
The panel describes this option as convert parts. It fixes tasks that have one or more missing parts and parts not registered. The following figure illustrates a sample output.
Lev Type Name Act Status_P Status_L InactSta Dataset Name Storage Key
---- ---- -------- --- -------- -------- -------- -------------------------------------------- ------------------------
PRD COB TPROG02 OK OK ISPW.DV8.PLAY.PRD.COB
PRD COB TPROG03 OK OK ISPW.DV8.PLAY.PRD.COB
PRD COB SHRTNAME NotFound OK ISPW.DV8.PLAY.PRD.COB
QA COB COBFMAPI NotFound OK ISPW.DV8.PLAY.QA.COB
DEV1 COB SRCMAIN NotFound OK ISPW.DV8.PLAY.DEV1.COB
DEV1 COB SRCSUBA NotFound OK ISPW.DV8.PLAY.DEV1.COB
PRD COB TSUBR02 F OK OK ISPW.DV8.PLAY.PRD.COB
PRD COB TSUBR03 OK OK ISPW.DV8.PLAY.PRD.COB
PRD COB TSUBR04 F OK OK ISPW.DV8.PLAY.PRD.COB
LIST TSUBR04 F OK Explicit ISPW.DV8.PLAY.PRD.LISTING
OBJ TSUBR04 F OK Explicit ISPW.DV8.PLAY.PRD.OBJ
PRD COB TSUBR05 F OK OK ISPW.DV8.PLAY.PRD.COB
LIST TSUBR05 F OK Explicit ISPW.DV8.PLAY.PRD.LISTING
OBJ TSUBR05 F OK Explicit ISPW.DV8.PLAY.PRD.OBJ
PRD COB WFFTESTY OK OK ISPW.DV8.PLAY.PRD.COB
PRD COB WFFTESTZ OK OK ISPW.DV8.PLAY.PRD.COB
DEV1 ASM WFF04TST NotFound OK ISPW.DV8.PLAY.DEV1.ASM
DEV1 COB TESTCOB OK OK ISPW.DV8.PLAY.DEV1.COB
Task COBFMAPI is not found in ISPW.DV8.PLAY.QA.COB but it is in the repository. In this case, the module has been deleted. For task TSUBR04, it is both in the displayed dataset and is in the repository.
When you rerun the option P report after running the option C, you get a different output. The option P report now looks like the following figure.
lev Type Name Act Status_L Association
---- ---- -------- --- -------- -----------
DEV1 COB TESTCBLK OK SOURCE
OBJ #YAEUIQF Explicit GMT1LNAM
LIST #YAEUIQF Explicit GMT3NAME
DEV1 COB WFF02TST OK SOURCE
OBJ WFF02TST Explicit GMT1LNAM
LIST WFF02TST Explicit GMT3NAME
DEV1 COB BIGSUBA OK SOURCE
OBJ BIGSUBA Explicit GMT1LNAM
LIST BIGSUBA Explicit GMT3NAME
DEV1 ASM HLLOWRLD OK SOURCE
OBJ HLLOWRLD Explicit GMT1LNAM
LIST HLLOWRLD Explicit GMT3NAME
If you look at the original option P report as shown in the description for that option, you notice that task TESTCOB is no longer shown in the new report. If you look at the last task shown in the option C report, you see that task TESTCOB for the DEV1 level has had its parts built.
Option D
This option deletes a part if the physical part cannot be found.
Lev Type Name Act Status_P Status_L InactSta Dataset Name Storage Key
---- ---- -------- --- -------- -------- -------- -------------------------------------------- ------------------------
DEV1 LOAD TESTCOBH NoBackup Deleted Renamed ISPW.DV8.PLAY.DEV1.LOAD
DEV1 LOAD TESTER NoBackup Deleted Renamed ISPW.DV8.PLAY.DEV1.LOAD
DEV1 LOAD BIGSUBA NotFound Deleted ISPW.DV8.PLAY.DEV1.LOAD
Option R
This option registers parts for a task if any are missing. The option R report is as shown in the following figure.
Lev Type Name Act Status_P Status_L InactSta Dataset Name Storage Key
---- ---- -------- --- -------- -------- -------- -------------------------------------------- -----------
DEV1 COB TESTCBLK NotFound OK ISPW.DV8.PLAY.DEV1.COB
DEV1 LIST #YAEUIQF OK Register ISPW.DV8.PLAY.DEV1.LISTING
DEV1 OBJ #YAEUIQF OK Register ISPW.DV8.PLAY.DEV1.OBJ
DEV1 COB WFF02TST OK OK ISPW.DV8.PLAY.DEV1.COB
DEV1 LIST WFF02TST OK Register ISPW.DV8.PLAY.DEV1.LISTING
DEV1 OBJ WFF02TST OK Register ISPW.DV8.PLAY.DEV1.OBJ
DEV1 COB BIGSUBA OK OK ISPW.DV8.PLAY.DEV1.COB
DEV1 LIST BIGSUBA OK Register ISPW.DV8.PLAY.DEV1.LISTING
DEV1 OBJ BIGSUBA OK Register ISPW.DV8.PLAY.DEV1.OBJ
DEV1 ASM HLLOWRLD OK OK ISPW.DV8.PLAY.DEV1.ASM
DEV1 LIST HLLOWRLD OK Register ISPW.DV8.PLAY.DEV1.LISTING
DEV1 OBJ HLLOWRLD OK Register ISPW.DV8.PLAY.DEV1.OBJ
Hints and Tips
The parts utilities need to access the warehouse datasets. If any of these datasets are migrated, they will be recalled. This may cause the job to run for quite some time depending on the number of recalled datasets.
The parts utilities store information about the tasks in memory queues. Depending on the number of tasks, this can consume considerable memory. Make sure the job has access to enough memory. Also, the memory should be above the line. If you have LE set to use below the line memory, you will need to run with LE options specific to this job so that above the line memory can be acquired.
Debugging
You can add debug statements to the JCL when running the job for the Parts Utilities. This will aid in problem determination when the utilities do not create the expected results. The following JCL statements can be added to the job stream. Refer to the Trace-Control-Statements section of the ISPW Technical Reference Guide, for a detailed explanation of the statements.
//WZZTRDBG DD SYSOUT=*
//WZZTRINI DD *
WZZLOGA=DD:WZZTRLOG
WZZDBGA=DD:WZZTRDBG
ERRORM=DSA
WARNM=DSA
INFOM=DSA
FLOWM=DSA
DEBUGM=DSA
TRACEM=DSA
TRACE=ALL
DEBUG=ALL
FLOW=ALL
/*
Advanced Options
There is an additional option called “echo mode” for register and delete processing. This enables you to execute these options without updating the repository.
To run in echo mode, you must add a single character to the XOPT field. For instance, to run register in “echo mode”, change the XOPT field from XOPT(R) to XOPT(RY). For delete, change the XOPT field from XOPT(D) to XOPT(DY). You can also specify an N rather than a Y to run without “echo mode.”
Make these changes to the JCL before you submit the job.