×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Check out Scott Klement's sqlqsh to improve on this. But this is an
untra-simple way to get all the data from an externally-defined file to a
"flat file" that just works:


CRTPF MYLIB/MYOUTFILE RCDLEN(2048)
QSH

db2 'select * from mylib.myfile' >
/qsys.lib/mylib.lib/myoutfile.file/myoutfile.mbr

Scott's utility adds the ability to remove headings and otherwise manipulate
the output and its format.

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"Fear of becoming a has-been keeps some people from becoming anything."
-- Eric Hoffer



Thank you Alan, this is what I am trying to do and I am working on it;
hopefully I will make it work.
I started this thread because I hated to see 50 %subst commands (one per
field). I wrote few and it looked so ugly then I decided to ask
professionals...

Thank you


Florin Todor



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Campin
Sent: Wednesday, September 14, 2011 1:45 PM
To: RPG programming on the IBM i / System i
Subject: Re: Populate a one-field file from a multi-field physical file

What I hear you saying is that the format of the two files is not the
same
so you have something like this:

File1 (DDS described)

Field1 5p 2
Field2 7p 2
Field3 50a

File 2 (Single field)

Field1 3a (H01 or D01)
Field2 5s 2
Field3 7s 2
Field4 50a

If yes, then

1. Define a qualified data structure for the new table.

d dsFile1...
d ds Qualified
d FieldType...
d 3a
d Field1...
d 5s 2
d Field2...
d 7s 2
d Field3...
d 50a

2. Read the record into an externally defined data structure.

3. Use a eval corresponding to move the data.

eval-corr dsFile1 = FileIn.

Is this what you are talking about?

On Wed, Sep 14, 2011 at 10:56 AM, Florin Todor - YYZ Concord <
ftodor@xxxxxxxxxxxxxxxx> wrote:

Paul (and Rory)

The CPY command would work fine except that I have many packed fields
in
the input file; plus, on the first three positions on the output
record
I have to hardcode the record type ('H01' - Header, 'D01' - Detail)
(I simply forgot to mention this in my OP - sorry for that)


Thank you


Florin Todor




-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Morgan, Paul
Sent: Wednesday, September 14, 2011 12:07 PM
To: RPG programming on the IBM i / System i
Subject: RE: Populate a one-field file from a multi-field physical
file

Florin,

Use a program defined file for the 50 field file. Alternatively you
could just use CPYF with FMTOPT(*NOCHK).

Paul Morgan

Principal Programmer Analyst
IT Supply Chain/Replenishment

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Florin Todor - YYZ
Concord
Sent: Wednesday, September 14, 2011 10:32 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Populate a one-field file from a multi-field physical file

Hello all,



I have this situation: a physical file having, let's say, 50 fields
and
another file having one-field of 2000 characters long; I would like to
move the entire record from the first file to the second one...

Obviously, this could be accomplished using %subst BIF but I could bet
100 bucks there is a better and simpler way (I've tried something with
data structures but I couldn't make it work).

Any suggestion would be appreciated.





Thank you





Florin Todor









--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



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-2026 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.