Increase number of areas and initialize new fields in segments
The number of areas in the database is increased from three to five, and the segment lengths of two segments (SEGC and SEGD) are increased. Segment changes are applied on the reload step for segment SEGC (not compressed) and segment SEGD (compressed.)
JCL to increase numbers of areas and initialize new fields in segments
02 //STEPLIB DD DISP=SHR,DSN=BMC.PFP.LOAD
03 // DD DISP=SHR,DSN=IMSVS.RESLIB
04 // DD DISP=SHR,DSN=IMSVS.DFSMDA
05 //IMSACB DD DISP=SHR,DSN=IMSVS.ACBLIB
06 //NEWACB DD DISP=SHR,DSN=IMSVS.ACBLIB.NEW
07 //OAREA001 DD DISP=(,CATLG,DELETE),DSN=PFP.PFPSAMP1.UNLOAD,
08 // UNIT=SYSDA,SPACE=(CYL,(150,20),RLSE)
09 //OAREA002 DD DISP=(,CATLG,DELETE),DSN=PFP.PFPSAMP2.UNLOAD,
10 // UNIT=SYSDA,SPACE=(CYL,(150,20),RLSE)
11 //OAREA003 DD DISP=(,CATLG,DELETE),DSN=PFP.PFPSAMP3.UNLOAD,
12 // UNIT=SYSDA,SPACE=(CYL,(150,20),RLSE)
13 //OAREA004 DD DISP=(,CATLG,DELETE),DSN=PFP.PFPSAMP4.UNLOAD,
14 // UNIT=SYSDA,SPACE=(CYL,(150,20),RLSE)
15 //OAREA005 DD DISP=(,CATLG,DELETE),DSN=PFP.PFPSAMP5.UNLOAD,
16 // UNIT=SYSDA,SPACE=(CYL,(150,20),RLSE)
17 //PFPSYSIN DD *
18 UNLOAD DBD=PFPSAMP,
19 IAREA=ALL,
20 OAREA=ALL,
21
INPUT_DSN_MASK='PFP.ICOPY.&DBD.&AREA',
22
SDEP_PROCESS=LOGICAL
23 /*
24 //*******************************************************************
25 //*
IDCAMS <--- area IDCAMS delete/defines
26 //*******************************************************************
27 //PFPRELD EXEC PGM=PFPMAIN,REGION=0M
28 //STEPLIB DD DISP=SHR,DSN=BMC.PFP.LOAD
29 // DD DISP=SHR,DSN=IMSVS.RESLIB
30 // DD DISP=SHR,DSN=IMSVS.DFSMDA
31 // DD DISP=SHR,DSN=BMC.DPK.LOAD
32 //$$DPICDS DD DISP=SHR,DSN=PFP.DPK.DPICDS
33 //$$DPITBL DD DISP=SHR,DSN=PFP.DPK.DPITBL
34 //IMSACB DD DISP=SHR,DSN=IMSVS.ACBLIB.NEW
35 //IAREA001 DD DISP=OLD,DSN=PFP.PFPSAMP1.UNLOAD
36 //IAREA002 DD DISP=OLD,DSN=PFP.PFPSAMP2.UNLOAD
37 //IAREA003 DD DISP=OLD,DSN=PFP.PFPSAMP3.UNLOAD
38 //IAREA004 DD DISP=OLD,DSN=PFP.PFPSAMP4.UNLOAD
39 //IAREA005 DD DISP=OLD,DSN=PFP.PFPSAMP5.UNLOAD
40 //PFPSYSIN DD *
41 RELOAD DBD=PFPSAMP,
42 IAREA=ALL,
43 OAREA=ALL,
44
OUTPUT_DSN_MASK='BMCPFP.&DBD.&AREA',
45 POINTER_VALIDATION=NONE,
46
EXPAND=(SEGD)
47
OUTPUT
SEGMENT=SEGC,
48
FIELDS=(3:8,'000000',11:*)
49 OUTPUT SEGMENT=SEGD,
50 FIELDS=(3:14,
51 17:3P,15:2,
52 20:*,5P'0')
53
IC DSNAME='PFP.ICOPY.&DBD.&AREA(+1)',
54 UNIT=SYSDA,DISP=(NEW,CATLG),SPACE=(CYL,150,5,RLSE)
/*
Line no. | Comments |
---|---|
01-04 | EXEC and STEPLIB DD statements for Fast Path/EP offline execution. |
05, 21 | The DBD from the IMSACB DD statement is used to define the input areas. |
06 07-16 | The DBD from the NEWACB DD statement is used to define the output unload files. |
07-16 | Define output files for unloaded data (one file for each area), including the two new areas. |
17 | PFPSYSIN DD for Fast Path/EP control statements. |
18 | Defines DEBD name for UNLOAD processing. |
19, 21 | IAREA requests that all three areas be processed. These areas are dynamically allocated using the INPUT_DSN_MASK keyword. |
20 | OAREA requests that all areas be written to the unload files. These unload areas are defined by the OAREAxxx DD statements, including ones for the two new areas. |
21 | INPUT_DSN_MASK defines the input data set names for the database being unloaded. These names specify GDG image copy data sets that are dynamically allocated. A generation number of (0) will be used by default. |
22 | Because the DEDB contains SDEPs, SDEP processing must be specified. |
23 | End of UNLOAD control card input. |
24-26 | Comment to indicate that the IDCAMS delete/define for the new areas to be reloaded must be performed. |
27-30 | EXEC and STEPLIB DD statements for Fast Path/EP offline execution. |
31-33 | DD statements that define data sets for the BMC DATA PACKER/IMS product. These data sets are required because segment SEGD is compressed and must be expanded to process the specified changes. |
34 | The DBD from the IMSACB DD statement is used to define the areas being reloaded. |
35-39 | Define input files from UNLOAD. |
40 | PFPSYSIN DD for Fast Path/EP control statements. |
41 | Defines DEDB name to be reloaded. |
42 | IAREA specifies that all unloaded areas to be read. These unload files are defined by the IAREAxxx DD statements. |
43 | OAREA specifies that all areas are to be reloaded. |
44 | OUTPUT_DSN_MASK defines a template to be used to create the area names to be reloaded. These data sets must be allocated prior to running this step. In this case, allocation is performed in the IDCAMS step. |
45 | Pointer validation and physical validation are not performed. POINTER_VALIDATION=NONE overrides the default checksum validation. |
46 | The EXPAND keyword is required because SEGD is a compressed segment that must be expanded to process the specified changes. When specified on a reload statement, the EXPAND keyword functions in the same manner as it does for as for a CHANGE command; SEGD is expanded internally for processing, and is then compressed when written to the area data set. SEGC is not specified since it is not compressed. |
47 49 | OUTPUT subcommands identify the modified segments to be output. All other database segments are written to the output areas, but are not changed. |
47-48 | The segment for SEGC is increased by 6 bytes: SEGM NAME=SEGC,BYTES=(56,13) For SEGC, a new 6-byte character field is inserted after the key. This new field is initialized to zeroes, and the previous data is shifted to a position after the new field. The values that are specified on the FIELDS keyword copies 8 bytes starting in column 3 from the input, 6 bytes of zeroes, followed by the input data starting at column 11 to the end of the input data. |
49 | The segment length for SEGD is increased by 5 bytes. SEGM NAME=SEGD,BYTES=(60,13) |
50 | SEGD is written out in the format defined by the FIELDS statement, as follows: Copy the first 14 bytes from the input segment, starting at column 3. |
51 | Then, the next 2 fields that are written to the output are swapped from where they were positioned on the input file: Starting at column 17 from the input, copy 3 bytes to the output. Next, starting at column 15 from the input, copy 2 bytes to the output. |
52 | Next, starting at column 20 from the input, write out the rest of the segment. Then, append 5 bytes in packed decimal format that are initialized to zero. |
53-54 | Image copies are taken of the reloaded database areas. A new GDG image copy data set is cataloged to DASD. |
Related topic