• Subject: RE: ILE COBOL Data Exception on the 400
  • From: "Jerry Thomas" <jerryt@xxxxxxxxxxx>
  • Date: Wed, 18 Apr 2001 17:05:53 -0500
  • Importance: Normal

Schaefer,

The problem you are reporting is a common problem when converting Legacy COBOL 
from the OS/390 to the AS/400. 
I have done several conversion from the OS/390 to AS/400 and data issues are 
the biggest problem. The best way I have 
found to deal with this problem is to write a scrub routine for you data files 
when you load them onto the AS/400. 
By doing this you will insure that all data loaded on the AS/400 has valid 
numeric data when the file is loaded. 

Hope this helps.

Jerry M. Thomas

Project Manager
Application Modernization 
Cothern Computer Systems  
www.ccslink.com


-----Original Message-----
From: owner-cobol400-l@midrange.com
[mailto:owner-cobol400-l@midrange.com]On Behalf Of Schaefer P. ONeill
Sent: Wednesday, April 18, 2001 4:24 PM
To: cobol400-l@midrange.com
Subject: ILE COBOL Data Exception on the 400


Hello Listers,

We are in the process of converting some Legacy COBOL programs from the 
OS/390 platform to the AS/400.

Within this legacy code are some (simplified) move statements (eg:



01  INPUT-REC.
     05  INPUT-VALUE-A    PIC X(20).
     05  INPUT-VALUE-B    PIC 9(08)V99.
     05  INPUT-VALUE-C    PIC 9(02).
     05  FILLER           PIC X(48).


01  WS-DATA-ELEMENTS.
     05  WS-VALUE-A       PIC X(20).
     05  WS-VALUE-B       PIC S9(9)V99     COMP-3.
     05  WS-VALUE-C       PIC 9(02).

     READ FILE-REC   INTO INPUT-REC.     (Works OK)

     MOVE INPUT-VALUE-A   TO WS-VALUE-A. (Works OK)
     MOVE INPUT-VALUE-B   TO WS-VALUE-B. (ERROR)
     MOVE INPUT-VALUE-C   TO WS-VALUE-C. (ERROR)

The trick here is that the FILE-REC sometimes has spaces in the numeric area.

Obviously we could test for spaces, examine replacing, or whatever ... but 
we're talking about 400,000+ lines of code ... and this was to be an easy task.

In the OS/390 world, the numeric defined fields on input-rec-a & b were 
treated as zeroes in the related move statements.  On the AS/400 ... it 
errors out.  In interactive mode, we can specify "G" and it continues to 
process, and finishes successfully (apparently having implicitly moved 
zeroes in place of the spaces).

We have scoured the COBOL book, looking for an override option for this 
handling ... no joy.

So ... I ask you for your guidance.

Thanks in Advance (TIA)
Schaefer ONeill





Schaefer P. ONeill
7912 O'Neal Road
Raleigh, NC  27613-1047
(919)-571-0046 (voice)
(919)-571-0048 (fax)
(877)-668-7255 (toll free)

+---
| This is the COBOL/400 Mailing List!
| To submit a new message, send your mail to COBOL400-L@midrange.com.
| To subscribe to this list send email to COBOL400-L-SUB@midrange.com.
| To unsubscribe from this list send email to COBOL400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---END


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.