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.

ISPW                        Parts Utilities                                    
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.

Member List - Application PLAY Stream PLAY               
                                                        
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.

Warehouse Member List - Application PLAY Stream PLAY      
                                                         
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.

Generated Parts - Application PLAY Stream PLAY
                                             
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.

Health Check Exceptions - Application PLAY Stream PLAY                                                    
                                                                                                         
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.

Health Check - Application PLAY Stream PLAY                                                               
                                                                                                         
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.

Warning

Important

This option will update the repository.

Part Conversion - Application PLAY Stream PLAY                                                                         
                                                                                                                      
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.

Generated Parts - Application PLAY Stream PLAY
                                             
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.

Warning

Important

This option will update the repository.

Part Delete - Application PLAY Stream PLAY                                                                             
                                                                                                                      
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.

Warning

Important

This option will update the repository.

Part Register - Application PLAY Stream PLAY                                                              
                                                                                                         
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.

//WZZTRLOG DD SYSOUT=*
//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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC Compuware ISPW 18.02