SENFLD statement
Use the SENFLD statement with the SENSEG statement to indicate the fields within a segment that an application program is sensitive to. The SENFLD statement is not supported for the MSDB and DEDB database types.
Include one or more SENFLD statements, up to a maximum 10,000 statements in a single PSB generation. Each SENFLD statement must follow the SENSEG statement that it is related to. You can define a maximum of 255 SENFLD statements for a SENSEG statement.
The same field can be referenced in more than one SENFLD statement within a SENSEG statement. If the duplicate field names participate in a concatenated segment and the same field name appears in both portions of the concatenation, the first reference is to the logical child, and all subsequent references are to the logical parent. This referencing sequence determines the order in which fields are moved to the I/O area of the user.
For retrieve-only processing you can use the SENFLD statement to request that the same data be moved to multiple locations in your I/O area, if no overlapping occurs, and that sensitive fields of variable-length segments are of the same type.
- The length field of a variable-length segment cannot be referenced through a SENFLD statement.
- A SENFLD statement cannot appear within a SENSEG that specifies PROCOPT=K.
- A SENFLD statement cannot not appear within a SENSEG that specifies PROCOPT=I or L, if the SENSEG refers to a logical child segment.
- If SENFLD statements are used within a SENSEG that specifies PROCOPT=I or L, a SENFLD statement must be included for the segment sequence field, if it exists.
The format of the SENFLD statement is as follows:
>>-SENFLD--NAME=name,START=startpos--| A |--------------------->< A .-YES-. |--+-,REPLACE=-+--+-----+---------------------------------------| '-,REPL=----' '-NO--'
- NAME=
- 1- to 8-alphanumeric character name of the field, as defined by a FIELD statement during DBD generation.
- START=
- Starting position of this field relative to the beginning of the segment within the I/O area of the user. The startpos value for the first byte of a segment is 1. The startpos value must be a decimal number from 1 - 32767.
- REPLACE= or REPL=
- Specifies whether this field can be altered on a replace call. REPLACE=YES is the default.