FABIRGEN JCL examples
Use the following JCL examples to generate the Sequential Subset Randomizer module and its tables.
Example 1: Generating the Sequential Subset Randomizer, case 1
The following figure presents typical example for generating the Sequential Subset Randomizer.
// EXEC FABIRGEN,MBR=SSRRAND
//C.SYSIN DD *
FABITAB START=1,BYTES=1,VALTYPE=E
FABIDEF ID=A,UNITS=450 BASEL
FABIDEF ID=B,UNITS=150 BELLINZONA
FABIDEF ID=C,UNITS=230 BERN
FABIDEF ID=D,UNITS=170 BIEL
FABIDEF ID=E,UNITS=110 CHUR
..................
FABIDEF ID=Q,UNITS=800 ZURICH
FABIGEN
END
/*
//L.SYSLMOD DD DSN=RANDOMIZ.LIB(&MBR),DISP=SHR
In this example, the FABITAB macro statement specifies that:
- The subset ID starts at the first position of the root key (START=1).
- The length of the subset ID is 1 byte (BYTES=1).
- The values for the subset IDs are exact values (VALTYPE=E).
Each FABIDEF macro statement defines a single subset with the following keywords:
- ID= keyword defines the value of the subset ID.
- UNITS= keyword defines how much relative space should be allocated to the subset.
Example 2: Generating the Sequential Subset Randomizer, case 2
The following figure presents another typical example for generating the Sequential Subset Randomizer.
// EXEC FABIRGEN,MBR=SSRRAND
//C.SYSIN DD *
FABITAB START=3,BYTES=2,VALTYPE=H,IDTYPE=X
FABIDEF ID=0020,UNITS=47 San Francisco
FABIDEF ID=0030,UNITS=24 San Jose
FABIDEF ID=005A,UNITS=62 Los Angeles
FABIDEF ID=0088,UNITS=31 San Diego
FABIDEF ID=0094,UNITS=3 Los Gatos
....................
FABIDEF ID=01FF,UNITS=6 Bakersville
FABIGEN
END
/*
//L.SYSLMOD DD DSN=RANDOMIZ.LIB(&MBR),DISP=SHR
In this example, the FABITAB macro statement specifies that:
- The subset ID starts at the third position of the Root-Key (START=3).
- The length of the subset ID is 2 bytes (BYTES=2).
- The values for the subset IDs are high values (VALTYPE=H).
- The values for the subset ID values are provided as hexadecimal values (IDTYPE=X).
Each FABIDEF macro statement defines a single subset with the following keywords:
- ID= keyword defines the (hexadecimal) values of the subset ID.
- UNITS= keyword defines how much relative space should be allocated to the subset.
The FABIDEF macro statements must be provided in ascending sequence of the hexadecimal subset ID values.
The first FABIDEF macro statement specifies that database roots with subset ID values equal to or lower than X'0020' belong to the first subset. The second FABIDEF macro statement specifies that database roots with subset ID values between X'0020' and X'0030' (X'0020' being excluded) belong to the second subset. The rest of the FABIDEF macro statements define subsets of database roots in the same manner.