AFP
AFP (Advanced Function Printing) reports captured through the 390 indexer must already have been formatted into an AFP Data Stream (AFPDS). This can be done by using ACIF (AFP Conversion and Indexing Facility) or by any third party program. The 390 indexer looks for index values within the AFPDS, either in TLE or NOP records. ACIF, and other programs, can automatically generate the TLE records. The NOP records for use by the 390 indexer have a fixed format.
The NOP record format provides space for 32 indexes of up to 256 characters each. One ODZOSSEG record must exist for each document. This identifies that a new document is starting, and provides one complete set of index values for the document.
One or more ODZOSDIR records can exist for each document. This record provides an additional set of index values for the document.
NOP record formats for earlier releases of Content Manager OnDemand for z/OS® and R/DARS-ESA are supported by the 390 indexer for compatibility purposes.
Position | Description |
---|---|
1 | X'5A' |
2 - 3 | Length of this record - 1 |
4 - 6 | X'D3EEEE' |
7 - 9 | X'000000' |
10 - 17 | 'ODZOSSEG' or 'ODZOSDIR' |
18 - 273 | Value of field 1 (256 bytes) |
274 - 529 | Value of field 2 (256 bytes) |
530 - 785 | Value of field 3 (256 bytes) |
786 - 1041 | Value of field 4 (256 bytes) |
1042 - 1297 | Value of field 5 (256 bytes) |
1298 - 1553 | Value of field 6 (256 bytes) |
1554 - 1809 | Value of field 7 (256 bytes) |
1810 - 2065 | Value of field 8 (265 bytes) |
2066 - 2321 | Value of field 9 (256 bytes) |
2322 - 2577 | Value of field 10 (256 bytes) |
2578 - 2833 | Value of field 11 (256 bytes) |
2834 - 3089 | Value of field 12 (256 bytes) |
3090 - 3345 | Value of field 13 (256 bytes) |
3346 - 3601 | Value of field 14 (256 bytes) |
3602 - 3857 | Value of field 15 (256 bytes) |
3858 - 4113 | Value of field 16 (256 bytes) |
4114 - 4369 | Value of field 17 (256 bytes) |
4370 - 4625 | Value of field 18 (256 bytes) |
4626 - 4881 | Value of field 19 (256 bytes) |
4882 - 5137 | Value of field 20 (256 bytes) |
5138 - 5393 | Value of field 21 (256 bytes) |
5394 - 5649 | Value of field 22 (256 bytes) |
5650 - 5905 | Value of field 23 (256 bytes) |
5906 - 6161 | Value of field 24 (256 bytes) |
6162 - 6417 | Value of field 25 (256 bytes) |
6418 - 6673 | Value of field 26 (256 bytes) |
6674 - 6929 | Value of field 27 (256 bytes) |
6930 - 7185 | Value of field 28 (256 bytes) |
7186 - 7441 | Value of field 29 (256 bytes) |
7442 - 7697 | Value of field 30 (256 bytes) |
7698 - 7953 | Value of field 31 (256 bytes) |
7954 - 8209 | Value of field 32 (256 bytes) |
TRIGGER1=*,1,X'5A',(TYPE=GROUP) /* AFP x'5A' */
FIELD1=-0,1,14,(TRIGGER=1,BASE=0)
FIELD2=0,1,24,(TRIGGER=1,BASE=0)
FIELD3=0,1,18,(TRIGGER=1,BASE=0)
INDEX1=X'D796938983A8',FIELD1,(TYPE=GROUP,BREAK=YES) /* Policy */
INDEX2=X'C39695A38595A3A2',FIELD2,(TYPE=GROUP,BREAK=NO) /* Contents */
INDEX3=X'C995A2A4998584',FIELD3,(TYPE=GROUP,BREAK=NO) /* Insured */
INDEXSTYLE=AFP
In the previous example, the TRIGGER record is not used by the 390 indexer and is specified only to meet syntax checking requirements of the graphical indexer. The only value used from the FIELD records is the length value. The name fields of the INDEX values must match the Attribute Name field of the TLE records, and is used to map the index values back to the Application Group data table columns. The BREAK parameter of the INDEX record is not used.
TRIGGER1=*,1,X'5A',(TYPE=GROUP) /* AFP x'5A' */
FIELD1=-0,1,15,(TRIGGER=1,BASE=0) /* Length of data to extract = 15 */
FIELD2=0,1,11,(TRIGGER=1,BASE=0) /* Length of data to extract = 11 */
FIELD3=0,1,8,(TRIGGER=1,BASE=0) /* Length of data to extract = 8 */
FIELD4=0,1,8,(TRIGGER=1,BASE=0) /* Length of data to extract = 8 */
INDEX1=X'F1',FIELD1,(TYPE=GROUP,BREAK=NO) /* CUST_NAME in NOP Field 1 */
INDEX2=X'F2',FIELD2,(TYPE=GROUP,BREAK=YES) /* ACCOUNT_NUM in NOP Field 2 */
INDEX3=X'F5',FIELD3,(TYPE=GROUP,BREAK=NO) /* REPORT_DATE in NOP Field 5 */
INDEX4=X'F6',FIELD4,(TYPE=GROUP,BREAK=NO) /* POSTING_DATE in NOP Field 6 */
INDEXSTYLE=AFP
In the previous example, the TRIGGER record is not used by the 390 indexer and is specified only to meet syntax checking requirements of the graphical indexer. The only value used from the FIELD records is the length value. The name fields of the INDEX values are character representations of numbers which point to the position within the NOP record where the index value is to be found for each index. The BREAK parameter of the INDEX record is not used.
- Content Manager OnDemand for
z/OS
V2.1 used NOP record types of OD390SEG and OD390DIR. The INDEX record for the Posting Date field must specify a name value of X'F1F7', for example:
INDEX4=X'F1F7',FIELD4,(TYPE=GROUP,BREAK=NO) /*POSTING_DATE in OD390SEG NOP*/
- Content Manager OnDemand for
z/OS
V1.1 and R/DARS-ESA used NOP record types of RDARSSEG and RDARSDIR. The INDEX record for the Posting Date field must specify a name value of X'F6', for example:
INDEX4=X'F6',FIELD4,(TYPE=GROUP,BREAK=NO) /*POSTING_DATE in RDARSSEG NOP*/