Thanks Billy and others for responding to my query.
My sincere apologies for not having replied.
First of all I would like to admit that I am part of the QA team (Testing) and limited to finding line of code causing the issue.
But I had raised this to feed my curiosity.
The issue was resolved by changing the level number
from
01 TRS-TRANS-MAX-COUNT PIC S9(05) VALUE +10000
to
05 TRS-TRANS-MAX-COUNT PIC S9(05) VALUE +10000
inside the copybook.
Before the change
01 TRS-FINANCIAL-TRANS-STATUS.
05 TRS-MNEMONIC PIC X(08).
05 TRS-FIN-TRANS-STTS-TBL OCCURS 10000 TIMES
INDEXED BY TRS-INDX.
01 TRS-TRANS-MAX-COUNT PIC S9(05) VALUE +10000
We were initializing 01 TRS-FINANCIAL-TRANS-STATUS.
The other 01 level was untouched.
But this change did not work (the job abended).
The reason for this is we got a non-numeric value in TRS-TRANS-MAX-COUNT.
Just to let you know, we have intermediary architecture programs which would handle passing data between programs.
This architecture allows us to register 01 levels for a datablock.
And we have restrictions to register only one 01 level per copybook.
After the change
01 TRS-FINANCIAL-TRANS-STATUS.
05 TRS-TRANS-MAX-COUNT PIC S9(05) VALUE +10000
05 TRS-FINANCIAL-TRANS-STATUS-DTL.
10 TRS-MNEMONIC PIC X(08).
10 TRS-FIN-TRANS-STTS-TBL OCCURS 10000 TIMES
INDEXED BY TRS-INDX.
The initialize problem is now resolved as we can initialize 05 TRS-FINANCIAL-TRANS-STATUS-DTL separately.
Thanks again,
Regards,
David