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



The intent here is to fetch the data record.

Actually there are 2 separate conditions: For one file, the record would
mostly be found, for other it would mostly not be found (I still need the
data whenever it is found).

Would the recommendation be different in these 2 cases?

Vinay


On Tue, Oct 15, 2013 at 8:13 AM, Briggs, Trevor (TBriggs2) <
TBriggs2@xxxxxxxxxxx> wrote:

Eric,

Would a "Not found" condition on a CHAIN cause a MONITOR to execute the
ON-ERROR logic?

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 DeLong, Eric
Sent: Monday, October 14, 2013 5:57 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
Subject: RE: CHAIN vs SETLL/READE

If the intent is to page data into storage, and to note when exceptions
occur (Chain failure - Not Found), then Chain HAS to be faster overall
than SETLL, then an IF to determine existence status, then another I/O
to page data in...

Traditional usage of CHAIN still requires an IF expression to test the
results of the operation. This logical test is minimal, but it must be
evaluated EVERY TIME the I/O is performed. Perhaps putting the CHAIN
into a Monitor block, then defining an on-error handler for the
exception might yield the best performance, since the exception status
does not need to be evaluated on each I/O iteration.

But, really, I'd code it to its simplest form, that most clearly
expresses my intent. Again, I think, CHAIN is the clear winner.

-Eric DeLong

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Briggs, Trevor
(TBriggs2)
Sent: Monday, October 14, 2013 12:47 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: CHAIN vs SETLL/READE

My first reaction is that a CHAIN would be faster than a SETLL and READE
to retrieve a single random record. However, this is assuming that your
reads have to be random and what percentage of the records you'll be
reading from the file. If you are going to be reading the majority of
records from a multi-million record file, re-jigging your logic so that
you could read the file sequentially (if even you ignore some of the
records in your code) could be advantageous.

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 Vinay Gavankar
Sent: Monday, October 14, 2013 12:44 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: CHAIN vs SETLL/READE

Hi,

I know this has probably been hashed a lot of times, but which of this
is
more efficient?

Doing a direct Chain or a SETLL and if %EQUAL doing a READE

I am accessing on a full unique key, but performing this millions of
times
in a batch program.

Most of the times the record WILL be found.

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

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



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.