that is probably what I'll end up doing. Yes, it is quite simple. But when
putting this type of code in all the READE on all the programs that call by
our billing process, it gets ugly.
thank you for all that help.
"Brian May" wrote in message
news:mailman.583.1330705790.14575.rpg400-l@xxxxxxxxxxxx...
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.