Contents of registers

The following information describes how to communicate with the main logic.

Begin product-sensitive programming interface information.

Contents of registers on entry

The following table shows register contents upon entry to the user exit routine:

Table 1. Register contents upon entry to an exit routine
Register Content
1 Pointer to the parameter list
13 Pointer to the register save area
14 Return address
15 Entry-point address of the routine

The following table lists the parameters which are pointed to by register 1 upon entry.

Table 2. Parameter list pointed to by register 1 upon entry
Word Content
1 Address of segment prefix area
2 Address of segment data (see Note)
3 Address of segment table (SGTBL) entry for the segment type
4 Address of key area
Note: The second word (segment-data pointer) points to the beginning of the data portion of the segment. If the segment is a variable-length segment, the pointer points to the size field. If the segment is a fixed-length segment, the pointer points to the beginning of the data, and the segment length is available from the SGLEN field of the SGTBL entry.

Contents of registers on exit

When the control is returned to the caller, the contents of all registers except for Register 15 must be restored. Register 15 must contain one of the return codes that are summarized in the following table.

Table 3. Return codes
Code Meaning
0 FABHFSU writes this segment in the output data set.
4 FABHFSU does not write this segment in the output data set.
8 FABHFSU bypasses this segment and stops the processing for this output data set. If the processing for all output data sets is stopped, FABHFSU ends the job step.
12 FABHFSU bypasses this segment and skips the unload processing to the next root segment.
Note: The DBR skip option must be coded as Y on the PSB control statement. See the description of the DBR skip option in PSB control statement.
16 FABHFSU bypasses this segment and skips the unload processing to the root segment with the sequence key returned in the Key Area.

If a Data Conversion (DFSDBUX1) exit routine is used for the database, the key of the next root must be specified in the application form.

Note: The DBR skip option must be coded as Y on the PSB control statement. See the description of the DBR skip option in PSB control statement.
256+ (any one of the preceding codes) The segment work area contains a decompressed fixed-length segment that is now in a true fixed format.

The length of the fixed-length segment is in the SGLEN field of the SGTBL. If this code is returned, FABHFSU gets the length of the decompressed fixed-length segment from the SGLEN field.

These return codes are allowed only for fixed-length segments.

If a code other than the codes summarized in the preceding table is returned, FABHFSU ends abnormally.

End product-sensitive programming interface information.