Default language.

Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.
Space announcement To view the latest version of the product documentation, select the version from the Product version menu above the navigation pane.

C – Checkout/Copy


This section provides information about Checkout/Copy. 

C – Definition

Type C beside a module to invoke the Code Pipeline checkout/copy routine. Note modules are never actually “checked out” of Code Pipeline. The Checkout routine simply makes a copy of a module version to base further changes on.

Purpose

The C (Checkout) operation is used to make a copy of a module version to apply updates. Modules are first Added to a Task List, then C(hecked out) for update, then S(elected) to Edit.

Checkout for a New Component

When a component is new, and there are no other versions at Production or elsewhere in the change cycle, there is no source to copy. Code Pipeline creates a blank/empty component.

Checkout Conflicts

Checkout is one of the more complex operations. If another version of the same name is anywhere in the change cycle, Code Pipeline prompts with a list of the component versions to choose from. In many cases, the version in Production may not be the latest version of the module, so users should look at the version list carefully, before picking the version to base changes on.

Checkout Conflict Example

In the example shown in the following figure, other versions are already in the change cycle at the STG1 and QA levels. Depending on the Checkout Level, Code Pipeline will suggest the best version (the one immediately above it in the Path) by showing an S beside it. For example, for DEV1, the version at STG1 is the best candidate. If it is to be based on a different version, the S can be changed to another version.

Version Conflicts

22.01                   COMPONENT VERSION LIST              Row     1 of     3
Command ===>                                                  Scroll ===> CSR  
                                                                     More -->
  Inactive: N                                                                 
                                                                              
   Appl: PLAY     SubAppl: PLAY     Type: COB      Name: TPROG02               
                                                                              
   Lev  iVer bVer rVer Op A User     Date MM DD Time  Status                   
   ____ ____ ____ ____ __ _ ________ __________ _____ ____________________     
__ QA   6    5    5    G    USER002  2022-05-14 13:19                          
S_ STG1 7    6    6    P    USER002  2022-05-14 13:19                          
__ PRD  4    3    3    P    USER001  2022-05-11 14:02                          
------------------------------- Bottom of List -------------------------------

From this list, the user can:

  • Browse the modules at any level with the B command
  • Compare the versions at various levels using the CM command to see what has been changed.

Historical Versions

To check out from an Inactive version, use special Action Code H on the Task Add.

Historical Versions

22.01            COMPONENT VERSION - CHECKOUT (DEV1)        Row     1 of     7
Command ===>                                                  Scroll ===> CSR  
                                                                     More -->
  Inactive: Y                                                                 
                                                                              
   Appl: PLAY     SubAppl: PLAY     Type: COB      Name: TPROG02               
                                                                              
   Lev  iVer bVer rVer Op A User     Date MM DD Time  Status                   
   ____ ____ ____ ____ __ _ ________ __________ _____ ____________________     
__ QA   6    5    5    G    USER002  2022-05-14 13:19                          
__ QA   5    4    4    G    USER002  2022-05-14 13:19 => Superseded Backup     
S_ STG1 7    6    6    P    USER002  2022-05-14 13:19                          
__ PRD  4    3    3    P    USER001  2022-05-11 14:20                          
__ PRD  3    2    2    P    USER001  2022-05-11 14:10 => History               
__ PRD  2    2    2    P    USER001  2022-05-11 14:00 => History               
__ PRD  1    0    0    TL   USER001  2022-05-09 13:58 => History               
------------------------------- Bottom of List -------------------------------

Conflicts Can be Managed

Because the developer doing the Checkout can readily see the other version ahead in the change cycle, conflicts are visible and can be more easily managed.

Component Versions Can Exist at Every Level

Module versions may be Checked out multiple times, in as many update areas as are available. For example, if an Application has defined three change cycle paths—Development, Maintenance, and Fix—the same module could be checked out three times, in all three change paths, with changes for different reasons.

Check Versions Flag

In the examples shown in the following Check Versions Flag and Check Versions Message figures, a new version of the program is checked out to FIX, based on the version in Production.

Check Versions Flag

22.01            COMPONENT VERSION - CHECKOUT (FIX)         Row     1 of     3
Command ===>                                                  Scroll ===> CSR  
                                                                     More -->
  Inactive: Y                                                                 
                                                                              
   Appl: PLAY     SubAppl: PLAY     Type: COB      Name: TPROG02               
                                                                              
   Lev  iVer bVer rVer Op A User     Date MM DD Time  Status                   
   ____ ____ ____ ____ __ _ ________ __________ _____ ____________________     
__ QA   6    5    5    G    USER002  2022-05-14 13:19                          
__ STG1 7    6    6    P    USER002  2022-05-14 13:19                          
S_ PRD  4    3    3    P    USER001  2022-05-11 14:20                          
------------------------------- Bottom of List -------------------------------

To warn users working with the other versions at STG1 and QA, the 'Check Versions' message appears in the Status field beside those versions. It creates greater visibility and is an early notification of a potential version conflict requiring versions to be merged.

Check Versions Message

ASSIGNMENT         PLAY000022: CHANGE CYCLE EXAMPLE 2       Row     1 of    10 
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     TREXX03  STG1 P    USER003  2022-05-16 12:19                     
__   COB      TPROG01  DEV1 G    USER002  2022-05-16 10:14                     
__   COB      TPROG02  DEV1 G    USER001  2022-05-16 10:11                     
__   COB      TPROG02  FIX  C    USER003  2022-05-16 13:01 => Check Versions   
__   COB      TSUBR01  STG1 G    USER002  2022-05-16 10:14                     
__   COB      TSUBR02  DEV1 G    USER003  2022-05-16 10:19                     
__   COPY     TCPYA01  STG1 G    USER002  2022-05-16 10:14                     
__   COPY     TCPYA02  DEV1 G    USER002  2022-05-16 10:14                     
__   COPY     TCPYB01  STG1 P    USER002  2022-05-16 10:14                     
__   COPY     TCPYB02  DEV1 P    USER002  2022-05-16 10:14                     
------------------------------- Bottom of List -------------------------------

COBOL Program TPROG02 is Now in FIX

There are now four versions of COBOL program TPROG02 in the change cycle: one at Production, one at the QA level, one at STG1 level, and one at the FIX level. The first two versions exist in other assignments, whereas the latter two are in the assignment shown in the above example.

V List Shows Module at FIX

Use the V (Versions command) beside COBOL program TPROG02 to see the version list again. For more information, see V – Version List.

The Component Version list now shows the version at the FIX level that has just been checked out.

V List

22.01                   COMPONENT VERSION LIST              Row     1 of     4
Command ===>                                                  Scroll ===> CSR  
                                                                     More -->
  Inactive: N                                                                 
                                                                              
   Appl: PLAY     SubAppl: PLAY     Type: COB      Name: TPROG02               
                                                                              
   Lev  iVer bVer rVer Op A User     Date MM DD Time  Status                   
   ____ ____ ____ ____ __ _ ________ __________ _____ ____________________     
__ QA   6    5    5    G    USER002  2022-05-14 13:19                          
__ STG1 7    6    6    P    USER002  2022-05-14 13:19                          
__ PRD  4    3    3    P    USER001  2022-05-11 14:02                          
__ FIX  0    4    4    C    USER003  2022-05-16 13:01                          
------------------------------- Bottom of List -------------------------------

iVer, bVer, and rVer

As shown in the preceding figure (Component Version list), Code Pipeline warns when there are possible conflicts—and even displays the Version number that changes were based on—to help resynchronize the versions.

  • iVer is the Code Pipeline internal version number. This number is 0 while the module is still at the lowest (update) level in the change cycle. This version at FIX will become version 8 when promoted to the next level.
  • bVer is the base version this specific component version is based on. Note the version in FIX (bVer = 4) was copied from PRD (iVer = 4).
  • rVer is the replace version this specific version may replace if it must be promoted over the top of another version.

Modules Already at Target Level

Occasionally, a module that must be checked out for update is already in that physical file, and therefore is in the way of the Checkout operation. In this situation, an example error message is displayed as shown in the following figure.

Checkout Error Message

ASSIGNMENT            PLAY000002: IVP2 - TEST COMPILES      1 Setproc Error(s)
Command ===>                                                  Scroll ===> CSR  
                                                                     More -->
+-----------------------------------------------------------------------------+
| Setproc Errors. All selections failed for the reasons indicated below.      |
| Press ENTER to continue.                                                    |
+-----------------------------------------------------------------------------+
                                                                              
    Type     Name     Lev  Op A User     Date MM DD Time  Status              
    ________ ________ ____ __ _ ________ __________ _____ ____________________
C    COB      TPROG02  DEV1                                                    
   Conflicts with task in assignment PLAY000002, last operation User ID       
   USER002                                                                    
------------------------------- Bottom of List ------------------------------- 

At this point, there are two choices as to how to proceed:

  • Check the module out to an alternate target library (that is, another leg), or
  • RE(name) the module in the target level library to an alternate name to set it aside temporarily.

Email Interface

When checking out a new version while others already exist somewhere below Production in the change cycle, Code Pipeline can send an email or other type of message to alert other users that a new version has been created. The userIDs of the owners of the other versions are already filled in on the Email Interface screen. Type S beside the Email/SMTP input field and press Enter, then press Enter again on the Confirmation screen.

Email Interface

---------------------------------- EMAIL INTERFACE ----------------------------
COMMAND ===>                                                                   
                                                                              
 Send to:  USER002_  ________  ________  ________  ________ (Leave Blank for  
           ________  ________  ________  ________  ________ list of users)    
                                                                              
           --EMAIL--  ------MVS/TSO-------  ----VM----              (Enter One
 Method:   SMTP => _  SEND => _  XMIT => _  Profs => _  Other => _   or More)
                                                                              
 Subject:  Checkout of Module TCPYB10______________________________           
                                                                              
 Message:  USER003 has checked out a module you currently have signed out.__  
           The details of the checkout are as follows:______________________  
           >  Module Type:        COPY______________________________________  
           >  Module Name:        TCPYB10___________________________________  
           >  Appl / SubAppl:     PLAY / PLAY_______________________________  
           >  Current Level:      DEV1______________________________________  
           >  Level Copied From:  STG1______________________________________  
           >  Project:            PLAY000022________________________________  
           >  Checkout Date:      22/05/31 @ 15:51:01_______________________  
                                                                              
               Press ENTER to send the message or END to exit.                


 

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