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



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


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.