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



I think that all this ignores at little thing call Encapsulation. If you
are still writing RPG III and using subroutines and all your data is global
whether you use compile time arrays is immaterial. Everything is global
anyway but if you are writing procedures and modern program, putting this
kind of thing in a compile time array makes it global and every procedure
can see and act on it. What you want is to have something like this
encapsulated inside a procedure or maybe better yet in a procedure in a
service program. The caller should just ask what the value related with
this value. How the procedure does it should be hidden. If you are using a
copy book, then probably without a doubt you are looking at service
program. ILE thinking vs RPG III thinking.

All of this points to the fact that we need better mechanisms for declaring
arrays inside procedures.

OK, now really duck and cover.


On Thu, Aug 8, 2013 at 3:25 PM, Vern Hamberg <vhamberg@xxxxxxxxxxxxxxx>wrote:

You could use a copy book by having conditional statements and defines for
stuff at the top and stuff at the bottom!!

Now THAT's being a modern programmer!

R&D (running, etc.)

----- Original Message -----
Trevor, Perhaps it's because he wants to put it in a copybook?

Jon, frankly, I'm not sure why you consider any of the methods discussed
earlier any 'better' than Michael's compile-time array - they *all* involve
hard-coding data into the program source, in one way or another. Michael's
method is certainly the easiest where one is talking about longer strings
of data (which *can* be specified in the D-specs, but it's ugly). Plus, at
least with a compile-time array, the data strings are all in one place, at
the bottom of the source, rather than dotted about the D-specs or (gasp!)
hidden in a separate copybook (OK, that was *my* idea :))

Rory


On Thu, Aug 8, 2013 at 5:31 AM, Briggs, Trevor (TBriggs2) <
TBriggs2@xxxxxxxxxxx> wrote:

The OP did say he wanted to do everything in D-specs (although he didn't
specify why).

Trevor Briggs
Analyst/Programmer
Lincare, Inc.
(727) 431-1246
TBriggs2@xxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Michael Schutte
Sent: Thursday, August 08, 2013 8:21 AM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: Re: Is this the simplest way to define corresponding arrays in
D-specs


D Array DS 7 CTDATA PERRCD(1) DIM(4)
D SubSet1 1 OverLay(Array)
D SubSet2 6 Overlay(Array:*NEXT)


**
hheader
HHEADER
ffooter
FFOOTER



Or...

D Subset1 Ds 1 CTDATA PERRCD(4) DIM4)
D Subset2 Ds 6 CTDATA PERRCD(1) DIM4)


**
hHfF
**
header
HEADER
footer
FOOTER

Sometimes, things are just over thought...


On Wed, Aug 7, 2013 at 6:07 PM, Rory Hewitt <rory.hewitt@xxxxxxxxx>
wrote:

As a slight alternative, how about this:

D ds
D ARRAYS 28
inz('hheaderHHEADERffooterFFOOTER')
D ARRAY dim(4) Overlay(ARRAYS)
D ARRAYA 1 overlay(ARRAY)
D ARRAYB 6 overlay(ARRAY:*next)

Basically the same thing, but it intersperses the 1-char lookup values
with
the 6-char return values.

This also allows slightly easier-to-view formatting of the ARRAYS
string,
to show each ARRAY element on its own line:

D ARRAYS 28 inz('hheader+
D HHEADER+
D ffooter
D FFOOTER')

Rory


On Wed, Aug 7, 2013 at 1:14 PM, Booth Martin <booth@xxxxxxxxxxxx>
wrote:

Is this responsive to your request?

D ds
D ARRAYS 28
inz('hHfFheaderHEADERfooterFOOTER')
D ARRAYA 1 dim(4) overlay(ARRAYS)
D ARRAYB 6 dim(4) overlay(ARRAYS: *next)

The simplest way seemed to me to be using an ALT array, but that can
not
be done entirely inside the D-specs; leastways, I couldn't do it.


--
This is the RPG programming on the IBM i (AS/400 and 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.




--
Rory Hewitt

http://www.linkedin.com/in/roryhewitt
--
This is the RPG programming on the IBM i (AS/400 and 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 IBM i (AS/400 and 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 message originates from Lincare Holdings Inc. It contains
information
which may be confidential or privileged and is intended only for the
individual or entity named above.
It is prohibited for anyone else to disclose, copy, distribute or use the
contents of this message.
All personal messages express views solely of the sender, which are not
to
be attributed to Lincare Holdings Inc., and may not be copied or
distributed without this disclaimer.
If you received this message in error, please notify us immediately at
MailAdmin@xxxxxxxxxxx or (800) 284-2006.


************************************************************************************************************************************************************************************************************

--
This is the RPG programming on the IBM i (AS/400 and 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.




--
Rory Hewitt

http://www.linkedin.com/in/roryhewitt
--
This is the RPG programming on the IBM i (AS/400 and 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 IBM i (AS/400 and 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 ...

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.