|
I don't know why people make easy things difficult, but his issue is that
he's trying to do it with RPG III not RPG IV. Big mistake.
Here's a routine in RPGIII that will work with this situation. Be sure to
set the value of FLDLEN to the length of your character field before using
it.
Gosh it's been a while since I wrote RPG III!!! It was painful writing
this routine just now! :(
-Bob Cozzi
H
I '0123456789-' C NUMS
I ' ' C BLKS
IFIELDS DS
I P 1 30STR
I P 4 60ENDPOS
I P 7 90LEN
I P 10 120CNT
I P 13 170NUMVAL
I 18 37 NONNUM
I I ' 2345<>((' 38 47 MYFLD
I I 10 P 48 500FLDLEN
.....C*Rn01n02n03Factor1+++OpCodFactor2+++ResultLenDXHiLoEq
C NUMS:BLKS XLATEMYFLD NONNUM
C NONNUM CHEKRMYFLD ENDPOS
C NONNUM CHECKMYFLD STR
C ENDPOS SUB STR LEN
C ADD 1 LEN
C LEN SUBSTMYFLD:STR MYFLD P
C ' ' CHEKRMYFLD ENDPOS
C FLDLEN SUB ENDPOS CNT
C DO CNT
C '0' CAT MYFLD:0 MYFLD
C ENDDO
C MOVE MYFLD NUMVAL
C MOVE *ON *INLR
-----Original Message-----
On Behalf Of Chris_Bougher@xxxxxxxxxxxxx
Sent: Tuesday, February 24, 2004 9:59 AM
To: RPG programming on the AS400 / iSeries
Why do people insist on making simple things difficult?
"Deepak D
\(KAGC\)" To: "'RPG programming
on the AS400 / iSeries'" <rpg400-l@xxxxxxxxxxxx>
<deepak.deshpande@ cc:
patni.com> Subject: RE: Moving Char
field to Numeric field right justified
Sent by:
rpg400-l-bounces@m
idrange.com
02/24/2004 10:53
AM
Please respond to
RPG programming on
the AS400 /
iSeries
Hi
Here is the sample code. I get the result in CUSN array. But I cannot move
it to a numeric field.
*************** Beginning of data
*************************************
0001.00
*---------------------------------------------------------------*
0002.00 E CUSC 9 1 CUSID Char
0003.00 E CUSN 9 1 0 CUSID
Numeric
0004.00
*---------------------------------------------------------------*
0005.00 I '1234567 ' C CUSID
0006.00
*---------------------------------------------------------------*
0007.00 C MOVELCUSID CUSIDC 9
0008.00 C MOVEACUSID CUSC
0009.00 C ' ':1 SCAN CUSIDC I 30
0010.00 C I IFGT 0
0011.00 C I SUB 1 N 30
0012.00 C I SUB 1 I
0013.00 C Z-ADD9 J 30
0014.00 C DO N
0015.00 C MOVE CUSC,I POS1 10
0016.00 C MOVE POS1 CUSN,J
0017.00 C I SUB 1 I
0018.00 C J SUB 1 J
0019.00 C ENDDO
0020.00 ??? C**** MOVEACUSN CUSIDN 90
EXPECTED RESULT IS 001234567, OF COURSE 00 WILL NOT BE SHOWN.
0021.00 C ELSE
0022.00 C MOVE CUSIDC CUSIDN 90
0023.00 C ENDIF
0024.00 C SETON LR
****************** End of data
****************************************
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Bob Cozzi
Sent: Tuesday, February 24, 2004 8:59 PM
To: 'RPG programming on the AS400 / iSeries'
Subject: RE: Moving Char field to Numeric field right justified
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.
-Bob Cozzi
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Duane Kehoe
Sent: Tuesday, February 24, 2004 9:15 AM
To: RPG programming on the AS400 / iSeries
Subject: Re: Moving Char field to Numeric field right justified
Take a look at the %DEC built in Function for RPG IV available on V5R2
it does exactly what you need, hope this helps. There are other BIFs
for this type of move as well checkout the IBMs site(iSeries Information
Center - don't have the link sorry).
Deepak D (KAGC) wrote:
>Hi
>
>Can anybody suggest me the way to move a Char field (9 length) with
numeric
>data to Numeric field (9 length) right justified?
>
>e.g.
>
>Input field
>'123456((('
>
>Output expected
>000123456
>
>Since output field is numeric, it will not show leading zeros. Using
arrays,
>I moved the data in a numeric array but array does not allow me to move it
>to a numeric field directly. E.g. MOVEA array numfld.
>
>Please help.
>
>_______________________________________________
>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.
>
>
>
>
--
/*Weyco** Group* -/
*/Florsheim, Brass Boot, Nunn Bush, Stacy Adams/*
Duane Kehoe
EC / Programmer / Analyst
Phone # 414.908.1814
Fax # 414.908.1601
Email: dkehoe@xxxxxxxxxxxxxx
_______________________________________________
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.
_______________________________________________
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-2025 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.