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



Hi Rob,

I agree with your example, there's no reason to do %kds there. However
in your example you're always using the same number of keys. What I'd
like to be able to do is something like this:

// code here to load the klist data structure

If x;
numOfKeys = 1;
ElseIf y;
numOfKeys = 2;
ElseIf z;
numOfKeys = 3;
Else;
numOfKeys = 4;
EndIf;

Chain %kds( klistDS: numOfKeys ) fileName;


Kurt Anderson
Application Developer
Highsmith Inc

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of rob@xxxxxxxxx
Sent: Thursday, July 24, 2008 11:06 AM
To: RPG programming on the AS400 / iSeries
Subject: RE: %KDS was RE: READE question

providing you're already doing something like:
keyfield1=somevalue;
keyfield2=*loval;
keyfield3=*loval;

What's any leaner about
// At the time of this comment %kds was composed of: keyfield1,
keyfield2, keyfield3 // but that's subject to change chain %kds(keyds)
filerec;

than:
chain (keyfield1 : keyfield2 : keyfield3) filerec;

Rob Berendt
--
Group Dekko Services, LLC
Dept 01.073
Dock 108
6928N 400E
Kendallville, IN 46755
http://www.dekko.com





"Kurt Anderson" <kjanderson@xxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
07/24/2008 11:12 AM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>


To
"RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
RE: %KDS was RE: READE question






True, I generally simply list the keys out myself. However in a
situation where the key list may use a different number of fields based
on a condition, my personal preference is to set the number of keys to
use in the condition then perform the i/o afterward.

And while not many are fans of file encapsulation, having %kds accept a
variable number of keys would make my read procedures leaner internally.

Kurt Anderson
Application Developer
Highsmith Inc

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of rob@xxxxxxxxx
Sent: Thursday, July 24, 2008 7:13 AM
To: RPG programming on the AS400 / iSeries
Subject: Re: %KDS was RE: READE question

Why use a kds anyway? Since free format chain's allow multiple fields
in there and so on. I am not a big fan of jumping all over the program
to see what composed the kds.


Rob Berendt
--
Group Dekko Services, LLC
Dept 01.073
Dock 108
6928N 400E
Kendallville, IN 46755
http://www.dekko.com





"Kurt Anderson" <kjanderson@xxxxxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
07/23/2008 04:53 PM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>


To
"RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
cc

Subject
%KDS was RE: READE question






On the topic of %kds - is there any hope for getting the "number of
keys" parameter to accept a variable? That sure would be nice - and to
be honest I find no real purpose for a %kds w/o having the "number of
keys" as a variable.

With our file encapsulation service programs, we have a procedure to set
the keys, and then a read procedure, and in the read procedure you pass
the number of keys. So we've essentially created the functionality
ourselves... and if we can do it, so can IBM, right?

Kurt Anderson
Application Developer
Highsmith Inc

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wilt, Charles
Sent: Wednesday, July 23, 2008 3:05 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: READE question

You can chain by just CO#, just make sure you KLIST has just the CO# in
it.

So if sometimes you want both, and sometimes you only want CO#, you'd
need 2 KLISTs.

But why are you still using KLISTs? This isn't RPG III. (Which worked
the same way BTW)

For RPG IV, a better solution is to use a list of values or %kds.

Chain (CO#:RestNum) MyFile;
Chain (CO#) MyFile;

D MyFileKeys ds extname(myfile:*KEY)

Chain %kds(MyFileKeys) MyFile;
Chain %kds(MyFileKeys:1) MyFile;

The last example above chains with only the 1st key field even though
the MyFileKeys data structure contains all key fields.

HTH,


Charles Wilt
--
Software Engineer
CINTAS Corporation - IT 92B
513.701.1307

wiltc@xxxxxxxxxx

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of John Furniss
Sent: Wednesday, July 23, 2008 3:20 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: READE question

But the key for the chain has to match the file, right? Even if I
don't populate all the key. So if my file has a key of Company (2/0),
Restaurant (15A), my key would have to be:

Key01 Klist
Kfld CO#
Kfld RestNm

Not Just a CHAIN by CO#?

John Furniss
Allied Machine & Engineering, Corp
Phone: 330-343-4283, ext. 8371
email: jfurniss@xxxxxxxxxxxxxxxxx

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
Michael_Schutte@xxxxxxxxxxxx
Sent: Wednesday, July 23, 2008 3:12 PM
To: RPG programming on the AS400 / iSeries
Subject: RE: READE question

You do not need to chain with a full key...

If you have a key on the file of Company, Restaurant

You can chain just by company but you are going to get the lowest
Restaurant number (or highest if in descending sort).



Michael Schutte
Admin Professional
Bob Evans Bob-B-Q: You haven't had barbeque until you've had Bob Evans

Bob-B-Q. Try our six Bob-B-Q dishes, starting at $5.99. For more
information, visit www.BobEvans.com.


rpg400-l-bounces@xxxxxxxxxxxx wrote on 07/23/2008 03:01:10 PM:

The same is not true on a CHAIN, correct?

John Furniss
Allied Machine & Engineering, Corp
Phone: 330-343-4283, ext. 8371
email: jfurniss@xxxxxxxxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of
Tommy.Holden@xxxxxxxxxxxxxxxxxxxxx
Sent: Wednesday, July 23, 2008 2:51 PM
To: RPG programming on the AS400 / iSeries
Subject: Re: READE question

yes...it's called a partial key...you *never* have to specify the
entire

key for a file (unless you want/need to 8^) )

Thanks,
Tommy Holden



From:
Adam West <adamster@xxxxxxxxx>
To:
rpg400-l@xxxxxxxxxxxx
Date:
07/23/2008 01:47 PM
Subject:
READE question



HI I have a Logical file that has several fields as the key. Can I
do
a

SETLL/READ if I have only the first field of this key? Instead of
having

to create another logical.



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

--
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 e-mail transmission contains information that is intended to be
confidential and privileged. If you receive this e-mail and you are not
a named addressee you are hereby notified that you are not authorized to
read, print, retain, copy or disseminate this communication without the
consent of the sender and that doing so is prohibited and may be
unlawful. Please reply to the message immediately by informing the
sender that the message was misdirected. After replying, please delete
and otherwise erase it and any attachments from your computer system.
Your assistance in correcting this error is appreciated.
--
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 ...

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.