Milestone 15: Installation Verification Procedures
Perform the tasks in this milestone to verify proper installation of Code Pipeline.
If you are performing an upgrade (and keeping the existing SITE data sets), 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 Code Pipeline 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 Code Pipeline assignment and add task
The objective of this step is to create a Code Pipeline Assignment and add a Code Pipeline Task.
Use the option defined during the install to enter Code Pipeline. The Main Menu shown in the following figure should be displayed. Code Pipeline main menu
22.01 CODE PIPELINE PROD ALLOCATIONS
OPTION ===>
U USER - User Preferences USERID – USER003
PREFIX – USER003
A ANALYSIS - Cross Reference Analysis TIME - 16:06
P CONTAINERS - Container List DATE - 2022/05/09
W WORK - Work List - 2022.129
R REPOSITORY - Repository List PROC - ISPFPROC
DP DEPLOY - Deploy Requests CONFIG - PROD
GI GENERATE IMPACTS - Generate Impacts SERVER - PROD
M MAINTENANCE - Maintenance Functions
Z FUNCTIONS - Add Special Functions (Z1 - Z8)
Z1
Z2
Z3
Z4
Z5
Z6
Z7
Z8
Enter END command to return to the Primary 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
22.01 CONTAINER LIST Row 0 of 0
Command ===> Scroll ===> CSR
More -->
View: U Closed: N User: USER001_
Appl SubAppl T Container Tag Description
________ ________ _ __________ ____ ______________________________
------------------------------- Bottom of List -------------------------------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
ADD/CREATE NEW CONTAINER
COMMAND ===>
Container Type A (A-Assignment, R-Release)
Description __________________________________________________
Assignment Prefix PLAY (Assignment Prefix )
Assignment Owner USER001 (Defaults to user creating container)
Assignment Tag ____ (Optional, free form tag for user)
Default Application PLAY____
Default SubAppl PLAY____ (Sub Application)
Default Stream PLAY____ (PLAY)
Default Path ____ ()
Default Release __________ (Optional, default Release for Tasks)
WORK REQ ________________________ (Optional)
Join Users N (Y-Join Users to Assignment)
Sandbox Codeline _ (Y-Create Sandbox Codeline)
Join At Level ____ (Optional, specify Join At Level for Sandbox)
Press ENTER to Add/Create new Assignment, END to terminateThe 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 (containing IVP1 – FIRST ASSIGNMENT and SITE) in the following figure, and press Enter.Add/Create New Container screen
ADD/CREATE NEW CONTAINER
COMMAND ===>
Container Type A (A-Assignment, R-Release)
Description IVP1 – FIRST ASSIGNMENT___________________________
Assignment Prefix SITE (Assignment Prefix )
Assignment Owner USER001 (Defaults to user creating container)
Assignment Tag ____ (Optional, free form tag for user)
Default Application SITE____
Default SubAppl SITE____ (Sub Application)
Default Stream SITE____ (PLAY)
Default Path TEST (TEST)
Default Release __________ (Optional, default Release for Tasks)
WORK REQ ________________________ (Optional)
Join Users N (Y-Join Users to Assignment)
Sandbox Codeline _ (Y-Create Sandbox Codeline)
Join At Level ____ (Optional, specify Join At Level for Sandbox)
Press ENTER to Add/Create new Assignment, END to terminateThe screen shown in the following figure should be displayed.
Task Add screen
ADD TASK TO ASSIGNMENT SITE000001
COMMAND ===>
IVP1 – FIRST ASSIGNMENT
Type SKEL____ (See list of valid types below)
Name __________________________________________________
Action _ (C-Compile, D-Delete, F-Fallback, H-History)
Application SITE____ (Default=SITE)
SubAppl SITE____ (Default=SITE)
Stream SITE____ (Default=SITE)
Path TEST (TEST)
Filter ____ (PROD HOLD)
Release __________ (Default= )
Import Y (Import From External Source Y/N)
CLST MSGS PANL SKEL WDLG
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 Code Pipeline 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
ADD TASK TO ASSIGNMENT SITE000001
COMMAND ===>
IVP1 – FIRST ASSIGNMENT
Data set Name ===> 'ISPW.MPWM220.BPWMSAMP'
Data set Type ===> PDS (PDS)
Module Name ===> (blank for all or "name*" for pattern)
Press ENTER to see the module list or overtype the dataset name as required.Type the name of the Code Pipeline 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 Code Pipeline Samplib
Menu Functions Confirm Utilities Help
------------------------------------------------------------------------------
LIBRARY ISPW.MPWM220.BPWMSAMP Row 0000291 of 0000448
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
_ WZU@JOB *ADDED 25 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@JOBK 29 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@KEEP 52 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@LIST 52 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@LKED 44 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@MTYP 225 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NA## 69 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NACA 34 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NACP 34 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NAD# 55 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NADB 25 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NAGD 57 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NALD 41 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@NAMF 40 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@OBJ 33 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@PART 195 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@PKGH 22 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@PLI 76 2022/05/09 2022/05/09 13:46:33 USER001
_ WZU@PPLI 39 2022/05/09 2022/05/09 13:46:33 USER001- 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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB TEST
------------------------------- Bottom of List -------------------------------
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 Data set into the Application Data set. First Assignment (Tasklist) screen - Checkout
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
C_ SKEL WZU@JOB TEST
------------------------------- Bottom of List -------------------------------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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB TEST C USER001 2022-05-09 13:15
------------------------------- Bottom of List -------------------------------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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
S_ SKEL WZU@JOB TEST C USER001 2022-05-09 13:15
------------------------------- Bottom of List -------------------------------Task Editor screen
FILE EDIT EDIT_SETTINGS MENU UTILITIES COMPILERS TEST HELP
-------------------------------------------------------------------------------
EDIT ISPW.SITE.TEST.SKELS(WZU@JOB) - 01.00 COLUMNS 00001 00072
COMMAND ===> SCROLL ===> CSR
****** ***************************** Top of Data ******************************
000001 )TB 12
000002 )DEFAULT )?!<|>
000003 )CM ----- DEFAULT CHANGED ===> USE TO INDICATE ISPF VARIABLE -------
000004 )CM ====================== CHANGE LOG ===============================
000005 )CM ISPW (TM)
000006 )CM COPYRIGHT (C) 1986-2017 COMPUWARE CORPORATION.
000007 )CM ユ COPYRIGHT 2020 BMC SOFTWARE, INC.
000008 )CM UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT
000009 )CM LAWS OF THE UNITED STATES.
000010 )CM
000011 )CM YY/MM/DD PGRMR DESCRIPTION
000012 )CM ===================================================================
000013 )CM 20/12/10 MMW TYPO IN MAINTENANCE LOG HEADER
000014 )CM 02/06/20 S.GARTH ADDED ALTERNATE JOB CARD IF JC01-4 BLANK
000015 )CM ISPW 2.0
000016 )CM ===================================================================
000017 )CM
000018 )CM ALTERNATELY, THE LOAD NAME CAN BE USED AS THE JOB NAME
000019 )CM- 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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB HOLD P USER001 2022-05-09 13:19
------------------------------- Bottom of List -------------------------------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 data set.
Task 15.1.3 Use 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
CREATE AND/OR DEFINE SET DETAILS
COMMAND ===>
Use existing Set ID: __________
or
Specify Details for new Set:
YYYY-MM-DD HH:MM:SS
Operation P Start 2022-05-09 13:21:00
Change Type S Implement __________ ________
Set Prefix ____ Activate __________ ________
Application SITE____
SubAppl SITE____
Description __________________________________________________
Owner USER001_
Release __________
Level HOLD
Process Option ________
For new or existing Set:
Lock Set Y (Y or N)
Hold Set N (Y or N)
Press ENTER to continue or END to terminate/CANCELPress 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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB HOLD P USER001 2022-05-09 13:21 SP: P Waiting
------------------------------- Bottom of List -------------------------------Notice the message to the right. This message indicates that a Promote is in process and Code Pipeline 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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB PROD P USER001 2022-05-09 13:22
------------------------------- Bottom of List -------------------------------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 Code Pipeline, 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
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
A_ SKEL WZU@JOB PROD P USER001 2022-05-09 13:22
------------------------------- Bottom of List -------------------------------A new Task is added and the screen appears as shown in the following figure.
First Assignment (Tasklist) screen - Task added
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@JOB TEST
__ SKEL WZU@JOB PROD P USER001 2022-05-09 13:22
------------------------------- Bottom of List -------------------------------- 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
FILE EDIT EDIT_SETTINGS MENU UTILITIES COMPILERS TEST HELP
-------------------------------------------------------------------------------
EDIT ISPW.SITE.TEST.SKELS(WZU@JOB) - 01.00 COLUMNS 00001 00072
COMMAND ===> SCROLL ===> CSR
****** ***************************** Top of Data ******************************
000001 )TB 12
000002 )DEFAULT )?!<|>
000003 )CM ----- DEFAULT CHANGED ===> USE TO INDICATE ISPF VARIABLE -------
000004 )CM ====================== CHANGE LOG ===============================
000005 )CM ISPW (TM)
000006 )CM COPYRIGHT (C) 1986-2017 COMPUWARE CORPORATION.
000007 )CM ユ COPYRIGHT 2020 BMC SOFTWARE, INC.
000008 )CM UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT
000009 )CM LAWS OF THE UNITED STATES.
000010 )CM
000011 )CM YY/MM/DD PGRMR DESCRIPTION
000012 )CM ===================================================================
000013 )CM 20/12/10 MMW TYPO IN MAINTENANCE LOG HEADER
000014 )CM 02/06/20 S.GARTH ADDED ALTERNATE JOB CARD IF JC01-4 BLANK
000015 )CM ISPW 2.0
000016 )CM ===================================================================
000017 )CM
000018 )CM ALTERNATELY, THE LOAD NAME CAN BE USED AS THE JOB NAME
000019 )CM- 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, if it all works correctly the Tasklist should appear as shown in the following figure. First Assignment (Tasklist) screen - Task promoted to HOLD then PROD
ASSIGNMENT SITE000001: IVP1 – FIRST ASSIGNMENT Row 1 of 1
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
B_ SKEL WZU@JOB PROD P USER001 2022-05-09 13:22 => History
__ SKEL WZU@JOB PROD P USER001 2022-05-09 13:27
------------------------------- Bottom of List -------------------------------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
MENU UTILITIES COMPILERS HELP
-------------------------------------------------------------------------------
BROWSE USER001.D22129.T63105.ISPW.TEMPFILE LINE 0000000000 COL 001 080
COMMAND ===> SCROLL ===> CSR
****** ***************************** Top of Data ******************************
)TB 12
)DEFAULT )~?!<|>
)CM ----- DEFAULT CHANGED ===> USE ~ TO INDICATE ISPF VARIABLE -------
)CM ====================== CHANGE LOG ===============================
)CM ISPW (TM)
)CM COPYRIGHT (C) 1986-2017 COMPUWARE CORPORATION.
)CM © COPYRIGHT 2020 BMC SOFTWARE, INC.
)CM UNPUBLISHED RIGHTS RESERVED UNDER THE COPYRIGHT
)CM LAWS OF THE UNITED STATES.
)CM
)CM YY/MM/DD PGRMR DESCRIPTION
)CM ===================================================================
)CM 20/12/10 MMW TYPO IN MAINTENANCE LOG HEADER
)CM 02/06/20 S.GARTH ADDED ALTERNATE JOB CARD IF JC01-4 BLANK
)CM ISPW 2.0
)CM ===================================================================
)CM
)CM ALTERNATELY, THE LOAD NAME CAN BE USED AS THE JOB NAME
)CMNotice that the data set is temporary. Code Pipeline has pulled the historical version out of the warehouse and presented it in a temporary data set.
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 Code Pipeline 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 Code Pipeline Training System.
PLAY application
Provided in the Samplib is a Code Pipeline Application called PLAY that can be used to help get Code Pipeline 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 Code Pipeline 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 Code Pipeline’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
22.01 CONTAINER LIST Row 1 of 3
Command ===> Scroll ===> CSR
More -->
View: U Closed: N User: ________
Appl SubAppl T Container Tag Description
________ ________ _ __________ ____ ______________________________
__ SITE SITE A SITE000001 IVP1 – FIRST ASSIGNMENT
__ SITE SITE S S000000002 IVP1 – FIRST ASSIGNMENT
__ SITE SITE S S000000001 IVP1 – FIRST ASSIGNMENT
------------------------------- Bottom of List -------------------------------The following screen will be displayed, where the line IVP2 – Install Generate System 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
ADD/CREATE NEW CONTAINER
COMMAND ===>
Container Type A (A-Assignment, R-Release)
Description IVP2 – Install Generate System____________________
Assignment Prefix SITE (Assignment Prefix )
Assignment Owner USER001 (Defaults to user creating container)
Assignment Tag ____ (Optional, free form tag for user)
Default Application SITE____
Default SubAppl SITE____ (Sub Application)
Default Stream SITE____ (PLAY)
Default Path TEST (TEST)
Default Release __________ (Optional, default Release for Tasks)
WORK REQ ________________________ (Optional)
Join Users N (Y-Join Users to Assignment)
Sandbox Codeline _ (Y-Create Sandbox Codeline)
Join At Level ____ (Optional, specify Join At Level for Sandbox)
Press ENTER to Add/Create new Assignment, END to terminate- 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 data sets. It provides the default allocation parameters for the various data set 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 data sets
- WZU@STEP – skeleton JCL for running Code Pipeline Programs
WZU@TSO – skeleton JCL for TSO Steps. Task Add screen for IVP2
ADD TASK TO ASSIGNMENT SITE000002
COMMAND ===>
IVP2 – INSTALL GENERATE SYSTEM
Type SKEL____ (See list of valid types below)
Name __________________________________________________
Action _ (C-Compile, D-Delete, F-Fallback, H-History)
Application SITE____ (Default=SITE)
SubAppl SITE____ (Default=SITE)
Stream SITE____ (Default=SITE)
Path TEST (TEST)
Filter ____ (PROD HOLD)
Release __________ (Default= )
Import Y (Import From External Source Y/N)
CLST MSGS PANL SKEL WDLGThe screen shown in the following figure will be displayed.
Task Add screen - Data Set Names for IVP2
ADD TASK TO ASSIGNMENT SITE000002
COMMAND ===>
IVP2 – INSTALL GENERATE SYSTEM
Data set Name ===> 'ISPW.MPWM220.BPWMSAMP'
Data set Type ===> PDS (PDS)
Module Name ===> (blank for all or "name*" for pattern)
Press ENTER to see the module list or overtype the dataset name as required.
- Enter the Code Pipeline 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 Code Pipeline Samplib
Menu Functions Utilities Help
------------------------------------------------------------------------------
MEMBER LIST ISPW.MPWM220.BPWMSAMP Row 0000291 of 0000448
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
_ WZXUTIL 33 2022/05/09 2022/05/09 13:46:36 USER001
_ WZXWH 119 2022/05/09 2022/05/09 13:46:36 USER001
_ WZXWHPY 125 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZ#PKG 705 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZAL 34 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZCLMSG 24 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZCPY 42 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZDRIVE 32 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZECIJ 46 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZGENR 79 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZGL 9 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZMAD#Z *ADDED 140 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZMCR# 31 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZMLMB# 110 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZMST#Z 97 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZMX#GP 45 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZN7SCD 27 2022/05/09 2022/05/09 13:46:36 USER001
_ WZZPP 131 2022/05/09 2022/05/09 13:46:37 USER001
_ WZZPPB 86 2022/05/09 2022/05/09 13:46:37 USER001Press PF3 three times to return to the Assignment Tasklist, which will appear as shown in the following figure. Assignment (Tasklist) screen - Three tasks added
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 3
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@STEP TEST
__ SKEL WZU@TSO TEST
__ SKEL WZZMAD#Z TEST
------------------------------- Bottom of List -------------------------------- 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 data sets.
- 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 Code Pipeline 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 data set 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 Code Pipeline 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
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 3
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31
__ SKEL WZU@TSO PROD P USER001 2022-05-09 13:31
__ SKEL WZZMAD#Z PROD P USER001 2022-05-09 13:31
------------------------------- Bottom of List -------------------------------
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 Code Pipeline.
The PLAY Stream and PLAY Application reference data is stored in external format in the Code Pipeline BPWMSAMP data set as members PLAY#ST and PLAY#AD respectively.
From the Code Pipeline main menu, enter option M.R to display the screen shown in the following figure. Make sure that the Update mode is selected.Reference Data Maintenance screen - Import PLAY
M.R REFERENCE DATA MAINTENANCE (PROD) UPDATE MODE
Command ===> Scroll ===> CSR
List Commands: A Add, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, C Clone, I Import, E Export
V View, M Modify, A Activate
Code Key1 Key2 Key3 Vers Version Description Actv Loaded RefrReq
__ ________ ________ ________ ____ ____________________ _ _ _
__ AA 0000 INSTALL VERSION Y Y
__ AD PLAY PLAY PLAY 0000 INSTALL VERSION Y Y
__ AD SITE SITE SITE 0001 Import from Samplib
__ AD SITE SITE SITE 0000 INSTALL VERSION Y Y
__ AG 0000 INSTALL VERSION Y Y
__ AP 0000 INSTALL VERSION Y Y
__ AR 0000 INSTALL VERSION Y Y
__ BC 0001 Import from Samplib
__ BC 0000 INSTALL VERSION Y Y
__ CC 0001 Import from Samplib
__ CC 0000 INSTALL VERSION Y Y
__ CT 0001 Import from Samplib
__ CT 0000 INSTALL VERSION Y Y
__ EC WZGPARMS 0001 Import from Samplib
__ EC WZGPARMS 0000 INSTALL VERSION Y Y
__ EC WZGWORK 0001 Import from Samplib
__ EC WZGWORK 0000 INSTALL VERSION Y Y
__ ER 0001 Import from Samplib
__ ER 0000 INSTALL VERSION Y Y
__ EX 0001 Import from Samplib
__ EX 0000 INSTALL VERSION Y Y
I_ ST PLAY 0000 INSTALL VERSION Y Y
__ ST SITE 0001 Import from Samplib
__ ST SITE 0000 INSTALL VERSION Y Y
******************************* Bottom of data ********************************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 screen
M.R IMPORT ST REFERENCE DATA (PROD)
Command ===> Scroll ===> CSR
Define details for the requested Stream Table Import
VERSION DESCRIPTION ==> IMPORT FROM SAMPLIB
IMPORT DATASET NAME ==> <hlq>.MPWM220.BPWMSAMP(PLAY#ST)
Press ENTER to continue with the import request or END to terminate.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
M.R REFERENCE DATA MAINTENANCE (PROD) UPDATE MODE
Command ===> Scroll ===> CSR
List Commands: A Add, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, C Clone, I Import, E Export
V View, M Modify, A Activate
Code Key1 Key2 Key3 Vers Version Description Actv Loaded RefrReq
__ ________ ________ ________ ____ ____________________ _ _ _
__ AA 0000 INSTALL VERSION Y Y
__ AD PLAY PLAY PLAY 0000 INSTALL VERSION Y Y
__ AD SITE SITE SITE 0001 Import from Samplib
__ AD SITE SITE SITE 0000 INSTALL VERSION Y Y
__ AG 0000 INSTALL VERSION Y Y
__ AP 0000 INSTALL VERSION Y Y
__ AR 0000 INSTALL VERSION Y Y
__ BC 0001 Import from Samplib
__ BC 0000 INSTALL VERSION Y Y
__ CC 0001 Import from Samplib
__ CC 0000 INSTALL VERSION Y Y
__ CT 0001 Import from Samplib
__ CT 0000 INSTALL VERSION Y Y
__ EC WZGPARMS 0001 Import from Samplib
__ EC WZGPARMS 0000 INSTALL VERSION Y Y
__ EC WZGWORK 0001 Import from Samplib
__ EC WZGWORK 0000 INSTALL VERSION Y Y
__ ER 0001 Import from Samplib
__ ER 0000 INSTALL VERSION Y Y
__ EX 0001 Import from Samplib
__ EX 0000 INSTALL VERSION Y Y
__ ST PLAY 0001 Import from Samplib
__ ST PLAY 0000 INSTALL VERSION Y Y
__ ST SITE 0001 Import from Samplib
__ ST SITE 0000 INSTALL VERSION Y Y
******************************* Bottom of data ********************************- Follow the same process (as performed in the preceding steps) to import AD PLAY from the PLAY#AD member.
- 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 data sets be created for the source, listings, load, etc. Once the reference data has been loaded correctly, data sets can be easily created within Code Pipeline.
During the Install Process, decisions were made that determined what the PLAY Application Data set names would be. It is useful to review these names to make sure they are correct before the data sets are allocated.
From the Code Pipeline main menu, enter M.AD and select Update Mode to display the screen shown in the following figure. Reference Data Maintenance screen - Select
M.R REFERENCE DATA MAINTENANCE (PROD) UPDATE MODE
Command ===> Scroll ===> CSR
List Commands: A Add, L Locate Entry, B Browse Mode
Line Commands: S Select, D Delete, C Clone, I Import, E Export
V View, M Modify, A Activate
Code Key1 Key2 Key3 Vers Version Description Actv Loaded RefrReq
AD ________ ________ ________ ____ ____________________ _ _ _
S_ AD PLAY PLAY PLAY 0001 Import from Samplib Y Y
__ AD PLAY PLAY PLAY 0000 INSTALL VERSION
__ AD SITE SITE SITE 0001 Import from Samplib Y Y
__ AD SITE SITE SITE 0000 INSTALL VERSIONEnter S to select the imported definition and press Enter. The screen shown in the following figure is displayed. Application Stream Definition screen
M.AD APPLICATION STREAM DEFINITION - PROD UPDATE MODE
Command ===>
List Commands: B Browse Mode
Line Commands: S Select, L Levels, T Types, N Names, A Associations, P Plans
M Modify, F Flags, Z Allocate, V Validate
Appl SubAppl Stream Application Stream Description Cref
________ ________ ________ _________________________________________ _
N PLAY PLAY PLAY ISPW Training Application Y
******************************* Bottom of data ********************************Type N next to the definition and press Enter to display a list of data set 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
M.AD/N STREAM/APPL/SUBAPPL:PLAY/PLAY/PLAY UPDATE MODE
Command ===> Scroll ===> CSR
List Commands: L Locate Entry, B Browse Mode
Line Commands: X Extensions
______________________External Storage__________________
Type Clas Lev Type Name Encoding --.
________ ____ ____ ____ ____________________________________________ v
_ COB DEV1 PDS ISPW.PLAY.DEV1.COB
_ COB DEV2 PDS ISPW.PLAY.DEV2.COB
_ COB FIX PDS ISPW.PLAY.FIX.COB
_ COB HLD PDS ISPW.PLAY.HLD.COB
_ COB PRD PDS ISPW.PLAY.PRD.COB
_ COB QA PDS ISPW.PLAY.QA.COB
_ COB STG1 PDS ISPW.PLAY.STG1.COB
_ COB STG2 PDS ISPW.PLAY.STG2.COB
_ COPY DEV1 PDS ISPW.PLAY.DEV1.COPY
_ COPY DEV2 PDS ISPW.PLAY.DEV2.COPY
_ COPY FIX PDS ISPW.PLAY.FIX.COPY
_ COPY HLD PDS ISPW.PLAY.HLD.COPY
_ COPY PRD PDS ISPW.PLAY.PRD.COPY
_ COPY QA PDS ISPW.PLAY.QA.COPY
_ COPY STG1 PDS ISPW.PLAY.STG1.COPY
_ COPY STG2 PDS ISPW.PLAY.STG2.COPY
_ DBRM DEV1 PDS ISPW.PLAY.DEV1.DBRM
_ DBRM DEV2 PDS ISPW.PLAY.DEV2.DBRM
_ DBRM FIX PDS ISPW.PLAY.FIX.DBRM
_ DBRM HLD PDS ISPW.PLAY.HLD.DBRM
_ DBRM PRD PDS ISPW.PLAY.PRD.DBRM
_ DBRM QA PDS ISPW.PLAY.QA.DBRM
Carefully review these names because these will be the data set names Code Pipeline will create. Change them as necessary at this point. If you change any names, you must refresh the server (=M.SM and type R in the COMMAND field). When done, return to the screen previously selected in step 2 above. Application Stream Definition screen - Allocate PLAY
M.AD APPLICATION STREAM DEFINITION - PROD UPDATE MODE
Command ===>
List Commands: B Browse Mode
Line Commands: S Select, L Levels, T Types, N Names, A Associations, P Plans
M Modify, F Flags, Z Allocate, V Validate
Appl SubAppl Stream Application Stream Description Cref
________ ________ ________ _________________________________________ _
Z PLAY PLAY PLAY ISPW Training Application Y
******************************* Bottom of data ********************************Option Z is used to generate the JCL that will create the data sets. Typing Z and pressing Enter will result in the screen shown in the following figure, but only if Code Pipeline finds that there are data sets defined in the reference data that need to be created. Application PLAY SubApplication PLAY Stream PLAY Library Allocation Screen
M.AD/Z STREAM/APPL/SUBAPPL:PLAY/PLAY/PLAY LIBRARY ALLO
Command ===> Scroll ===> CSR
A job to allocate new PDS libraries for Application Stream STREAM/APPL/SUBAPPL:
be constructed if you press ENTER to continue.
You will then be placed in EDIT so that you can review and make any required
changes to the allocation parameters before you manually SUBMIT the job to
execute in the background.
JOBCARD Information:
==>
==>
==>
==>
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--
Press ENTER to continue or END to terminate- Pressing Enter will create the JCL to be submitted to create the data sets. 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 data sets 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
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 3
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31
__ SKEL WZU@TSO PROD P USER001 2022-05-09 13:31
__ SKEL WZZMAD#Z PROD P USER001 2022-05-09 13:31
------------------------------- Bottom of List -------------------------------Task Add screen - Add CLST task
ADD TASK TO ASSIGNMENT SITE000002
COMMAND ===>
IVP2 – INSTALL GENERATE SYSTEM
Type CLST____ (See list of valid types below)
Name __________________________________________________
Action _ (C-Compile, D-Delete, F-Fallback, H-History)
Application SITE____ (Default=SITE)
SubAppl SITE____ (Default=SITE)
Stream SITE____ (Default=SITE)
Path TEST (TEST)
Filter ____ (PROD HOLD)
Release __________ (Default= )
Import Y (Import From External Source Y/N)
CLST MSGS PANL SKEL WDLG
Plus module type DATATask Add screen - Specify TBUILD
ADD TASK TO ASSIGNMENT SITE000002
COMMAND ===>
IVP2 – INSTALL GENERATE SYSTEM
Data set Name ===> 'ISPW.MPWM220.BPWMSAMP'
Data set Type ===> PDS (PDS)
Module Name ===> TBUILD (blank for all or "name*" for pattern)
Press ENTER to see the module list or overtype the dataset name as required.Member List screen - Select TBUILD
Menu Functions Utilities Help
------------------------------------------------------------------------------
MEMBER LIST ISPW.MPWM220.BPWMSAMP Row 0000001 of 0000001
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
S TBUILD 873 2022/05/09 2022/05/09 13:46:27 USER001
**End**Member List screen - TBUILD Added
Menu Functions Utilities Help
------------------------------------------------------------------------------
MEMBER LIST ISPW.MPWM220.BPWMSAMP Row 0000001 of 0000001
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
. TBUILD *Added 873 2022/05/09 2022/05/09 13:46:27 USER001
**End**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
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 4
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
S_ CLST TBUILD TEST
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31
__ SKEL WZU@TSO PROD P USER001 2022-05-09 13:31
__ SKEL WZZMAD#Z PROD P USER001 2022-05-09 13:31
------------------------------- Bottom of List -------------------------------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
000143 /* ------------------------------------------------------------------ */
000144 /* Customize clonecopies to indicate how many sets of the training */
000145 /* programs you want to create (values from 1 to 99) */
000146 /* ------------------------------------------------------------------ */
000147
000148 clonecopies = 10
000149
000150 call getDataSetNamesExecute 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
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 4
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
EX CLST TBUILD TEST C USER001 2022-05-09 13:39
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31
__ SKEL WZU@TSO PROD P USER001 2022-05-09 13:31
__ SKEL WZZMAD#Z PROD P USER001 2022-05-09 13:31
------------------------------- Bottom of List -------------------------------Various output messages will sent to the terminal indicating that the components are being created.
Check the PRD Data sets
- Inspection of the PLAY Production data sets 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 Code Pipeline does not know of them yet. Register Components to Code Pipeline will register the new components to Code Pipeline, 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
22.01 CONTAINER LIST Row 1 of 5
Command ===> Scroll ===> CSR
More -->
View: U Closed: N User:
Appl SubAppl T Container Tag Description
________ ________ _ __________ ____ ______________________________
__ SITE SITE A SITE000002 IVP2 - INSTALL GENERATE SYSTEM
__ SITE SITE A SITE000001 IVP1 - FIRST ASSIGNMENT
__ SITE SITE S S000000003 IVP2 - INSTALL GENERATE SYSTEM
__ SITE SITE S S000000002 IVP1 - FIRST ASSIGNMENT
__ SITE SITE S S000000001 IVP1 - FIRST ASSIGNMENT
------------------------------- Bottom of List -------------------------------Add/create new container screen for PLAY assignment
ADD/CREATE NEW CONTAINER
COMMAND ===>
Container Type A (A-Assignment, R-Release)
Description IVP2 – Load Play Components_______________________
Assignment Prefix PLAY (Assignment Prefix )
Assignment Owner USER001 (Defaults to user creating container)
Assignment Tag ____ (Optional, free form tag for user)
Default Application PLAY____
Default SubAppl PLAY____ (Sub Application)
Default Stream PLAY____ (PLAY)
Default Path PLAY (DEV1 DEV2 FIX)
Default Release __________ (Optional, default Release for Tasks)
WORK REQ ________________________ (Optional)
Join Users N (Y-Join Users to Assignment)
Sandbox Codeline _ (Y-Create Sandbox Codeline)
Join At Level ____ (Optional, specify Join At Level for Sandbox)
Press ENTER to Add/Create new Assignment, END to terminate- 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 Code Pipeline
Code Pipeline comes with a process that registers Code Pipeline with components that are in Application Data sets. This process is useful for converting Applications to Code Pipeline and it is used to register the PLAY components.
From the main Code Pipeline Menu, enter M.AL to invoke the Code Pipeline Application Load process. The Initial Application Load screen is displayed. Initial Application Load screen
INITIAL APPLICATION LOAD
Command ===>
Application ==> PLAY____ SubAppl ==> PLAY____
Level ==> PRD_
Stream ==> PLAY____ Signout Path ==> DEV1
Assignment ==> PLAY000001 Release ==> ________
Process Option ==> T (O-Build OverRide Table, R=Task Report )
(T-Task Load, G-Generate Parms Load )
(C-Clean Up/Delete Tasks Testing Only! )
Edit Generated JCL ==> Y (Y-Edit JCL before Submit, N-Auto Submit )
OverRide DataSet ==> ____________________________________________
Confirm and/or change the required Selection Criteria and Process Option.
Press Enter to continue or END to terminate.
JOBCARD Information:
==>
==>
==>
==>When Enter is pressed on this screen, Code Pipeline 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 Data sets. Remember that this is a generic process that can be used for later conversions. Application Load Datasets screen
APPLICATION LOAD - DATASETS Row 1 to 13 of 13
Command ===> Scroll ===> CSR
Update the Library and Member pattern Name to be used for the generation
of the Repository Data Report.
Press <PF3> to process or enter "CANCEL" to abort.
Member Library
Type Clas Lev Pattern Name
AMAC PRD * ISPW.DV1.PLAY.PRD.AMAC
ASM PRD * ISPW.DV1.PLAY.PRD.ASM
C PRD * ISPW.DV1.PLAY.PRD.C
CLST PRD * ISPW.DV1.PLAY.PRD.CLST
COB PRD * ISPW.DV1.PLAY.PRD.COB
COPY PRD * ISPW.DV1.PLAY.PRD.COPY
H PRD * ISPW.DV1.PLAY.PRD.H
INCL PRD * ISPW.DV1.PLAY.PRD.INCL
JOB PRD * ISPW.DV1.PLAY.PRD.JOB
LIST PRD * ISPW.DV1.PLAY.PRD.LISTING
LKED PRD * ISPW.DV1.PLAY.PRD.LKED
LOAD PRD * ISPW.DV1.PLAY.PRD.LOAD
OBJ PRD * ISPW.DV1.PLAY.PRD.OBJ
******************************* Bottom of data ********************************- 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
ASSIGNMENT PLAY000001: IVP2 - LOAD PLAY COMPONENTS Row 1 of 60
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ CLST TREXX01 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX02 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX03 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX04 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX05 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX06 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX07 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX08 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX09 PRD TL USER001 2022-05-09 13:35
__ CLST TREXX10 PRD TL USER001 2022-05-09 13:35
__ COB TPROG01 PRD TL USER001 2022-05-09 13:35
__ COB TPROG02 PRD TL USER001 2022-05-09 13:35
__ COB TPROG03 PRD TL USER001 2022-05-09 13:35
__ COB TPROG04 PRD TL USER001 2022-05-09 13:35
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. Code Pipeline depends on parsing your source to identify these impacts. When initially loading applications to Code Pipeline, 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 Code Pipeline 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 and the following values will be displayed:
- 0 signifies no issues.
- 4 indicates a warning stating, "W %s No xreftype defined for ctype=%s".
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 | Code Pipeline 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 Code Pipeline status update step |
WZU@KEEP | Skel | Listing merge step |
WZU@LIST | Skel | Listing save step |
WZU@LKED | Skel | Link Edit step |
WZU@MTYP | Skel | Code Pipeline 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 from the Skeletons, so that the Types are correct in Code Pipeline. The Tasklist should look like the following figure once they are all added. Assignment (Tasklist) screen - ISPF component tasks
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 26
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ CLST TBUILD TEST C USER001 2022-05-09 13:39
__ PANL WZUGD TEST
__ PANL WZUGH TEST
__ SKEL WZU@BLD TEST
__ SKEL WZU@BLDC TEST
__ SKEL WZU@BLD; TEST
__ SKEL WZU@BTCH TEST
__ SKEL WZU@COBM TEST
__ SKEL WZU@IN$D TEST
__ SKEL WZU@IN$M TEST
__ SKEL WZU@IN$S TEST
__ SKEL WZU@INPR TEST
__ SKEL WZU@KEEP TEST
__ SKEL WZU@LIST TEST
__ SKEL WZU@LKED TEST
__ SKEL WZU@MTYP TEST
__ SKEL WZU@OBJ TEST
__ SKEL WZU@PART TEST
__ SKEL WZU@PTLI TEST
__ SKEL WZU@PTR TEST
__ SKEL WZU@SXC TEST
__ SKEL WZU@SYSI TEST
__ SKEL WZU@G TEST
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31- 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 data set). The following skels should be carefully reviewed because they contain references to local data sets 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 red) in the following figure. Assignment (Tasklist) screen - Select for promote to HOLD
ASSIGNMENT SITE000002: IVP2 – INSTALL GENERATE SYSTEM Row 1 of 26
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ CLST TBUILD TEST C USER001 2022-05-09 13:39
__ PANL WZUGD TEST
__ PANL WZUGH TEST
__ SKEL WZU@BLD TEST
__ SKEL WZU@BLDC TEST
__ SKEL WZU@BLD; TEST
__ SKEL WZU@BTCH TEST
__ SKEL WZU@COBM TEST
__ SKEL WZU@IN$D TEST
__ SKEL WZU@IN$M TEST
__ SKEL WZU@IN$S TEST
__ SKEL WZU@INPR TEST
__ SKEL WZU@KEEP TEST
__ SKEL WZU@LIST TEST
__ SKEL WZU@LKED TEST
__ SKEL WZU@MTYP TEST
__ SKEL WZU@OBJ TEST
__ SKEL WZU@PART TEST
__ SKEL WZU@PTLI TEST
__ SKEL WZU@PTR TEST
__ SKEL WZU@SXC TEST
__ SKEL WZU@SYSI TEST
__ SKEL WZU@G TEST
__ SKEL WZU@STEP PROD P USER001 2022-05-09 13:31With 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
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
/_ PANL WZUGD TEST
/_ PANL WZUGH TEST
/_ SKEL WZU@BLD TEST
/_ SKEL WZU@BLDC TEST
/_ SKEL WZU@BLD; TEST
/_ SKEL WZU@BTCH TEST
/_ SKEL WZU@COBM TEST
/_ SKEL WZU@IN$D TEST
/_ SKEL WZU@IN$M TEST
/_ SKEL WZU@IN$S TEST
/_ SKEL WZU@INPR TEST
/_ SKEL WZU@KEEP TEST
/_ SKEL WZU@LIST TEST
/_ SKEL WZU@LKED TEST
/_ SKEL WZU@MTYP TEST
/_ SKEL WZU@OBJ TEST
/_ SKEL WZU@PART TEST
/_ SKEL WZU@PTLI TEST
/_ SKEL WZU@PTR TEST
/_ SKEL WZU@SXC TEST
/_ SKEL WZU@SYSI TEST
/_ SKEL WZU@G TEST- 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
ADD/CREATE NEW CONTAINER
COMMAND ===>
Container Type A (A-Assignment, R-Release)
Description IVP2 – Test Compiles______________________________
Assignment Prefix PLAY (Assignment Prefix )
Assignment Owner USER001 (Defaults to user creating container)
Assignment Tag ____ (Optional, free form tag for user)
Default Application PLAY____
Default SubAppl PLAY____ (Sub Application)
Default Stream PLAY____ (PLAY)
Default Path PLAY (DEV1 DEV2 FIX)
Default Release __________ (Optional, default Release for Tasks)
WORK REQ ________________________ (Optional)
Join Users N (Y-Join Users to Assignment)
Sandbox Codeline _ (Y-Create Sandbox Codeline)
Join At Level ____ (Optional, specify Join At Level for Sandbox)
Press ENTER to Add/Create new Assignment, END to terminateWhen 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
ADD TASK TO ASSIGNMENT PLAY000002
COMMAND ===>
IVP2 – TEST COMPILES
Type COB ____ (See list of valid types below)
Name __________________________________________________
Action _ (C-Compile, D-Delete, F-Fallback, H-History)
Application PLAY____ (Default=SITE)
SubAppl PLAY____ (Default=SITE)
Stream PLAY____ (Default=SITE)
Path DEV1 (TEST)
Filter ____ (PROD HOLD)
Release __________ (Default= )
Import N (Import From External Source Y/N)
CLST COB COPY H INCL JOB LKED PLI
Plus module type DATAFrom 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
22.01 ADD TASK TO ASSIGNMENT PLAY000002 Row 1 of 20
Command ===> Scroll ===> CSR
More -->
Show Deleted: Y Checkout Path: DEV1 Action: _ Level Filter: ____
Type Name Appl SubAppl Status
COB_____ ________ ________ ________ ________
COB TPROG01 *ADDED
COB TPROG02
COB TPROG03
COB TPROG04
COB TPROG05
COB TPROG06
COB TPROG07
COB TPROG08
COB TPROG09
COB TPROG10
COB TSUBR01 *ADDED
COB TSUBR02
COB TSUBR03
COB TSUBR04
COB TSUBR05
COB TSUBR06
COB TSUBR07
COB TSUBR08
COB TSUBR09
COB TSUBR10
------------------------------- Bottom of List -------------------------------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
ASSIGNMENT PLAY000002: IVP2 - TEST COMPILES Row 1 of 2
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ COB TPROG01 DEV1 C USER001 2022-05-09 14:15
__ COB TSUBR01 DEV1 C USER001 2022-05-09 14:15
------------------------------- Bottom of List -------------------------------Enter a G against TSUBR01 and press Enter. The screen shown in the following figure should be displayed. Generate options for TSUBR01
P/S/G ---------------- "Hold" Generate ----------------------
COMMAND ===>
Type ==> COB Name(s) for Generated Type(s):
Name ==> TSUBR01 Src1 ==> Src2 ==> Src3 ==> TSUBR01
Load ==> TSUBR01 Lod1 ==> TSUBR01 Lod2 ==> Lod3 ==>
Program (Y/N) ==> N SQL used? ==> N Package used? ==> N
Do Binds? ==> N (Y/N/B) Bind Plans? ==> N Prod DB2 Subsytem ==>
Add'l Gen. Opts ==>
Add'l Link Opts ==>
Compiler ==> CM
Panel Lock? ==> N (Y/N)
JOBCARD Information:
==>
==>
==>
==>
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--
Press ENTER to Submit Generate or END to terminate- Enter an N in the Program (Y/N) field. This indicates to Code Pipeline 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, Code Pipeline 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
ASSIGNMENT PLAY000002: IVP2 - TEST COMPILES Row 1 of 2
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ COB TPROG01 DEV1 C USER001 2022-05-09 14:15
CU COB TSUBR01 DEV1 C USER001 2022-05-09 14:15 IP: G (A) USER001
------------------------------- Bottom of List -------------------------------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
ASSIGNMENT PLAY000002: IVP2 - TEST COMPILES Row 1 of 2
Command ===> Scroll ===> CSR
More -->
+-----------------------------------------------------------------------------+
| Select(/) Add Approve Close Join Reset Show/Hide Work ++/-- |
+-----------------------------------------------------------------------------+
Type Name Lev Op A User Date MM DD Time Status
________ ________ ____ __ _ ________ __________ _____ ____________________
__ COB TPROG01 DEV1 C USER001 2022-05-09 14:15
__ COB TSUBR01 DEV1 G USER001 2022-05-09 14:18
------------------------------- Bottom of List -------------------------------- Promote TSUBR01 to the next level where a controlled generate is performed (under the authority of Code Pipeline).
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
P/S/G ---------------- "Hold" Generate ----------------------
COMMAND ===>
Type ==> COB Name(s) for Generated Type(s):
Name ==> TPROG01 Src1 ==> Src2 ==> Src3 ==> TPROG01
Load ==> TPROG01 Lod1 ==> TPROG01 Lod2 ==> Lod3 ==>
Program (Y/N) ==> Y SQL used? ==> N Package used? ==> N
Do Binds? ==> N (Y/N/B) Bind Plans? ==> N Prod DB2 Subsytem ==>
Add'l Gen. Opts ==>
Add'l Link Opts ==>
Compiler ==> CM
Panel Lock? ==> N (Y/N)
JOBCARD Information:
==>
==>
==>
==>
----|----1----|----2----|----3----|----4----|----5----|----6----|----7--
Press ENTER to Submit Generate or END to terminate- 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.