|
Dave wrote: >boldt@ca.ibm.com wrote: >> Well, to be fair, there are some tips that aren't mentioned >> in the manual that perhaps should be. Such as checking for >> message 7551 in the compile listing to see if any expression >> is dropping any decimal precision. > >Does this apply on an IF? > >I recently had a problem with the precision. > >0305.00 C EVAL I=DATE_CY*10000 + DATE_YR*100 + DATE_MO >0306.00 C IF DATE_CY*10000 + DATE_YR*100 + DATE_MO < 199909 >0307.00 C* IF I < 199909 >0308.00 C EVAL MOYR_FROM = 091999 start from sep 99 >0309.00 C ENDIF DATE_CY*10000 etc > >DATE_CY, DATE_YR,DATE_MO are all 2 Zoned 0 > >stmt 306 evaluated to false when DATE_CY=19, DATE_YR=98, and DATE_MO=01 but when >I (which 10I 0) is used for the if as in stmt 307, it returned true. Can 7551 >be enhanced fot the IF intermediate result also in V3R2 on? First, yes, 7551 is issued when any decimal positions are dropped from a relational expression. (For an EVAL, the message is issued only when the number of decimal digits drops below the decimal places of the target.) Don't hold your breath, though, for a PTF in V3R2. Second, I'm not sure I understand what's happening with your code. There are no decimal places involved with the expression, so there can be no dropping of decimal digits. I just tried it out myself on V4R4, and both conditions are true. Cheers! Hans Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
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.