Hi fellow ODUsers,
I have been facing a typical problem with document breaking. I had an existing report layout (for EBCDIC reports) being indexed using ACIF. Per the new revisions mandated by the customer,
1. The positions of some of the fields changed a little
2. For some other fields, the width changed a little
3. Two fields got added.
So, I made these minor changes to the Indexer code, no biggie. Now to the weird part - earlier the same (well, almost) indexing scheme used to split a multi-page document to multiple single-page documents based on the change in field values E.g. a 3-page document would be split into 3 separate documents of 1 page each and each of the documents would have the correct index values saved against it in the database. If the OutletID field is populated as 0133, 0149, 0157 on three different pages, it appeared likewise in the indexes. But now:
1. Three rows get created but no split actually happens. All the three documents contain all the three pages
2. The index values populated for the first document are correct (picked from the first page) but these values are also duplicated for the second and third documents. i.e. OutletID 0133 is getting populated for the other documents too. Likewise for other fields. Only the ProbationDate field changes now (it is based on a floating trigger)
CC=YES
CCTYPE=A
CONVERT=NO
CPGID=500
MCF2REF=CPCS
TRC=NO
FILEFORMAT=RECORD,133
TRIGGER1=*,1,X'F1',(TYPE=GROUP) /* 1 */
TRIGGER2=2,61,X'C3E3D940C6C9D3C540D9C5D7D6D9E3',(TYPE=GROUP) /* CTR FILE REPORT */
TRIGGER3=*,37,X'E5C9D6D3C1E3C9D6D540C4C1E3C5407A',(TYPE=FLOAT) /* PROBATION DATE : */
FIELD1=1,3,10,(TRIGGER=1,BASE=0)
FIELD2=4,17,3,(TRIGGER=1,BASE=0)
FIELD3=6,17,10,(TRIGGER=1,BASE=0)
FIELD4=4,54,8,(TRIGGER=1,BASE=0)
FIELD5=4,90,8,(TRIGGER=1,BASE=0)
FIELD6=7,17,100,(TRIGGER=1,BASE=0)
FIELD7=0,54,8,(TRIGGER=3,BASE=0,MASK='########',DEFAULT=X'F0F1F0F1F1F9F7F0') /* 01011970 */
FIELD8=8,23,5,(TRIGGER=1,BASE=0)
FIELD9=5,17,9,(TRIGGER=1,BASE=0)
INDEX1=X'C49683A4948595A3C481A385',FIELD1,(TYPE=GROUP,BREAK=YES) /* DocumentDate */
INDEX2=X'D98583969984E3A89785',FIELD2,(TYPE=GROUP,BREAK=YES) /* RecordCategory */
INDEX3=X'E28598A485958385D5A494828599',FIELD3,(TYPE=GROUP,BREAK=YES) /* SerialNumber */
INDEX4=X'C396A58599818785C2',FIELD4,(TYPE=GROUP,BREAK=YES) /* CheckStartDate */
INDEX5=X'C396A58599818785C5',FIELD5,(TYPE=GROUP,BREAK=YES) /* CheckEndDate */
INDEX6=X'E2A482918583A3D5819485',FIELD6,(TYPE=GROUP,BREAK=YES) /* SubjectName */
INDEX7=X'E589969381A3899695C481A385',FIELD7,(TYPE=GROUP,BREAK=NO) /* ProbationDate */
INDEX8=X'E2A3969985C9C4',FIELD8,(TYPE=GROUP,BREAK=YES) /* OutletID -position changed */
INDEX9=X'C2A4A2E49589A3',FIELD9,(TYPE=GROUP,BREAK=YES) /* BusinessUnit - new field */
DCFPAGENAMES=NO
UNIQUEBNGS=YES
IMAGEOUT=ASIS
INDEXOBJ=GROUP
INDEXSTARTBY=1
INSERTIMM=NO
RESTYPE=NONE
How the indexes appeared earlier:
DocumentDate OutletID RecordCat CheckStartDate CheckEndDate SlNo Subject ProbationDate
2016-03-02 0133 2B 2016-02-20 2016-02-26 00001 ILVEA GOMEZ ZALAYA 2016-02-26
2016-03-02 0149 3A 2016-03-20 2016-03-26 00002 ILVEA GOMEZ ZALAYA 2016-03-26
2016-03-02 0157 4A 2016-04-20 2016-04-26 00003 ILVEA GOMEZ ZALAYA 2016-04-26
How are they appearing now:
DocumentDate OutletID RecordCat CheckStartDate CheckEndDate SlNo Subject ProbationDate
2016-03-02 0133 2B 2016-02-20 2016-02-26 00001 ILVEA GOMEZ ZALAYA 2016-02-26
2016-03-02 0133 2B 2016-02-20 2016-02-26 00001 ILVEA GOMEZ ZALAYA 2016-03-26
2016-03-02 0133 2B 2016-02-20 2016-02-26 00001 ILVEA GOMEZ ZALAYA 2016-04-26
What could I be missing? Any help will be really appreciated.
Regards,
AP