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



D INFDS      DS
D  RecLen                10I 0  Overlay(INFDS:125)

D szBuffer     S        32766A  Varying Based(pBuffer)


C              if   RecLen <= %Size(szBuffer)-2
C              eval  pBuffer = %alloc(RecLen+2)
C              eval %len(szBuffer) = RecLen
C              else
C**  You're hosed!
C              endif



-Bob Cozzi
www.RPGxTools.com
If everything is under control, you are going too slow.
- Mario Andretti


-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Shaheen Ahmed
Sent: Wednesday, May 11, 2005 2:47 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: Two Questions.

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.


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

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.