|
Hi everybody Thanks for your inputs / suggestions / solutions. Though I would love to work on RPG-IV, my customer should say so. Thus even if it means working harder, I need to work in RPG-III :). I did some work-around and got this. Here is what I did. CUSIDQ is the input char field with numeric values left justified and CUSIDN is the output field with numeric values right justified. E ARY1 9 1 E ARY2 9 1 C CONVRT BEGSR C Z-ADD*ZEROS CUSIDN 90 C MOVEACUSIDQ ARY1 C '00000000'CAT '0' WKCUST 9 C MOVEAWKCUST ARY2 * C MOVE CUSIDQ CUSIDC 9 C ' ':1 SCAN CUSIDC I 30 * If CUSID contains any blanks C I IFGT 0 C 9 SUB I I C 2 ADD I I C MOVEAARY1 ARY2,I C MOVEACUSN WKCUST * C TESTN WKCUST 99 Test numeric C *IN99 IFEQ *OFF Not numeric C Z-ADD2 RTNCDE C GOTO ENDCVT C ELSE C MOVE WKCUST CUSIDN Move to num C ENDIF * If CUSID contains NO blanks C ELSE * C TESTN CUSIDQ 91 Test numeric C *IN91 IFEQ *OFF Not numeric C Z-ADD2 RTNCDE C GOTO ENDCVT C ELSE C MOVE CUSIDQ CUSIDN C ENDIF * C ENDIF C ENDCVT ENDSR -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Bob Cozzi Sent: Thursday, February 26, 2004 7:42 AM To: 'RPG programming on the AS400 / iSeries' Subject: RE: Moving Char field to Numeric field right justified Hi Barbara, I'm not sure if I have an example, but I may have been thinking of this: %dec(' $1,234.50' : 7 : 2) And I realize it is the $ that's the issue (along with the commas) not the leading blanks. -Bob -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Barbara Morris Sent: Wednesday, February 25, 2004 7:42 PM To: rpg400-l@xxxxxxxxxxxx Subject: Re: Moving Char field to Numeric field right justified Bob Cozzi wrote this: >The %DEC built-in function will blow up on this conversion. Do not use it >for that. But if you are on V5R2, you could use %INT instead of atoll() as >I suggested earlier, but still do the %SUBST and CHECK opcodes first. and then this: >%DEC only works if the value is pretty clean; otherwise, you get a runtime >error message. Even leading blanks can cause a problem with %DEC. > %DEC and %INT have the same rules with respect to "clean". Do you have an example where leading blanks cause a problem with %DEC? _______________________________________________ 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 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.