Hi all,
I have a problem loading a big file into CMOD and it indicated it failed on record # ?????. This number is actually referred to the index file record number.
But the *.ind file is not an ASCII file.
Does anyone knows how to read *.ind file which is generated by the ACIF indexer?
Thanks.
If you have InfoPrint Manager, you may have the afpdmp utility. If you're on CMOD v9.x, you'll have the arsafpd utility. Both can be used to dump the contents of an index file (which was probably provided in AFP format).
-JD.
Or if you still don't have CMOD V9 and you don't have Infoprint, then you have these choices:
AFP Explorer http://www.compulsivecode.com/Project_AFPexplorer.aspx (http://www.compulsivecode.com/Project_AFPexplorer.aspx) which is a nice free software that read the content of your AFP, and can display TLEs.
Or you can try my small perl program that reads the internal fields of AFP and displays them.
I'm trying to find it :-D It is lost in my tons of testing scripts :-D
Thanks Justin, Alessandro.
I do not have Infoprint Manager and not with CMOD 9.x. I do download the AFPexplorer and I can see something.
My file is a line data report and after the ACIF indexer generated the ind file, I do see something make sense. But, how do I locate the record number in the ind file thru AFPexplorer.
Thanks in advance.
You have here the exact format of the .ind that is created:
http://www-01.ibm.com/support/knowledgecenter/SSEPCD_9.5.0/com.ibm.ondemand.ir.doc/dodig060.htm (http://www-01.ibm.com/support/knowledgecenter/SSEPCD_9.5.0/com.ibm.ondemand.ir.doc/dodig060.htm)
Hope that helps.
Yes, I read that article before, but I still do not have any idea how to pin point to the record number directly that the arsload complained about. :(
For example, arsload complained about the load failed on record # 12000, is there any trick to go straight directly to record #12000 in afpexplorer.
Sorry for my ignorance.
In the ind, you have each record that looks something like that:
1 BDI Begin Document Index 012A D3A8A7
2 IEL Index Element 0051 D3B2A7 # 1 index
3 TLE Tag Logical Element 001B D3A090
...
17 TLE Tag Logical Element 0021 D3A090
18 IEL Index Element 0044 D3B2A7
19 IEL Index Element 0051 D3B2A7 # 2 index
20 TLE Tag Logical Element 001B D3A090
...
34 TLE Tag Logical Element 0021 D3A090
35 IEL Index Element 0044 D3B2A7
36 IEL Index Element 0051 D3B2A7 # 3 index
37 TLE Tag Logical Element 001B D3A090
...
66 TLE Tag Logical Element 0021 D3A090
67 IEL Index Element 0044 D3B2A7
...
242 EDI End Document Index 0010 D3A9A7
So you can see in my example, you have 3 indexes. Now if you have a lot... then it means you need to find the correct
IEL Index Element 0051 D3B2A7
that shows the 12'000 index, or the 12'001 index, whichever is wrong.
Thanks for the info.
But my file is strange, I have multiple ILE records instead of one ILE and a set of TLE. Here is my sample.
IEL PgName= PgGroupName=
TLE ItemName=rdate
TLE ItemName=amt
TLE ItemName=bnkid
TLE ItemName=dAcctType
TLE ItemName=DAcctNum
TLE ItemName=CrAcctType
TLE ItemName=CrAcctNum
IEL PgName=00000001 PgGr
IEL PgName=00000002 PgGr
IEL PgName=00000003 PgGr
IEL PgName=00000004 PgGr
IEL PgName= PgGroupName=
TLE ItemName=rdate
TLE ItemName=amt
TLE ItemName=bnkid
TLE ItemName=dAcctType
TLE ItemName=DAcctNum
TLE ItemName=CrAcctType
TLE ItemName=CrAcctNum
IEL PgName=00000001 PgGr
IEL PgName=00000002 PgGr
IEL PgName=00000003 PgGr
IEL PgName=00000004 PgGr
IEL PgName=00000005 PgGr
IEL PgName=00000006 PgGr
IEL PgName=00000007 PgGr
IEL PgName=00000008 PgGr
IEL PgName=00000009 PgGr
IEL PgName=00000010 PgGr
IEL PgName=00000011 PgGr
IEL PgName=00000012 PgGr
IEL PgName=00000013 PgGr
IEL PgName= PgGroupName=
TLE ItemName=rdate
TLE ItemName=amt
TLE ItemName=bnkid
TLE ItemName=dAcctType
TLE ItemName=DAcctNum
TLE ItemName=CrAcctType
TLE ItemName=CrAcctNum
If my file is like your, it will be much more simpler. I am trying something right now. First, I save the file from the afpexplorer into a plain text file and then I write a korn shell script to prefix a record number for each TLE record with "ItemName=rdate"
Then, I will search for the record number 12000 to identify the line is actually at line number 117753.
That's work for me.
Thanks for your help again.
The output was from the command "arsafpd" which is in CMOD V9.X.
When you do the upgrade, you'll get it automatically and you'll be able to have the same "nice" output as mine :-D
I see. Thanks Alessandro.