Milestone 15: Installation Verification Procedures
Perform the tasks in this milestone to verify proper installation of ISPW.
If you are performing an upgrade (and keeping the existing SITE datasets), skip ahead to Test Compile System for an initial test of the upgrade.
Task 15.1 IVP #1
This Task contains a series of subtasks that are to be performed to verify that the base ISPW software has been correctly installed and is ready for customization. This is the first of two IVPs.
SITE Application
As part of the installation, the SITE Application was defined. This Application is used for the site customizations that are necessary to get compiles and other site-specific processing to work correctly.
The SITE Application was defined with three levels: TEST, HOLD, and PROD. Components are developed at TEST, promoted to HOLD for testing, and finally promoted to PROD for production use.
The IVP process works with this Application.
Task 15.1.1 Create ISPW Assignment and Add Task
The objective of this step is to create an ISPW Assignment and add an ISPW Task.
Use the option defined during the install to enter ISPW. The Main Menu shown in the following figure should be displayed.ISPW Main Menu
Type P in the Option field and press Enter. This should result in an empty Container List screen being displayed, as shown in the following figure.Container List Screen
Type A on the Command line and press Enter to invoke the process to Add an Assignment. The Add/Create New Container screen shown in the following figure should be displayed.Add/Create New Container Screen
The screen may be preloaded with references to PLAY. These are set by default and need to be overtyped with SITE, because that is the Application that is going to be used for this test. Overtype the lines highlighted in the following figure and press Enter.Add/Create New Container Screen
The screen shown in the following figure should be displayed.
Task Add Screen
ISPW ADD TASK TO ASSIGNMENT SITE000001
COMMAND ===>
IVP1 - FIRST ASSIGNMENT
TypeSKEL(See list of valid types below )
Name
Action(C-Compile D-Delete, F=Fallback, H-History )
ApplicationSITE(Default=SITE )
StreamSITE(Default=SITE )
PathTEST(TEST )
Filter( " PROD HOLD )
Release(Default= )
ImportY(Import From External Source Y/N )
CLST MSGS PANL SKEL
Plus module type DATA
Press ENTER to add entry, END to terminateThis is the “Task Add” screen, which is displayed automatically when adding a new Assignment. Using this screen, we are going to import a Skeleton JCL member from the ISPW Samplib. Ensure that the highlighted values in the Add/Create New Container screen are entered and press Enter. The screen will be updated as shown in the following figure.Task Add Screen - Data Set Name
Type the name of the ISPW Samplib (the .BPWMSAMP library) in the Data set Name field and press Enter. A list of members is displayed as shown in the following figure.Selecting WZU@JOB from ISPW Samplib
- Locate and select the member WZU@JOB, then press Enter. The word ADDED will appear next to the member, which indicates that the member was added to the Assignment List.
Press PF3 three times to return to the Assignment List. The Tasklist screen shown in the following figure is displayed, showing that the SKEL has been added to the Assignment.First Assignment (Tasklist) Screen
Task 15.1.2 Checkout and Promote Up One Level
The objective of this step is to check the SKEL out (import it from the Samplib) and promote it to the first level.
Type C next to the Task and press Enter (First Assignment (Tasklist) Screen - Checkout). The component is copied from the Samplib Dataset into the Application Dataset.First Assignment (Tasklist) Screen - Checkout
Notice that after doing the C, some audit data is now shown on the Tasklist (for example, Op, Date/Time, and User).
First Assignment (Tasklist) Screen - Audit Data
Type an S as shown in the following figure and press Enter. This will invoke the editor for the Task (Task Editor Screen).First Assignment (Tasklist) Screen - Invoking Editor
Task Editor Screen
- Press PF3 to return to the Tasklist.
Type P next to the Task and press Enter to promote up one level. The Tasklist will now appear as shown in the following figure.First Assignment (Tasklist) Screen - Promote
Note that the Level is now HOLD and the Op (last operation) is now P. If you browse the Task (operation B), ISPF Browse will be invoked and the member will be displayed in the HOLD level dataset.
Task 15.1.3 Use a Set to Promote to PROD
This subtask tests whether the Set Processor functions correctly.
Type P next to the Task to initiate the Promote operation again. This time the screen shown in the following figure is displayed because there is an Approval Rule pre-defined to ensure that processing takes place in a Set.Create and/or Define Set Details Screen
Press Enter, and the Set will be started. If everything starts to work correctly, the Tasklist will appear as shown in the following figure.First Assignment (Tasklist) Screen - Set Promote
Notice the message to the right. This message indicates that a Promote is in process and ISPW is waiting for the Set to start. On a fast system the message may say Executing if the Set has begun processing.Press Enter again after a few seconds, and the Tasklist should appear as shown in the following figure.First Assignment (Tasklist) Screen - Promoted to PROD
Having the Set working correctly is a major checkpoint and verifies that all of the security and SX Proc has been correctly defined. If this did not work, then the log would be the first place to see if there were any JCL or security errors.- Once any errors have been corrected, the Set can be restarted from the Set Modify screen. Enter MS next to the Task to get to this screen, and enter R(estart) in the Set Control field. Pressing PF3 from this screen will take you back to the Tasklist.
Task 15.1.4 Repeat Process to Test Warehouse
This subtask tests whether component versions can be put into and retrieved from the Component Warehouse. To test the Component Warehouse, it is necessary to check out a new version of the component and promote it through to PROD. This will push the previous version into the warehouse.
Because we now have the Component WZU@JOB registered in ISPW, it is not necessary to import it from the Samplib. Type an A next to it as shown in the following figure and press Enter.First Assignment (Tasklist) Screen - Adding a Task
A new Task is added and the screen appears as shown in the following figure.
First Assignment (Tasklist) Screen - Task Added
- Check out the component against the new task by typing C next to it and pressing Enter.
Type S next to the new Task and press Enter to edit the component. The Task Editor screen is displayed as shown in the following figure.Task Editor Screen - Edit New Task
- Make some sort of small change to differentiate the component from the one at PROD, then exit by pressing PF3.
Promote the component to HOLD with the P operation and promote again to start the Set that promotes it to PROD. After you exit with PF3 then re-enter, ifit all works correctly the Tasklist should appear as shown in the following figure.First Assignment (Tasklist) Screen - Task Promoted to HOLD then PROD
The component tagged with History will be in the warehouse. Type a B next to it and press Enter to retrieve it for display. The screen will appear as shown in the following figure.Task Editor Screen - Historical Version of Task
Notice that the dataset is temporary. ISPW has pulled the historical version out of the warehouse and presented it in a temporary dataset.
Having the Warehouse working correctly is a major checkpoint and verifies that all of the security and warehouse creation parameters have been correctly defined. If this did not work, then the log would be the first place to see if there were any security errors. Other error message information might be found in:
- CT Address space
- CM address space
- Browse the Set Log from the Modify Set screen (enter MS against the Task to get there).
- Once any errors have been corrected, the Set can be restarted from the Set Modify screen. Enter MS next to the Task to get to this screen, and enter R(estart) in the Set Control field. Pressing PF3 from this screen will take you back to the Tasklist.
Task 15.2 IVP #2
This Task contains a series of subtasks that are to be performed to install the ISPW Training Application named PLAY. This will install the necessary components such that COBOL Generates can be done for some supplied sample programs. It also provides the basis for the ISPW Training System.
PLAY Application
Provided in the Samplib is an ISPW Application called PLAY that can be used to help get ISPW up and running, with emphasis on getting the compile system working correctly. It is defined with the level structure shown in the following figure. This structure is delivered in the SAMPLIB and will be imported into ISPW during the following subtasks.
PLAY Application Level Structure
Task 15.2.1 Create New Assignment
As part of this IVP, various ISPF components will need to be implemented into ISPW’s SITE Application. A new Assignment can be created for this.
Create a new Assignment for SITE called “IVP2 – Implement Generate System”. This is done by typing an A on the Command line of the Container List screen as shown in the following figure and pressing Enter.Container List Screen for IVP2
The following screen will be displayed, where the highlighted line needs to be entered. The other values should be there by default. If they are not, enter them as shown in the figure.Add/Create New Container Screen for IVP2
- When you press Enter, the Assignment is added and the Add Task screen is displayed.
Task 15.2.2 Implement Required Skeletons
The ISPF Skeleton WZZMAD#Z is used in the creation of datasets. It provides the default allocation parameters for the various dataset types (for example, LOAD, LIST, etc.).
- At the end of the previous subtask, the Add Task screen would have been displayed as shown in the following figure. Import the following three skeletons from the Samplib:
- WZZMAD#Z – allocation parameters for creating datasets
- WZU@STEP – skeleton JCL for running ISPW Programs
WZU@TSO – skeleton JCL for TSO Steps.Task Add Screen for IVP2
ISPW ADD TASK TO ASSIGNMENT SITE000002
COMMAND ===>
IVP2 - INSTALL GENERATE SYSTEM
Typeskel(See list of valid types below )
Name
Action(C-Compile, D-Delete, F-Fallback, H-History )
ApplicationSITE(Default=SITE )
StreamSITE(Default=SITE )
PathTEST(TEST )
Filter( " PROD HOLD )
Release(Default= )
Importy(Import From External Source Y/N )
CLST MSGS PANL SKEL
Plus module type DATA
Press ENTER to add entry, END to terminateThe screen shown in the following figure will be displayed.
Task Add Screen - Data Set Names for IVP2
- Enter the ISPW Samplib (the .BPWMSAMP library), and a list of members is displayed.
Locate and select the members WZZMAD#Z, WZU@STEP, and WZU@TSO. Press Enter to add them to the Tasklist. This will appear as shown in the following figure.Selecting WZZMAD#Z, WZU@STEP, and WZU@TSO from ISPW Samplib
Press PF3 three times to return to the Assignment Tasklist, which will appear as shown in the following figure.Assignment (Tasklist) Screen - Three Tasks Added
- Select the WZZMAD#Z Task using S to check it out and enter edit mode. Review the SKEL to see what allocation parameters are used for the various types. It may be necessary to change something now, but usually a site might want to fine tune it later on after they have used it to allocate different datasets.
- Select the WZU@TSO Task using S to check it out and enter edit mode. It should be reviewed carefully for any obvious errors. This SKEL is embedded anytime ISPW needs to run a TSO step in batch.
- Select the WZU@STEP Task using S to check it out and enter edit mode. Review the SKEL to ensure that all of the dataset names used in the Install Process have been correctly resolved. It should also be reviewed carefully for any obvious errors. This SKEL is embedded to run ISPW programs.
Using the P operation, promote the SKELs first to HOLD and then to PROD. After they are at PROD, the Tasklist should appear as shown in the following figure.Assignment (Tasklist) Screen - Three Tasks Promoted to PROD
Task 15.2.3 Import PLAY Application
Reference Data defining the PLAY Application is provided in export format in the BPWMSAMP library. This needs to be imported into ISPW.
The PLAY Stream and PLAY Application reference data is stored in external format in the ISPW BPWMSAMP dataset as members PLAY#ST and PLAY#AD respectively.
From the ISPW main menu, enter option M.R to display the screen shown in the following figure. Make sure that Update mode is selected.Reference Data Maintenance Screen - Import PLAY
Type I next to the Stream data for PLAY as highlighted in the Reference Data Maintenance Screen - Import PLAY screen, then press Enter. The screen shown in the following figure is displayed.Import ST Reference Data
In the Import Dataset Name field, enter the name of the BPWMSAMP library with the member PLAY#ST as shown in Import ST Reference Data. Pressing Enter will import the data and return to the Reference list screen as shown in the following figure.Reference Data Maintenance Screen - Import Completed
- Follow the same process (as performed in the preceding steps) to import the PLAY AD file.
Activate the ST first, followed by the AD. Type an A next to the ST PLAY import version and press Enter. Repeat this for AD PLAY.
- Once both the ST and AD data is activated, refresh the server by using option M.SM and selecting option R.
Task 15.2.4 Allocate PLAY Datasets
Setting up the PLAY Application requires that datasets be created for the source, listings, load, etc. Once the reference data has been loaded correctly, datasets can be easily created within ISPW.
During the Install Process, decisions were made that determined what the PLAY Application Dataset names would be. It is useful to review these names to make sure they are correct before the datasets are allocated.
From the ISPW main menu, enter M.AD and select Update Mode to display the screen shown in the following figure.Reference Data Maintenance Screen - Select
Enter S to select the imported definition and press Enter. The screen shown in the following figure is displayed.Application Stream Definition Screen
Type N next to the definition and press Enter to display a list of dataset names that have been registered for the PLAY Application. The screen will be displayed as shown in the following figure.Application PLAY Stream PLAY Names Screen
Carefully review these names, because these will be the dataset names ISPW will create. Change them as necessary at this point. When done, return to the previous screen (Application Stream Definition Screen - Allocate PLAY).Application Stream Definition Screen - Allocate PLAY
Option Z is used to generate the JCL that will create the datasets. Typing Z and pressing Enter will result in the screen shown in the following figure, but only if ISPW finds that there are datasets defined in the reference data that need to be created.Application PLAY Stream PLAY Library Allocation Screen
- Pressing Enter will create the JCL to be submitted to create the datasets. At this point, the need for changes to the skel WZZMAD#Z may become apparent. If this is required, this job need not be submitted. The skel can be updated and the allocate step run again.
- When the JCL is acceptable, submit the job manually.
Task 15.2.5 Create Training Components
This subtask will populate the application datasets with components that will be used to test the various generate processes.
The following types of components are created:
- COB – COBOL Programs (subroutines and mainlines)
- COPY – COBOL Copybooks
- JOB – JCL Deck
- CLST – REXX and CLISTs.
Add the Task TBUILD to SITE
The member TBUILD in the BPWMSAMP library is a REXX that is used to generate the training components.
Go back to the Container List and select the Site #2 container. Add a task (for type CLST) to the Site IVP2 Assignment, using the import function to bring it in from the BPWMSAMP library as shown in the following figures.
Assignment (Tasklist) Screen - Add CLIST Task
Task Add Screen - Add CLST Task
ISPW ADD TASK TO ASSIGNMENT SITE000Enter required fie
COMMAND ===>
IVP2 - INSTALL GENERATE SYSTEM
TypeCLST(See list of valid types below )
Name
Action(C-Compile, D-Delete, F-Fallback, H-History )
ApplicationSITE(Default=SITE )
StreamSITE(Default=SITE )
PathTEST(TEST )
Filter( " PROD HOLD )
Release(Default= )
ImportY(Import From External Source Y/N )
CLST MSGS PANL SKEL
Plus module type DATA
Press ENTER to add entry, END to terminateTask Add Screen - Specify TBUILD
Member List Screen - Select TBUILD
Member List Screen - TBUILD Added
Edit TBUILD
After adding the Task and pressing PF3 a few times to return to the Tasklist, enter an S to check the module out and invoke edit (First Assignment Screen - Edit TBUILD).First Assignment Screen - Edit TBUILD
There are a lot of descriptive comments that basically explain what this IVP is doing.
The key thing at this point is to review the variable “clonecopies” and decide whether to accept the default value of 10 as shown in the following figure. This variable controls the number of components that will be created of each type.TBUILD clonecopies Variable
Execute TBUILD
After exiting from Edit, execute the REXX using the EX Operation. This will create the components in the PROD level PLAY Datasets.First Assignment Screen - Execute TBUILD
Various output messages will sent to the terminal indicating that the components are being created.
Check the PRD Datasets
- Inspection of the PLAY Production datasets will reveal that components have been added (for COB, COPY, CLST, and JOB types).
Task 15.2.6 Create PLAY Assignment
The physical components have been created, but ISPW does not know of them yet. Register Components to ISPW will register the new components to ISPW, and this step requires that an Assignment be created to put them in.
From the Container List (Option P), type A in the Command field (Container List Screen - Add PLAY Assignment) and press Enter to add an Assignment. The Add/Create New Container screen is displayed as shown in the following figure.Container List Screen - Add PLAY Assignment
Add/Create New Container Screen for PLAY Assignment
- When Enter is pressed on this screen, the Add Task dialogue is displayed. Press PF3 from that point because the components will be added in batch rather than via this dialogue. The created Assignment should have the name PLAY000001.
Task 15.2.7 Register Components to ISPW
ISPW comes with a process that registers ISPW with components that are in Application Datasets. This process is useful for converting Applications to ISPW and it is used to register the PLAY components.
From the main ISPW Menu, enter M.AL to invoke the ISPW Application Load process. The Initial Application Load screen is displayed.Initial Application Load Screen
When Enter is pressed on this screen, ISPW will use the Reference Data for the Application PLAY to build the following screen (Application Load Datasets Screen) that is used as a confirmation of the Application Datasets. Remember that this is a generic process that can be used for later conversions.Application Load Datasets Screen
- For the PLAY Application, no changes to this screen are required. Simply press PF3 to create the JCL for submission. It may be necessary to add a STEPLIB to AUTHLINK for module WZZRCBAT in Steps 2, 4, and 5 of the JCL. If the autosubmit flag was not set, the JCL will be presented, and it will need to be manually submitted. The batch job should complete with a zero condition code.
Check the PLAY000001 Assignment. There should now be Tasks representing all of the components as shown in the following figure.Assignment (Tasklist) Screen - PLAY Tasks
Task 15.2.8 Initial Load of Impact Data
Having Impact information in the repository for your applications will enable developers to do compiles and promotions with confidence. ISPW depends on parsing your source to identify these impacts. When initially loading applications to ISPW, you should have your applications analyzed to enable this. After the initial load, parsing can be done on promotions to keep the information up to date.
- On the ISPW Main Menu, type M.CR in the OPTION field and press Enter. The M.CR option is used to load Component Reference data by parsing component source modules. A batch job is submitted to perform the parsing. This information defines relationships between components.
- Enter the following values in the M.CR fields listed:
- Application ==> PLAY
- Stream ==> PLAY
- Component Type ==> *
- Level ==> PRD
- Press Enter. The parsing job will be submitted.
Task 15.2.9 Import Sample Members for Generates
This subtask installs into the SITE Application all of the ISPF Components that are required to generate the PLAY components.
The ISPF Components listed in the following table are found in the Base SAMPLIB (BPWMSAMP).
ISPF Components
ISPF Component | ISPF Type | Purpose |
---|---|---|
WZUGD | Panel | Panel for entering generate options at TEST levels |
WZUGH | Panel | Panel showing generate options above TEST |
WZUG | Skel | Main Driver Skeleton for Generates |
WZU@BLD | Skel | ISPW Generate Initialize Step |
WZU@BLDC | Skel | Variable setting for Compile |
WZU@BLDL | Skel | Variable setting for Link |
WZU@BTCH | Skel | Input for final Batch Update Step |
WZU@COBM | Skel | Cobol for MVS Step |
WZU@IN$D | Skel | Builds the Declgen concatenation |
WZU@IN$M | Skel | Builds the Compile Syslib concatenation |
WZU@IN$S | Skel | Builds the Link Edit Syslib concatenation |
WZU@INPR | Skel | Final ISPW status update step |
WZU@KEEP | Skel | Listing merge step |
WZU@LIST | Skel | Listing save step |
WZU@LKED | Skel | Link Edit step |
WZU@MTYP | Skel | ISPW Variable setting skel |
WZU@OBJ | Skel | Object Save step |
WZU@PART | Skel | Part Register driver skel |
WZU@PTLI | Skel | Part register input |
WZU@PTR | Skel | Part register input |
WZU@SXC | Skel | Set Execution variable setup |
WZU@SYSI | Skel | Link Edit input |
Use the IVP2 SITE Assignment to import Tasks for each of the components listed in the ISPF Components table. Make sure that the Panels are added separately to the Skeletons, so that the Types are correct in ISPW. The Tasklist should look like the following figure once they are all added.Assignment (Tasklist) Screen - ISPF Component Tasks
- Check out each of the newly added tasks. (Entering a C next to each one will copy it from the Samplib into the SITE Test dataset). The following skels should be carefully reviewed because they contain references to local datasets specified during the Install:
- WZU@COBM – Contains references to the Cobol Compile Library
- WZU@IN$S – Check carefully the name for CEE.CEELKED as this will be required for the link edit of the Cobol programs.
- WZU@MTYP – Set the KEEPOBJ variable to either keep object code or not.
Promote all of the objects to HOLD. An easy way to do this is to filter the Tasklist using a Level of TEST and pressing Enter, then selecting them all by tabbing the cursor (or using a mouse) to place it on the word Select(/) as highlighted in the following figure.Assignment (Tasklist) Screen - Select for Promote to HOLD
With the cursor on Select(/), press Enter to select all of the objects. A slash will appear next to each object. Tab to the Promote option—or type P on the Command line as shown in the following figure—then press Enter again.Assignment (Tasklist) Screen - Initiate Promote to HOLD
- The Set Create screen will be displayed. Press Enter to have it start in the background. Because of the filtering on the level “TEST”, as the components are promoted in the background, the Tasklist will be reduced to no entries. Change the filtering to HOLD and promote the same way to PROD.
Task 15.2.10 Test Compile System
This subtask tests the compile system using the PLAY Application components created in the previous steps.
Create a new Assignment for the testing of the PLAY Components as shown in the following figure.Add/Create New Container Screen for Testing PLAY Components
When the Task Add screen is displayed, specify COB in the Type field as shown in the following figure to get a list of COB Types in the PLAY Application.Task Add Screen for PLAY - Type COB
ISPW ADD TASK TO ASSIGNMENT PLAY000002
COMMAND ===>
IVP2 - TEST COMPILES
Typecob(See list of valid types below )
Name
Action(C-Compile, D-Delete, F-Fallback, H-History )
ApplicationPLAY(Default=SITE )
StreamPLAY(Default=SITE )
PathDEV1(DEV1 DEV2 FIX )
Filter( " PRD HLD QA STG1 STG2 )
Release(Default= )
ImportN(Import From External Source Y/N )
AMAC ASM C CLST COB COPY H INCL JOBLKED PLI
Plus module type DATA
Press ENTER to add entry, END to terminateFrom the list of components, select (with an S) programs TPROG01 and TSUBR01. Press Enter. The screen should appear as shown in the following figure. TPROG01 is a mainline COBOL program that statically calls the COBOL subroutine TSUBR01.Task Add Screen for PLAY - Select Components
Return to the Tasklist and check the two programs out using the C operation. The screen should now appear as shown in the following figure.Assignment (Tasklist) Screen - Program Checkout
Enter a G against TSUBR01 and press Enter. The screen shown in the following figure should be displayed.Generate Options for TSUBR01
- Enter an N in the Program (Y/N) field. This indicates to ISPW that this is a subroutine, and only the program object will be created—not a load module. The Jobcard should be changed to something suitable that will work. Pressing Enter will submit a compile job.
The problems listed in the following table might occur if the ISPF Skeletons are not correct.
ISPF Skeleton Problems
Problem
Resolution
ISPF File Tailoring error
Debugging of the skeleton is required. Try the Generate again, but this time type DBFT on the Command line of the generate panel and press Enter. This should provide more information as to where the problem lies.
JCL Error in submitted job
Determine the cause of the JCL error by looking at the output. Correct the skeleton and try again.
Job ended with a non-zero return code
The Generate failed. Check the job output to determine the cause. Perhaps a library name has been omitted
For JCL errors especially, ISPW will not know that the compile has not started. Before trying the generate again, it may be necessary to use the CU operation as shown in the following figure to remove the in-process state.
Assignment (Tasklist) Screen - Remove In-Process State
Once TSUBR01 has successfully generated, the Tasklist should appear as shown in the following figure, showing that TSUBR01 has been successfully generated. The value in the Op field for TSUBR01 will be G to indicate that a generate has been successfully done.
Assignment (Tasklist) Screen - Successful Generate
- Promote TSUBR01 to the next level where a controlled generate is performed (under the authority of ISPW).
Now that the subroutine has been successfully generated and promoted, the mainline program TPROG01 can be generated. Follow the same procedure as for the subroutine, except that on the generate panel enter a Y in the Program(Y/N) field to specify that a load module is to be created.Generate Options for TPROG01
- Once TPROG01 successfully generates, promote it to the next level to ensure that the controlled generate at that level works correctly.
IVP#2 Complete
This completes IVP#2. The generate processes have been successfully completed.