×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Oops forgot to remove that last EndIf.

Hey, it's my birthday and I'm focusing on the poker game tonight.  (beer, 
must have beer.)

Rob Berendt
-- 
"They that can give up essential liberty to obtain a little temporary 
safety deserve neither liberty nor safety." 
Benjamin Franklin 





rob@xxxxxxxxx
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/29/2003 08:36 AM
Please respond to RPG programming on the AS400 / iSeries
 
        To:     RPG programming on the AS400 / iSeries 
<rpg400-l@xxxxxxxxxxxx>
        cc: 
        Fax to: 
        Subject:        RE: dates in /free


If you're a performance dweeb then you might want to consider this:
  Which is more likely in your case:
    Valid dates
    Invalid dates

Because if the answer is Valid dates then you're better off to use the 
monitor and on-error logic.  That only get's triggered if there is an 
error.  Instead of the cycles taken by checking every date.

So, instead of this:
       Test(DE) *YMD Ymd;
       If Not %Error;
         mdy = %Int(%Char (%Date (ymd: *YMD): *MDY0) );
       Endif;

You'd have this:
       monitor;
       mdy = %Int(%Char (%Date (ymd: *YMD): *MDY0) );
       on-error 00112;
         // ... handle invalid date
       on-error;
         // ... handle other errors
       EndMon;
       Endif;


Rob Berendt
-- 
"They that can give up essential liberty to obtain a little temporary 
safety deserve neither liberty nor safety." 
Benjamin Franklin 





"Brian Parkins" <PARKIB@xxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
08/28/2003 05:01 PM
Please respond to RPG programming on the AS400 / iSeries
 
        To:     RPG400-L@xxxxxxxxxxxx
        cc: 
        Fax to: 
        Subject:        RE: dates in /free


>> Also, how can I use the TEST opcode in rpgle/free to test a date in a 6
>>digit numeric field?

Building on Jon's example, you could code:

     D mdy             s              6  0
     D ymd             s              6  0 Inz(030827)

      /Free

       Test(DE) *YMD Ymd;
       If Not %Error;
         mdy = %Int(%Char (%Date (ymd: *YMD): *MDY0) );
       Endif;

 etc.

Brian Parkins

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



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