× 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 %Error bif works without using the filename.  Has to be coded directly 
after the chain(e) or write(e) example:

Write(e)  Mmemo
If %Error
// do something
EndIf

You don't code the %Error(Mmemo), just the %Error.

So I'm not sure you'd want to loop it like the way you have it.  You could 
do

DoU Record_Written
Write(e) Mmemo
If %Error
Record_Written = False
Else
Record_Written = True
EndIf
EndDo


Ron Power
Programmer
Information Services
City Of St. John's, NL
P.O. Box 908
St. John's, NL
A1C 5M2
Tel: 709-576-8132
Email: rpower@xxxxxxxxxx
Website: http://www.stjohns.ca/
___________________________________________________________________________
Success is going from failure to failure without a loss of enthusiasm. - 
Sir Winston Churchill




Tony Carolla <carolla@xxxxxxxxx> 
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
31/01/2005 02:47 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
Re: Suggested technique






Okay, I, too also though you could use a filename with the %Error BIF.
 So I tried it, and this is what I got:

000520  /Free  
000521   Dou Not %Error(Mmemo);  
======>                 aaaaa  
======>                 bbbbb  
*RNF0312 20 a      000521  A right parenthesis is expected but is not 
found.
*RNF5377 20 b      000521  The end of the expression is expected.  
000524  
000527       // Find next memo seq# for member  
000528       SetGT(E)  (CI.Family#:CI.Member#) Mmemo_I;  

So, is this not allowed? 


On Mon, 31 Jan 2005 11:16:41 -0600, Lim Hock-Chai
<Lim.Hock-Chai@xxxxxxxxxxxxxxx> wrote:
> ops, the "Write Mmorec MO" should be "Write(e) Mmorec MO".
> 
> -----Original Message-----
> From: Lim Hock-Chai
> Sent: Monday, January 31, 2005 11:14 AM
> To: 'RPG programming on the AS400 / iSeries'
> Subject: RE: Suggested technique
> 
> It would be nice if you can create a service program or a sub-procedure 
to get the next seq#:
> 
> The code would look something like this:
> 
>         Dou     not %error(myFile)
>         eval    MO.Mmseq# = getNextMmSeq#(CI.Family# :CI.Member#)
>       Write Mmorec MO
>         enddo
> 
> the getNextMnSeq#() sub-procedure would declare a local datastructure 
that that the readPE Mmemo will read into and return the 
myStruct.Mnmseq#+1
> 
> 
> -----Original Message-----
> From: rpg400-l-bounces@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Tony Carolla
> Sent: Monday, January 31, 2005 10:57 AM
> To: RPG programming on the AS400 / iSeries
> Subject: Re: Suggested technique
> 
> Hi Alan.  Thanks again for the tip.
> 
> I always grapple with the idea of not using iter and leave also.  I
> don't see how it makes the code clearer to the reader, by eliminating
> these ops.  I took your example, and eliminated the iter, as follows:
> 
> Dou iSay;
>     iSay=*On;
> 
>     // Find next memo seq# for member
>     SetGT(E)  (CI.Family#:CI.Member#) Mmemo_I;
>     ReadPE(E) (CI.Family#:CI.Member#) Mmemo_I MI;
> 
>     If %Found(Mmemo_I);
>        MO.Mmseq#=MI.Mmseq#+1;
>     Else;
>        MO.Mmseq#=1;
>     EndIf;
> 
>     Monitor;
>             Write Mmorec MO;
> 
>             On-Error *File;
>                iSay=*Off;
>     EndMon;
> EndDo;
> 
> Now this is a very simple loop, and doesn't even transcend a page, but
> in general, while perusing the code, you have to look to the beginning
> of the loop to determine the condition of the loop.  If using iter,
> you also have to peruse to the top of the loop anyways, so what's the
> diff?
> 
> --
> "Enter any 11-digit prime number to continue..."
> --
> 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.
> 
> 


-- 
"Enter any 11-digit prime number to continue..."
-- 
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.