|
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 mailing list archive is Copyright 1997-2024 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.