Reading issue for a cobol file.

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Reading issue for a cobol file.

Post by kollurianu »

Hi All,

I am getting the below error for cobol file

At field "MI_NBR_OF_TABLE_ENTRIES": In link field conversion: Possible range limitation


It is a cobol file with occurs depending on clause..
and I have the following options on..

record delimiter as blank

Record type variable block..


And I tried changing the record delimiter to DOS format and then it gives me the following error

Cannot recognize the supplied schema.
>##E IIS-DSEE-TFRS-00057 11:29:40(019) <XX_YYY> "record_delim" must be a single-char string or "null" (use "record_delim_string" for multi-char delimiter), text: {record_delim="DOS format", delim=none, quote=none, binary, ebcdic, native_endian, charset=ASCL_EBCDIC, round=round_inf, nofix_zero}



Looks like a record limiter issue to me as it (the same file) was successfully read in Abinitio by a different group ..with \r\n

And I read the datastage manual , that it handles occurs depending on clause.


Any thoughts greatly appreciated.

Thank you all.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Generally COBOL files have no delimiters.

What is the PICture for MI_NBR_OF_TABLE_ENTRIES and what datatypes are you defining in DataStage for that column? Which stage is generating that runtime warning message?
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

Thanks ArndW for your response..

Not sure why I am unable to read your whole message , though I renewed my membership couple of weeks ago.

CFF stage is generating the error.

Can somebody re-post Arnd's whole message.

Thank you all.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Ummm... that *is* the whole message.
-craig

"You can never have too many knives" -- Logan Nine Fingers
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

Below is the section from cobol where it is failing to read.



001970 02 MI-NBR-OF-TABLE-ENTRIES PIC S9(3) COMP.
019800 02 MI-PRODUCT-TABLE.
019900 05 MI-PROD-TBL OCCURS 0 TO 100 TIMES
020000 DEPENDING ON MI-NBR-OF-TABLE-ENTRIES
020100 INDEXED BY MI-IDX.
020200 10 MI-PRODUCT-CODE PIC S9(3) COMP-3.
020300 10 MI-PRODUCT-MONEY PIC S9(11)V99 COMP-3.

MI-NBR-OF-TABLE-ENTRIES in datastage is defined as smallint 3.

MI-PRODUCT-CODE --------in datastage is defined as Decimal(3)
MI-PRODUCT-MONEY in dastage stage is defined as Decimal(13,2).

Any inputs will be greatly appreciated.

Thank you all.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

What happens when you remove all record delimiters in the CFF stage, that should either work or give a different error message.
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

Hi Arnd ,

Thanks for your response..

I am getting the below error , with record delimiter as blank.

"MI_NBR_OF_TABLE_ENTRIES": In link field conversion: Possible range limitation

Any inputs greatly appreciated.

Thank you all.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I'm not at a location where I can check now, but I would suggest using a normal INTEGER instead of smallint for MI_NBR_OF_TABLE_ENTRIES.
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

Thanks for your quick reply.

On stage page and records tab , It was showing as Binary actually when imported and shows as small int the outputs page and column tab..

As you asked me to modify , I changed on the stage page to Numeric (as I didn't see any integer type available on the pull down) with the same length as 3 and in outputs page on columns tab now , it showed as decimal 3 still this didn't work.

any inputs greatly appreciated.

Thank you .
vivekgadwal
Premium Member
Premium Member
Posts: 457
Joined: Tue Sep 25, 2007 4:05 pm

Post by vivekgadwal »

Is the data file you have in Line Sequential format? Why are you using "Variable Block"? Also, did you follow the steps mentioned in the manual for ODO clauses?
Vivek Gadwal

Experience is what you get when you didn't get what you wanted
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

It is a cobol file.. just an FYI , it has only one occurs depending on clause..

THank you,
vivekgadwal
Premium Member
Premium Member
Posts: 457
Joined: Tue Sep 25, 2007 4:05 pm

Post by vivekgadwal »

Kollurianu,

I understand that it is a COBOL file that you are dealing with. Also, my questions pertain to COBOL files only. I haven't personally dealt with ODO clauses, but there is an example given in the manual...thus my question "have you followed everything/every step from the manual".

I am also curious as to why you chose a "Variable Block" in the CFF.
Vivek Gadwal

Experience is what you get when you didn't get what you wanted
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Post by kollurianu »

Thanks for your reply.
Yes I have followed every step from manual for ODO clauses.As it has an ODO clause in it , I used variable block file , not sure If I have to just choose varaible instead of Varaible block.
smeliot
Participant
Posts: 19
Joined: Sun Mar 18, 2007 7:31 pm

Post by smeliot »

Since the error message is pointing to the field that has the number of occurrences - do you think that it has more than 100 occurrences in this record of the data? Can you look at the data at its source?
Post Reply