× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



And of course you'd have to loop the read (or cycle it).
Was trying to throw something together quickly.

-Kurt

-----Original Message-----
Hi William,

You could have the program read in the old file and write out to the new file while monitoring for any issues. If you encounter an issue, write to a bad file (which should have the same layout as the 'old' file).

D ds_Bad DS LikeRec( BadFileFmt: *output )
D ds_Old DS LikeRec( OldFileFmt )
D ds_New DS LikeRec( NewFileFmt: *output )

Read OldFile ds_Old;
If not %eof( OldFile );
evalR ds_New = ds_Old;

// Handle any change in field name/definitions
Monitor;
ds_New.SizeN = %int( ds_Old.SizeA );

Write NewFileFmt ds_New;

On-Error;
ds_Bad = ds_Old;
Write BadFile ds_Bad;
EndMon;

EndIf;

Kurt Anderson
Sr. Programmer/Analyst
CustomCall Data Systems

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

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.