condition and terminates processing if an ‘*’ is specified
with any trigger
n
parameter other than trigger1. The
supported range of values for
record
is 0 to 255.
column
| * Specifies the byte offset from the beginning of the record
where the trigger value is located. This value can be
specified in absolute terms (for example, 10) or as ‘*’,
which results in ACIF scanning the record from left to
right looking for the trigger value. A value of 1 refers to
the first byte in the record. For files containing
carriage-control characters, column 1 refers to the
carriage-control. The supported range of values for
column
are 1 to 32756. ACIF compares the trigger value
to the input data. If the specified value exceeds the
physical length of the record, ACIF considers the
comparison “false” and continues processing.
'
trigger value
' |
X
'
trigger value
'
Specifies the actual alphanumeric (case-sensitive) or
hexadecimal value of the trigger. ACIF does not perform
any validity checking on this value, but uses it in
performing a byte-for-byte comparison with the records
in the file. The trigger value can be 1–253 bytes in
length. If the combined values of
column
and the trigger
length exceed the physical length of the record, ACIF
considers the comparison “false” and continues
processing.
For example, to use a carriage-control character as a trigger, you
enter:
trigger1=\,1,'1' /\ Look for Skip-to-Channel 1
trigger2=ð,5ð,'ACCOUNT:' /\ Find account number
trigger3=3,75,'PAGE 1' /\ Find page 1
In this example, trigger1 instructs ACIF to scan every record, looking
for the occurrence of '1' in the first byte. After ACIF locates a record
containing the '1', it looks in the same record, starting at byte 50, for
the occurrence of ‘ACCOUNT:’. If ‘ACCOUNT:’ is found, ACIF looks at
the third record down for a value of ‘PAGE 1’, starting at byte 75. If
‘PAGE 1’ is found, ACIF defines the record containing trigger1 as the
indexing anchor record, and all indexing information is specified as
relative locations relative from this point.
If ACIF finds either ‘ACCOUNT:’ or ‘PAGE 1’, ACIF begins scanning
the first record after the farthest field specified. If either ‘ACCOUNT:’
or ‘PAGE 1’ are not found at their specified locations relative to
trigger1, ACIF begins looking for trigger1 again, starting with the next
record (that is, the current record containing trigger1 +1).
Chapter 2. Using ACIF Parameters in AIX 47