PSB control statement
The PSB control statement for the standard mode identifies the characteristics of the output data sets to be created. From one to three PSB statements can be used for each execution of FABHFSU.
The PSB control statement applies to all phases of FABHFSU.
0........1.........2.........3.........4.........5.........6.........7.........8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
PSBpsbname ddname1 p#ofuserxit mkxsc extln
- Position
- Description
- 1
- Code the PSB keyword to identify the PSB control statement.
- 4-11
- Code the PSB name.
The 8-character field contains either an asterisk (*) or the name of the PSB that is coded on the EXEC statement of the JCL.
- *
- An asterisk (*) on this field indicates that all segments that
are described in the DBD are to be processed for this output data
set.
When running FABHFSU in ULU region, specify this value.
- PSB_name
- If the name of the PSB that is coded on the EXEC statement is
specified, it indicates that segment types passed to the output routines
are controlled through the segment sensitivity of the PCB specified
in positions 20 - 21. The name of the PSB must match the name that
is supplied in the PARM field of the EXEC statement. The name must
be left-aligned with trailing blanks.
Coding the PSB name is valid only for FABHFSU running in the DLI region.
- 12-19
- Code the output DD name.
This 8-character entry specifies the name of the DD statement that defines the data set to be created. An output DD name is required unless the output format specification in positions 22 – 23 is NO. ddname1 must be left-aligned with trailing blanks.
- 20-21
- Code the PCB number.
The 2-character entry p# specifies which database PCB within the PSB is to be used. This entry determines the segments written into the output data set that is identified by the output DD name field (column 12 - 19). The PCB referred to must specify the dbdname that is specified in positions 4 – 11 of the DBD control statement.
If the field is left blank, the first database PCB that refers to the DBD specified by the DBD control statement is used.
The number p#, if specified, must be the sequence number that starts from the first database PCB in the PSB; TP PCBs are not counted. Specify 1 for the first database PCB in the PSB.
Note: To assure compatibility with FABHFSU of DBT HSSR, it is processed as if 1 was specified when one of values '00', ' 0 ', or '0 ' is specified. - 22-23
- Code the output format.
The 2-character entry of specifies the output format of the data set to be created. Specify one of the following keywords:
- HS
- HSAM format
- UL
- IMS HD Reorganization Unload format
- MI
- IMS HD Reorganization Unload
format for migration unload from an HDAM or HIDAM database to a PHDAM
or PHIDAM database.Restrictions:
- This format can be specified only in a ULU region.
- If PTR=H or PTR=HB is defined as the parent segment of virtual logical child, the database is not supported.
- Migration unload of a secondary index or HISAM database is not supported.
- When MI format is selected, two or more PSB control statements cannot be specified.
- VB
- Variable-length-blocked data set of the selected segments (one segment per logical record)
- VN
- The format is similar to VB except that the segment name is included in addition to the segment code.
- NO
- No output data set is created by FABHFSU. The output function can be handled in an exit routine.
For more information about these output formats, see Unload output format supported by FABHFSU.
- 24
- Code the exit routine name.
The 8-character entry specifies the name of a user exit routine. The name must be left-aligned with trailing blanks. The load module must be in a STEPLIB library. For more information, see FABHFSU user exit routine.
Note: If a user exit routine is specified and one or more partitions are in the HALDB OLR cursor-active status, FABHFSU ends abnormally. - 32
- Code this field to activate the segment modification option.
The 1-character entry m indicates whether segments are to be modified by the user exit routine.
Specify one of the following keywords:
- Y
- Indicates that segments are to be modified by the user exit.
This option does not support a change of the database segment length. If you change the segment length with the Y option, the result is unpredictable. For details, see Modifying segments in user exits.
- E
- Indicates that segments are to be modified by the user exit.
This option supports a change of the database segment length. The option is valid only for HDAM, HIDAM, PHDAM, and PHIDAM databases.
An extra 100-byte field is added at the end of the segment data that is passed to the exit routine. This extra field can be used for segment extension. If the default length of this extra field is shorter than you require, you can change the length of the extra field by specifying the length in column 41 of the same PSB statement.
If this option has been selected, any request to activate the compare option used for problem determination is deactivated.
For details, see Modifying segments in user exits.
- N | blank
- Indicates that segments are not to be modified by the user exit (default).
- 33
- Code this field to activate the concatenated key option.
The 1-character entry k indicates whether the fully concatenated key of each segment is to be built and passed to the exit routine.
Specify one of the following keywords:
- Y
- Build concatenated key.
- N | blank
- Do not build concatenated key (default).
- 34
- Code this field to activate the exit routine control option.
The 1-character entry x indicates whether the user exit routine is given control before and after segments are processed (see FABHFSU user exit routine).
Specify one of the following keywords:
- Y
- Allow exit routine control.
- N | blank
- Do not allow exit routine control (default).
- 35
- Code this field to activate the DBR skip option.
The 1-character entry s, the Database Record (DBR) skip option, indicates whether return code 12 or 16 is valid for the exit routine specified in columns 24 - 31 of this statement. A return code 12, if valid, causes FABHFSU to skip the remaining segments associated with the current root segment and begin processing at the next root segment.
Return code 16 causes a skip to a new root key value specified by the exit routine.
Use this control statement only when a single PSB control statement is defined. The skipping invoked by one PSB statement affects all others included in the same run.
For more information about return codes from the user exit routines, see Contents of registers on exit.
Specify one of the following codes:
- Y
- Allow DBR skip option.
- N | blank
- Do not allow DBR skip option (default).
- 36
- Code this field to activate the data conversion option.
If a Data Conversion exit (DFSDBUX1 exit) is activated, the user exit routine specified by the exit routine name option in column 24 receives the segment data that has been converted from the stored form to the application form.
The 1-character entry c indicates whether the inverse conversions, that is, the conversion from the application form to the stored form, is done before the segment data edited in the exit routine is written into the output data set.
Specify one of the following keywords:
- Y
- Perform the conversion.
This option is valid only for UL and HS unload format, and is valid only when the option 'DATXEXIT YES' is specified in the HSSROPT data set.
- N | blank
- Do not perform the conversion. This keyword is the default.
- 37-40
- The value specified in this 4-byte field is always ignored.
- 41-45
- Code the extension length.
The 5-digit numeric entry extln specifies how many extra bytes are to be reserved for the segment extension in the exit routine. The length specified on this field, plus the maximum length of the segments in the database, will be used as the length of the work area for editing segments in the exit routine. This field is valid only when the option 'E' is specified in column 32 of the PSB statement. If the option 'E' is specified and this field is blank, the default value, 100, is used.
You can specify a value in the range of 00000 - 32767.
Notes:- If the resulting length of the segment editing work area is more than 32,767 bytes long, 32,767 is used as the length of the work area.
- If option 'E' is not specified in column 32, the value specified on this field is ignored.