FIELDn
Specifies the data fields to be used to construct the indexing information. These data fields can be specified as literal values (constants) or ACIF can retrieve the data from the input records of the file. You can define a maximum of 16 fields (FIELD1 through FIELD16).
FIELDn={record,column,length} | {‘literalvalue’ | X‘literalvalue’}
The values are:
- record
- Specifies the relative record number from the indexing anchor record. When ACIF is indexing the file, it uses the information that is specified in the TRIGGERn parameter to determine a page-group boundary. When all of the specified TRIGGERn values are true, ACIF defines the indexing anchor record as the record where TRIGGER1 is located. TRIGGER1 becomes the reference point from which all indexing information is located. The supported range of values for record are ±0 to 255.
- column
- Specifies the byte offset from the beginning of the record. A value of
1
refers to the first byte in the record. For files that contain carriage control characters, column 1 refers to the carriage control. For those applications that use a specific carriage control character to define page boundaries (for example, skip to channel 1), consider defining the value of the carriage control character as one of the TRIGGERn parameters. The supported range of values for column are 1 - 32756. If the specified value exceeds the physical length of the record, ACIF reports an error condition and ends processing. - length
- Specifies the number of contiguous bytes (characters), starting at column, that composes this field. The supported range of values for length are 1 - 250.
The field can extend outside the record length, if the column where it begins lies within the record length. In this case, ACIF adds padding blanks (X'40') to complete the record. If the field begins outside the maximum length of the record, ACIF reports an error condition and ends processing.
- literal value | X'literal value'
- Specifies the literal (constant) value of the FIELDn parameter. The literal value can be 1 - 250 bytes in length (one hexadecimal literal value equals 2 bytes). ACIF does not do any validity checking on the actual content of the supplied data.
Note: The literal value can be specified as ASCII character data or hexadecimal data. However, if the input data file is anything other than ASCII, the value must be specified as hexadecimal data (otherwise, the comparisons between the input data file and what is coded in the FIELDn parameter do not yield a match).
For example, to specify five fields in your print job, you can enter:
FIELD1=0,2,20
FIELD2=5,5,10
FIELD3=-15,30,5
FIELD4='444663821'
FIELD5=X'0001'
In the example, the fields have these values:
- The first field is located in the indexing anchor record (TRIGGER1). The field is 20 bytes in length, starting at the second byte of the record.
- The second field is located five records down from the indexing anchor record. The field is 10 bytes in length, starting at the fifth byte of the record.
- The third field is located 15 records before the indexing anchor record. It is 5 bytes in length, starting at byte 30.
- The fourth and fifth fields are literal (constant) values. The fourth field is specified as character data; the fifth field is specified as hexadecimal data.
For more information about using literal values or data values for indexing, see Indexing with literal values and Indexing with data values.
- Note:
- ACIF allows fields to be defined but never referenced as part of an index. Because
ACIF requires either a field or TRIGGER to appear on the first page of a logical document, unless the INDEXSTARTBY parameter is used, you can satisfy this requirement by defining a
DUMMY
field. This DUMMY field lets ACIF determine the beginning page of a logical document, but it is not used as part of an index. If you specify the INDEXSTARTBY parameter, start counting on the first page on which you have a valid field, not a DUMMY field. - ACIF requires that at least one TRIGGERn or FIELDn value appear within the page range that is specified by the INDEXSTARTBY parameter (unless INDEXSTARTBY=0 is specified). If no TRIGGERn or FIELDn parameter is satisfied within the INDEXSTARTBY page range, ACIF stops processing and issues an error message. If you do not want ACIF to stop processing when it cannot find a group indexing field or when a file is empty, you must set the parameter to INDEXSTARTBY=0 or specify EXTENSIONS=EMPTYOK.
- At least one TRIGGERn or FIELDn value must exist on the first page of every unique page group. ACIF cannot detect an error condition if TRIGGERn or FIELDn is missing, but the output might be incorrectly indexed.
See Enhanced indexing parameters for information about using the FIELDn parameter with enhanced ACIF indexing.