|
It all depends on the input and output formats. If the input format
is fixed length, always 14 characters, then it is a simple matter of
adding the fields together to make your 40 column record. I have done
this many times before in other languages.
Pseudo code:
Output_record = blanks
do until end of file
read record
if length(output_record) + length(input_record) > 80
length_to_add = 80 - length(output_record)
output_record = output_record + left(input_record, 1, length_to_add)
write output_record
output_record = right(input_record, length(input_record) - Length_to_add)
else
output record = output record + input record
end if
end do
if length(output_record) > 0
write output_record
end if
This would produce output like (say 20 column ouput record an 6 char input)
INPUT:
111111
222222
333333
444444
555555
666666
777777
OUTPUT:
11111122222233333344
44445555556666667777
77
Is that what you want?
Regards,
Jim Langston
Me transmitte sursum, Caledoni!
Peter Dow wrote:
>
> Hi Justin,
>
> There was something similar on this recently, you might want to check the
> archives.
>
> My first thought is dependent on the file size. Keep adding all records to a
> large field, then write the large field out in 80-byte chunks:
>
> c read inputfile
> c dow not %eof(inputfile)
> c eval largefield = largefield & %trim(currentrec)
> c read inputfile
> c enddo
>
> then
>
> c dou x > %len(largefield)
> c eval outputrec = %subst(largefield:x:80)
> c write outrec
> c eval x = x + 80
> c enddo
>
> or something along those lines.
>
> hth,
> Peter Dow
> Dow Software Services, Inc.
> 909 425-0194 voice
> 909 425-0196 fax
>
> ----- Original Message -----
> From: "Justin Kiteley" <justin@asiwms.com>
> To: <RPG400-L@midrange.com>
> Sent: Wednesday, April 25, 2001 11:48 AM
> Subject: Formatting Data in RPG 4
>
> > Hello everyone,
> >
> > Anybody have any experience formatting data into a "snake" file? I've
> > written a module that reads in data from a file, uses checkr to find out
> the
> > right most data in an 80 column field, if the right most data is not 80
> then
> > reads the next record, uses %subst to fill up the orig line to 80 chars,
> > writes out the new 80 char field and so on. Currently I'm having trouble
> > with recognizing the necessary spaces in the data and allowing for them.
> >
> > My question: Is there an API, command, or method that is easier to
> > implement and follow and that will accomplish the same thing that I'm
> doing?
> > Thanks in advance for any help!
> >
> >
> > Justin Kiteley
> > justin@asiwms.com
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.