|
I want to say thank you to all who reply my question.
The reason I asked two questions is because we have some old RPG programs where
we hard coded the length of the externally defined files in a data structure
and then use this data structure to CALL RPG/CL programs. Whenever we
add/change fields into these files we have to go to the individual programs
(RPG/CL) to change the length of the data structures/Fields.
Now I know I can change my RPG programs to get the current record length of the
files instead of hard coded length but this can't be done in CL programs.
Wouldn't it be a good idea to ask IBM to allow us to use a variable name to
define the length of a field or data structur?
For example in file information data structure (INFSR) position 125-126
(binary) keeps the record length of a file.
(RecLength 125 126B 0) I wish somehow we can use the value of
RecLength field to define the length of a field.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Chaudhary, Sachin (GE
Equipment Services, Consultant)
Sent: Wednesday, May 11, 2005 1:37 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Two Questions.
Importance: High
Hi Syed,
External DS works good for point# 1.
There is no direct way in a CL that I know of, but you may use DSPFD ...get the
information in an outfile (use INFO TYPE *RCDFMT) , which will return the
length of the record format, which you may use in your CL.
Sachin
-----Original Message-----
From: rpg400-l-bounces+sachin.chaudhary=ge.com@xxxxxxxxxxxx
[mailto:rpg400-l-bounces+sachin.chaudhary=ge.com@xxxxxxxxxxxx]On Behalf
Of Tony Carolla
Sent: Wednesday, May 11, 2005 11:51 AM
To: RPG programming on the AS400 / iSeries
Subject: Re: Two Questions.
If you know the record length at compile time, you would simply do what you
have already done:
D1CustMast DS ExtName(CustMast) OR D1CustMast DS LikeRec(CustMast00)
Then create a DS that overlays the above DS:
D RecChunk DS Based(pRecord)
D Chunk 100A
D pRecord S * Inz(%Addr(CustMastDS))
Replace the 100A with the record length... I am sure there's an API to
retrieve the record length, and if so, you could create a huge DS based on a
pointer, and then point the pointer at a user space, and plunk down the
record DS into the data area. Hopefully you would know the rec length at run
time.
I don't do much in CL anymore, thanks to system() and QCMDEXC, so can't help
you on #2.
On 5/11/05, Shaheen Ahmed <Syed.Ahmed@xxxxxxxxxxxxxxx> wrote:
>
> I have two Questions for RPG guru's.
>
> a) Is it possible in RPG to define a data structure length same as the
> record length of an externally define physical file?.
> I don't want to include the field names in my data structure.
> e.g. (D1CustMast DS ExtName(CustMast) OR D1CustMast DS LikeRec(CustMast00)
> )
>
> b) Is it possible to define the length of a variable in CLLE same as the
> record length of an externally define physical file?.
>
> --
> This is the RPG programming on the AS400 / iSeries (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.
>
>
--
"Enter any 11-digit prime number to continue..."
"In Hebrew SQL, how do you use right() and left()?..." - Random Thought
--
This is the RPG programming on the AS400 / iSeries (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 AS400 / iSeries (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 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.