Specifying indexing parameters

To locate indexing attributes in the sample report, two TRIGGER parameters are required that tell ACIF to examine the first byte of an input record and then look for a specific hexadecimal string.

Before you begin

The sample report uses the following data values for indexing attributes:
  • Account Number (acctnum)
  • Customer Name (custnam)
  • Statement Date (sdate)

About this task

Important: If you are processing EBCDIC data on z/OS® , the trigger and index values can be expressed as regular character strings (or hex), but if you are processing EBCDIC data on multiplatform operating systems, then they must be expressed in hexadecimal.

To locate these indexing attributes in the sample report, two TRIGGER parameters are required. The first trigger tells ACIF to examine the first byte of every input record until it finds the occurrence of an ANSI skip-to-channel one carriage control character.

After locating a record containing a character '1' (on z/OS systems) or hexadecimal X'F1' (on multiplatform systems) in the first byte, ACIF uses the second trigger to look for the following string starting in column 72 of the same input record:
  • On z/OS systems: the character string 'Page 0001'
  • On multiplatform systems: the hexadecimal string X'D7C1C7C540F0F0F0F1' (PAGE 0001)
When this condition is found, a new statement exists, and the record containing a character '1' (on z/OS systems) or hexadecimal X'F1' (on multiplatform systems) in the first byte is considered the anchor record. ACIF uses the anchor record to locate index values. The trigger specifications are expressed as follows:
Indexing EBCDIC data (part 1 of 4) on z/OS (using regular character strings):
trigger1=*,1,'1'                  /* Skip to Channel 1 */
trigger2=0,72,'Page 0001'         
Indexing EBCDIC data (part 1 of 4) on multiplatform systems (in hexadecimal format):
trigger1=*,1,X'F1'                  /* Skip to Channel 1 */
trigger2=0,72,X'D7C1C7C540F0F0F0F1' /* PAGE 0001         */

ACIF uses both trigger values to locate the place in the report file to begin searching for the data described in the parameters.

To create the indexing tag for the customer name attribute, define the following string as the indexing attribute:
  • On z/OS systems: the character string 'custnam'
  • On multiplatform systems: the hexadecimal string X'839AA2A3958194' (custnam)
The index field name is the same as the application group database field name. Locate customer name index values in the second record following the anchor record, starting at byte 40 and extending for 20 bytes. The FIELD and INDEX specifications are expressed as follows:
Indexing EBCDIC data (part 2 of 4) on z/OS (using regular character strings):
field1=2,40,20                  /* custnam field            */
index1='custnam',field1         /* index/db field = custnam */
Indexing EBCDIC data (part 2 of 4) on multiplatform systems (in hexadecimal format):
field1=2,40,20                  /* custnam field            */
index1=X'839AA2A3958194',field1 /* index/db field = custnam */
To create the indexing tag for the statement date attribute, define the following string as the indexing attribute:
  • On z/OS systems: the character string 'sdate'
  • On multiplatform systems: the hexadecimal string X'A28481A385' (sdate)
The index field name is the same as the application group database field name. Locate statement date index values in the sixth record following the anchor record, starting at byte 56 and extending for 10 bytes. The FIELD and INDEX specifications are expressed as follows:
Indexing EBCDIC data (part 3 of 4) on z/OS (using regular character strings):
field2=6,56,10              /* sdate field            */
index2='sdate',field2       /* index/db field = sdate */
Indexing EBCDIC data (part 3 of 4) on multiplatform systems (in hexadecimal format):
field2=6,56,10              /* sdate field            */
index2=X'A28481A385',field2 /* index/db field = sdate */
To create the indexing tag for the account number attribute, define the following string as the indexing attribute:
  • On z/OS systems: the character string 'acctnum'
  • On multiplatform systems: the hexadecimal string X'818383A395A494' (acctnum)
The index field name is the same as the application group database field name. Locate account number index values in the seventh record following the anchor record, starting at byte 56 and extending for 19 bytes. The FIELD and INDEX specifications are expressed as follows:
Indexing EBCDIC data (part 4 of 4) on z/OS (using regular character strings):
field3=7,56,19                  /* acctnum field            */
index3='acctnum',field3         /* index/db field = acctnum */
Indexing EBCDIC data (part 4 of 4) on multiplatform systems (in hexadecimal format):
field3=7,56,19                  /* acctnum field            */
index3=X'818383A395A494',field3 /* index/db field = acctnum */

After indexing the report, Content Manager OnDemand stores the index values in the database for each of the three indexing attributes for each statement in the input data stream. Using a Content Manager OnDemand client program, you can locate a specific customer statement using a date, and optionally, any combination of customer name and customer number.