GENSWAP statement
This statement is used to generate the job stream for a subsequent FDRPAS job. The model JCL and control cards for the job stream are in the PASJOB DD (input), and the generated job stream is written to the INTRDR DD. If an INTRDR DD statement is not supplied, then by default, GENSWAP dynamically allocates INTRDR to a JES internal reader and submits the generated job stream for immediate execution. Alternatively, INTRDR can be allocated to SYSOUT or to a data set, for checking and possible later execution. Within the generated job stream for an FDRPAS SIMSWAPMON, SWAP, or SWAPDUMP job, there can be embedded job streams for FDRPAS monitors to be submitted to other LPARs.
The GENSWAP statement syntax is as follows:
GENSWAP | |
---|---|
,MAXACTIVESWAPS=NO|nnn ,MAXCARDS=9999|nnnnn ,MAXDD=1000|nnnnn ,MAXGEN=64|nnnnn ,SUBMITDELAY=15|nn ,SWAPID=nnn ,VOLSORT=NO|YES |
If you set up a SWAP, SWAPDUMP, SIMSWAP, or SIMSWAPMON manually, you have to code a separate MOUNT statement for every volume to be swapped, with a corresponding SWAPUNIT. With GENSWAP, however, you can select all of the volumes in an SSID or in an entire control unit with one MOUNT statement. This works well when there is a correspondence between the device addresses of the source and target units. For example, if the source volumes are in an SSID with the address range 1000 to 10FF, and the target devices are in the address range A000 to A0FF, then the target units can be specified as SWAPUNIT=A0** or SWAPUNIT=A***. With GENSWAP, you can also EXCLUDE volumes that are within the scope of a following SELECT statement.
GENSWAP generates one or more jobs; the number of volumes included in each job is specified by the MAXGEN= operand. If more than one job is to be generated, then to make the job names unique, the model JOB statement in PASJOB must include one, two, or three ampersands (&) to be used as substitution characters.
GENSWAP can also generate jobs to execute across multiple LPARs.
GENSWAP statement operands
TYPE=FULL
Must be specified on the GENSWAP statement.
ALREADYINSWAP=BYPASS
Do not include in the generated MOUNT command a volume for which a SWAP or SWAPDUMP is currently in progress. This operand allows a rerun of the GENSWAP job using the same GENSWAP MOUNT statement(s) and only generates the SWAP and SWAPDUMP MOUNT statement(s) for the volume(s) in the job that failed, were aborted, or were excluded from an earlier run. Refer to Dealing with Possible Problems for additional information on using this operand.
MAXACTIVESWAPS=
MAS=
NO - GENSWAP does not control the MAXACTIVESWAPS option for the generated jobs. The MAXACTIVESWAPS= operand on the SWAP or SWAPDUMP statement in the generated jobs is honored.
nnn - The number of FDRPAS tasks that can be in the initial copy phase within one LPAR is limited to “nnn” tasks. Values for “nnn” may be from 1 to 128.
GENSWAP adds the keyword MASID= (“max active swap ID”; no relation to the MASID operand of the ENQ macro) to the generated MOUNT statements in the SWAP or SWAPDUMP jobs. The value of MASID= ranges from 1 to “nnn”. Only one FDRPAS task with a given MASID is allowed to be in the initial copy phase on one system at any given time.
MAXACTIVESWAPS=nnn is especially useful when CONFIRMSWAP=YES or CONFIRMSPLIT=YES is specified (in the SWAP main task), since this usually implies many volumes are in “confirm” state before the operation is finally confirmed and terminated. This allows you to submit the FDRPAS jobs for all those volumes at once knowing that no more than “nnn” are ever in “pass 1” within one LPAR.
Default: NO.
MAXCARDS=
nnnnn -Specifies the maximum number of MOUNT statements that can be generated in this GENSWAP step, from 1 to 32767.
Default: 9999.
MAXDD=
nnnnn - Specifies the maximum number of volumes that can be stored in an internal disk volume table.
If more than 1000 volumes need to be processed, then MAXDD= must be coded to increase the number of volumes that can be stored in the internal disk volume table.
Default: 1000.
MAXGEN=
nnnnn - Specifies the number of volumes (1 to 32767) to be included in each generated job. Each time this number of MOUNT statements is generated:
- GENSWAP copies any remaining records in the PASJOB input
- submits the job
- returns to the beginning of its PASJOB input
- increments the job ID number
- starts generating a new job
Default: 64.
SUBMITDELAY=
nnnn - Specifies the time interval in seconds, from 0 to 3600, that GENSWAP waits between submitting jobs. The purpose of this operand is to avoid flooding the system with jobs and to allow the SWAP tasks to start in a more orderly manner, when GENSWAP is submitting SIMSWAPMON, SWAP, and SWAPDUMP jobs to the internal reader.
SUBMITDELAY= is ignored when:
- The INTRDR DD is allocated to SYSOUT or a data set; in this case, GENSWAP does not wait between jobs.
- When the job being submitted is SIMSWAP; in this case GENSWAP does not wait between jobs (because SIMSWAP jobs run quickly and do not have to coordinate with monitors).
Default: 15.
SWAPID=
nnn - Specifies a starting value (1 to 255) for a sequential number to be associated with each generated job. When the number of volumes specified by MAXGEN has been included in a generated job, GENSWAP:
- copies any remaining records in the PASJOB input
- submits the job
- returns to the beginning of its PASJOB input
- increments the SWAPID number
- starts generating a new job
When SWAPID is incremented, the value 64 is skipped. Also, if SWAPID=64 is specified, it is treated as 65. (64 is X'40' = blank, which has special meaning internally.)
The SWAPID= value is used for several purposes:
- It is substituted into the job names of the generated jobs in order to give them unique names. When more than one job is to be generated, the job name on the JOB statement in PASJOB should include one, two, or three ampersands (&). GENSWAP replaces the ampersand(s) with the current SWAPID= value. GENSWAP fails if there are not enough ampersands (two if SWAPID= is higher than 9, and three if SWAPID= is higher than 99)
- It is used internally in FDRPAS enqueues.
Default: 1.
VOLSORT=
NO - The GENSWAP process does not sort the volumes being processed by size.
YES - The GENSWAP process sorts all the volumes by size (largest first) and selects one volume of a given size from each separate SSID in rotation, in order to avoid contention.
Default: NO.