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



Alan is correct. It's not complicated.

readp myfile ;
if %EOF(myfile) ;
setll *start myfile ;
endif ;

Brian May
IBM i Modernization Specialist
Profound Logic Software, Inc.
http://www.profoundlogic.com
937-439-7925 Phone
877-224-7768 Toll Free

              



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Alan Shore
Sent: Friday, March 02, 2012 10:14 AM
To: RPG programming on the IBM i / System i
Subject: RE: Re-READ the current record

When an EOF condition is met due to a readp, then all you need to do is setll and read to get the first record with a lock

Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Hockchai Lim
Sent: Friday, March 02, 2012 11:06 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Re-READ the current record

==> "The only way you could get EOF on readp is if you were already on the first record of the file. In that case, it wouldn't matter."

Why won't it matter? if readp encountered EOF (top of the file), the cursor is lost. The READE will fail.



"Brian May" wrote in message
news:mailman.568.1330704015.14575.rpg400-l@xxxxxxxxxxxx...

No, I said readp not readpe. readp is not keyed so it just moves up to the record above the current. The only way you could get EOF on readp is if you were already on the first record of the file. In that case, it wouldn't matter.

Brian May
IBM i Modernization Specialist
Profound Logic Software, Inc.
http://www.profoundlogic.com
937-439-7925 Phone
877-224-7768 Toll Free





-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Hockchai Lim
Sent: Friday, March 02, 2012 9:53 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Re-READ the current record

yes, that is what I'm afraid of and that is what I come up with. It is quite ugly. It gets even uglier because I'll also have to consider readp(n) could encounter %eof condition. From what I know, when %eof is encountered, the cursor is lost. So, I'll have to position it to the top of the file and do a reade. what in the world...

"Brian May" wrote in message
news:mailman.562.1330703018.14575.rpg400-l@xxxxxxxxxxxx...

you will have to do a readp(n) to move the cursor up one, and then reade.

Brian May
IBM i Modernization Specialist
Profound Logic Software, Inc.
http://www.profoundlogic.com
937-439-7925 Phone
877-224-7768 Toll Free





-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Lim Hock-Chai
Sent: Friday, March 02, 2012 9:36 AM
To: 'rpg400-l@xxxxxxxxxxxx'
Subject: Re: Re-READ the current record

two problems with this:
1) reade is usually performed in a loop and I need the record to know if I need to perform the update.
2) setll/chain won't work if the file that it is looping thru does not have a unique key.



"Khalid Hachi" wrote in message
news:mailman.553.1330702034.14575.rpg400-l@xxxxxxxxxxxx...


Setll (mykey1) MYFILE;
If %Equal(MYFILE) and needUpdated();
//Read with Lock
reade (mykey1) MYFILE;
Endif;

-----Message d'origine-----
De : rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] De la part de Hockchai Lim Envoyé : 2 mars 2012 10:13 À : rpg400-l@xxxxxxxxxxxx Objet : Re-READ the current record

Is there a way to re-READ the current record (without using CHAIN) that the RPG program has just READ?

For example:

reade(n) (mykey1) MYFILE; //read it with no lock
if not %eof() and needUpdated();
==> Need to re-read with locked how???
endif;

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


-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2012.0.1913 / Virus Database: 2114/4846 - Release Date: 03/02/12

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


-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2012.0.1913 / Virus Database: 2114/4846 - Release Date: 03/02/12

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


RENONCIATION: CE MESSAGE CONTIENT DES INFORMATIONS CONFIDENTIELLES ET EST DESTINE SEULEMENT A/AUX L'INDIVIDU(S) NOMME(S). SI VOUS N'ETES PAS LE DESTINATAIRE, VOUS NE DEVRIEZ PAS DIFFUSER, DISTRIBUER OU REPRODUIRE CE COURRIEL. S'IL VOUS PLAIT, AVISER IMMEDIATEMENT L'EXPEDITEUR PAR COURRIEL SI VOUS AVEZ REÇU CE COURRIEL PAR ERREUR ET SUPPRIMEZ CE DERNIER DE VOTRE SYSTEME. ON NE PEUT PAS GARANTIR LA TRANSMISSION SECURISEE OU SANS ERREUR DE COURRIELS ETANT DONNE QUE LES INFORMATIONS POURRAIENT ETRE INTERCEPTEES, CORROMPUES, PERDUES, DETRUITES, TARDIVES OU INCOMPLETES OU CONTENIR DES VIRUS. EN CONSEQUENCE, L'EXPEDITEUR N'ACCEPTE PAS LA RESPONSABILITE POUR LES ERREURS OU OMISSIONS DANS LE CONTENU DE CE MESSAGE QUI SURGISSENT SUITE A LA TRANSMISSION DE CE COURRIEL. SI UNE VERIFICATION EST REQUISE, BIEN VOULOIR DEMANDER UNE COPIE PAPIER. TOUTES OPINIONS OU AVIS PRESENTES SONT SEULEMENT CEUX DE L'AUTEUR ET NE REPRESENTENT PAS NECESSAIREMENT CEUX DE L'ENTREPRISE.

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.