• Subject: Re: ILE COBOL Data Exception on the 400
  • From: Jim Essinger <esinger@xxxxxxxx>
  • Date: Wed, 18 Apr 2001 16:38:49 -0700

Grace and Peace!

If those files are on the AS/400, I would use file editing program such as 
FEU Pro, or SQL UPDATE query to fix those areas that show as banks, setting 
them to zeros.  Are the files externally described?  If they are the SQL 
solution to UPDATE putting zeros where blanks would work easily.

A COBOL solution might be to check for numeric.

 From the COBOL ILE Programmers Guide

< 2.1.6.1 How to Do a Numeric Class Test
<
< You can use the numeric class test to perform data validation. For example:
<
<  LINKAGE SECTION.
<               01   COUNT-X     PIC 999.
<                 .
<                 .
<                 .
<     PROCEDURE DIVISION USING COUNT-X.
<                IF COUNT-X IS NUMERIC THEN DISPLAY "DATA IS GOOD".
<               .
<               .
<
In your case;
                .
>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)

                If   Input-Value-B is numeric     Move Input-Value-B   to 
Ws-Value-B
                Else   Move Zeros to Ws-Value-B              End-IF

                If   Input-Value-C is numeric      Move Input-Value-C   to 
Ws-Value-C
                Else    Move Zeros to Ws-Value-C             End-IF

If you don't want to fix all the programs, then fix the files with valid 
data using SQL, File Edit Utility Professional, or any one of a number of 
good File Editing Utilities.

----------------------------------------------------------

Jim Essinger
Senior Programmer/Analyst
Student Loan Fund of Idaho / Idaho Marketing Association / UnLtd.
208-452-4058
esinger@fmtc.com

------------------------------------------------------------

At 05:23 PM 4/18/2001 -0400, you wrote:
>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.