This section describes the process of not promoting a member and
causing a REBUILD of the load modules which use it at the next level.
For the following description of this project the project will
have the following structure.
Scenario: The DEV1 group contains a DB2® DCLGEN copybook SCLMTB01 for a DB2 table which is in the process of being modified.
You want to build and test in DEV1 using this copybook but do not
want SCLMTB01 promoted until it is ready.
Using the new functionality the member can be modified so it is
not copied to the next level during promotion. Any load modules which
use SCLMTB01 are rebuilt after promotion to the next level (TEST)
to use the version of the copybook at TEST or above.
To do this, you can use either the N line command in the Library
Utility (option 3.1) or Unit of Work (option 3.11) or the FLMCMD/FLMLNK
NOPROM service. For this example, we will use the N line command in
the Library Utility option. By issuing the N line command, SCLM invokes
the following panel.
Figure 1. SCLM Not Promoted
Member Update panel (FLMUSN#P) Menu SCLM Utilities Help
──────────────────────────────────────────────────────────────────────────────
SCLM Not Promoted Member Update
Command ===>
SCLM Library:
PROJECT . . . . : SLMTEST6
GROUP . . . . . : DEV1
TYPE . . . . . . : COPYLIB
MEMBER . . . . . : SCLMTB01
Options
NOPROM: 1 1. No promote (Rebuild)
2. No promote (No Rebuild)
3. Remove no promote status
F1=Help F2=Split F3=Exit F7=Backward F8=Forward
F9=Swap F10=Actions F12=Cancel
By specifying "No promote (Rebuild)", SCLM modifies the accounting
record for SCLMTB01 to have an account status of NOPROM-R.
SLMTEST6.DEV1.COPYLIB(SCLMTB01): Accounting Record
Command ===>
Physical Data Set . : SLMTEST6.DEV1.COPYLIB
Accounting Status . : NOPROM-R Change Group . . . . : DEV1
Change User ID . . : JPHILP Authorization Code . : P
Member Version . . : 2 Auth. Code Change . :
Language . . . . . : TEXT Translator Version . :
Creation Date . . . : 2007/01/08 Change Date . . . . : 2007/01/16
Creation Time . . . : 16:55:08 Change Time . . . . : 09:51:05
Promote User ID . . : Access Key . . . . . :
Promote Date . . . : 0000/00/00 Build Map Name . . . :
Promote Time . . . : 00:00:00 Build Map Type . . . :
Predecessor Date . : 2007/01/08 Build Map Date . . . : 2007/01/16
Predecessor Time . : 16:56:22 Build Map Time . . . : 09:51:05
Enter "/" to select option
Display Statistics
Number of Change Codes : 0
Number of Includes : 0
Number of Includes : 0
Number of Compilation Units : 0
Number of User Entries : 0
F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap
F12=Cancel
While building the record, SCLM analyzes the components and determines
that the member SCLMTB01 has an account status of NOPROM-R. Once the
build has completed, SCLM updates the build maps containing the SCLMTB01
member to have a NOPROM build map record. The build report shows the
build maps that were updated.
******* N O P R O M M E M B E R S ******* Page 5
BUILD BMAP NOPROM NOPROM MBR
MAP TYPE MEMBER TYPE
-------- -------- -------- ----------
SCLMDB2 SOURCE SCLMTB01 COPYLIB
****************************** Bottom of Data ******************************
The build map for the SCLMDB2 COBOL member looks as follows.
SLMTEST6.DEV1.SOURCE(SCLMDB2): Build Map Contents Line
Command ===> Scroll ===> CSR
Build Map Contents
------------------
Keyword Member Type Last Time Modified Ver
-------- ----------------------------------- -------- ------------------- ---
SINC SCLMDB2 SOURCE 2007/01/25 12:06:52 6
OBJ SCLMDB2 OBJ 2007/01/25 12:06:55 6
LIST SCLMDB2 LIST 2007/01/25 12:06:55 6
OUT1 SCLMDB2 DBRM 2007/01/25 12:06:55 6
I1* COBCOPY1 COPYLIB 2007/01/08 16:57:59 1
NOPROM SCLMTB01 COPYLIB
I1* SCLMTB01 COPYLIB 2007/01/16 09:51:05 2
I1* SCLMTB02 COPYLIB 2007/01/16 09:51:12 3
* Internal Keywords
I# - Included member referenced by SINC member, # = Imbedded Group
NOPROM - Member was/will be left behind on promotion.
****************************** Bottom of Data *******************************
F1=Help F2=Split F3=Exit F4=retrieve F5=Rfind F7=Up
F8=Down F9=Swap F10=Left F11=Right F12=Cancel
The NOPROM build map record is used during promote to indicate
that the promotion contains members that are not to be copied to the
next level.
When promoting SCLMDB2 from DEV1 to TEST, SCLM does the following
actions:
- Encounters the NOPROM map record on the build map SCLMDB2.
- Compares the group specified on the NOPROM map record (DEV1) and,
as it is same as the group being promoted from (DEV1), the normal
date and time validation of the non-promoted member in the build maps
takes place.
- Verifies that the SCLM components are current by comparing the
build maps, accounting records, and member statistics.
- While performing this verification, SCLM checks the accounting
record for the accounting status for the SCLMTB01 member. As it is
set to NOPROM-R, SCLM does not copy to the next level the member SCLMTB01,
its accounting record, or any of the build maps containing the NOPROM
member SCLMTB01.
- When copying components to the next level, SCLM does not copy
the SCLMTB01 member, its accounting record, or any of the build maps
(that is, SCLMDB2) containing the SCLMTB01 member.
- Once the copy phase is complete, SCLM invokes a build at the TEST
level. As the build maps containing the SCLMTB01 member were not promoted,
these are rebuilt at the TEST level using the version of SCLMTB01
at the TEST level or above.
The promote report shows the non-promoted members and the build
maps that were affected by the non-promoted member.
*******************************************************************************
** **
** N O T P R O M O T E D M E M B E R S **
** **
*******************************************************************************
BACKUP NOT PROMOTED MEMBER TYPE MEMBER OPTION ________ ________
________ ________
SCLMTB01 COPYLIB REBUILD
PAGE 10
*******************************************************************************
** **
** BUILD MAPS AFFECTED BY NOT PROMOTED MEMBERS **
** **
*******************************************************************************
BUILD BMAP BMAP NOPROM NOPROM MBR MAP TYPE REBUILT
MEMBER TYPE ________ ________ ________ ________ __________
SCLMDB2 SOURCE YES SCLMTB01 COPYLIB
****************************** Bottom of Data ******************************
Once the promote is complete, when you view the SCLMDB2 build map
you can see the SCLMTB01 member used to build SCLMDB2 is dated 2007/01/08
16:56, not 2007/01/16 09:51. This shows that SCLMDB2 was built using
an earlier version of the copybook SCLMTB01 at the TEST level, or
higher.
SLMTEST6.TEST.SOURCE(SCLMDB2): Build Map Contents Line
Command ===> Scroll ===> CSR
Build Map Contents
------------------
Keyword Member Type Last Time Modified Ver
-------- ----------------------------------- -------- ------------------- ---
SINC SCLMDB2 SOURCE 2007/01/25 12:06:52 6
OBJ SCLMDB2 OBJ 2007/01/25 12:10:22 7
LIST SCLMDB2 LIST 2007/01/25 12:10:22 7
OUT1 SCLMDB2 DBRM 2007/01/25 12:10:22 7
I1* COBCOPY1 COPYLIB 2007/01/08 16:57:59 1
I1* SCLMTB01 COPYLIB 2007/01/08 16:56:22 1
I1* SCLMTB02 COPYLIB 2007/01/16 09:51:12 3
* Internal Keywords
I# - Included member referenced by SINC member, # = Imbedded Group
****************************** Bottom of Data *******************************
F1=Help F2=Split F3=Exit F4=retrieve F5=Rfind F7=Up
F8=Down F9=Swap F10=Left F11=Right F12=Cancel