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



Joep is on the right track - the reason for the character in the "number" is that the sign is in the first nybble of the last digit.

It is not clear why the original RPG III program converted (moved) the value to an alpha field, but it doesn't matter. Simply do what Joep says - define the incoming parameter in the RPG IV program as 5S0 and all should be good.

An alternative is to have a data structure with a 5S0 subfield and a 5A overlaid on the zoned subfield. Then in /free set the 5A subfield to the incoming parameter value and all is good.

Joep's idea should work because what is being passed is the pointer - it's a bit of a game with pointers but should work fine.

One thing - DOCUMENT THIS TECHNIQUE in the RPG IV program, so future developers have a clue!!

HTH
Vern

On 1/25/2013 5:29 AM, Dirk.Marien@xxxxxxxxxxxxxxxxx wrote:
Arnaud,

%char will convert corectly. After that, you can use %int or %dec :

ValueAlpha = %Char(Num20dec6);
Num20dec6 = %dec(%trim(ValueAlpha):20:6);

Kr,
Dirk.










Joep Beckeringh <joep.beckeringh@xxxxxxxxxx>
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
25/01/2013 12:23
Please respond to
"RPG programming on the IBM i \(AS/400 and iSeries\)"
<rpg400-l@xxxxxxxxxxxx>

To
"RPG programming on the IBM i (AS/400 and iSeries)"
<rpg400-l@xxxxxxxxxxxx>
cc

Subject
Re: Lost in free format conversion.






Armand,

Why don't you just define the incoming parameter as 5S0? You say that in
the RPG III program is converted to character, but it is not: it is just
moved. So you van just receive is as it is - a zonec numeric field.

Joep Beckeringh


Op 25 jan. 2013 om 11:04 heeft Armand Perquin <a.perquin@xxxxxxxxxxxxx>
het volgende geschreven:

Hello,

In a RPG3 program a numeric field is converted to a character field and
passed as parameter in a call. When this parameter is received in a free
format program and the value is positive there is no problem converting
it
back to a numeric field. But when the value was negative the value in
the
character field contains a letter so I can convert it to a numeric field
with %dec, %int or %uns.

E.g.
Field1 5.0 with value -22256 and parmField1 5A.

When the value from Field1 in RPG3 is moved into parmField1 the value is
converted from -22256 to '2225O'. In this case converting it back to a
numeric field is not possible because of the letter ?O?. The result is
message RNX0105 is trown.

Can someone please help me to solve this challenge in free format.

Best Regards / Met vriendelijke groet,
Armand
_____________________________________________
H.P.J. (Armand) Perquin
AS/400 Senior software developer, Senior system analyst


Boal Beheer B.V.
De Hondert Margen 12
PO Box 75, 2678 ZH De Lier, The Netherlands
Tel. +31 (0)174 527297, Fax. +31 (0)174 527264
Internet: http://www.boalgroup.com


This message (including any attachments) is confidential and may be
privileged. If you have received it by mistake please notify the sender
by
return e-mail and delete this message from your system. Any unauthorised
use or dissemination of this message in whole or in part is strictly
prohibited. Please note that e-mails are susceptible to change. BOAL
International B.V., which has its seat at De Lier, the Netherlands, and
is
registered in the Commercial Register under number 27237488, including
its
group companies, shall not be liable for the improper or incomplete
transmission of the information contained in this communication nor for
any delay in its receipt or damage to your system. BOAL International
B.V.(or its group companies) does not guarantee that the integrity of
this
communication has been maintained nor that this communication is free of
viruses, interceptions or interference.

______________________________________________________________________
This email has been scanned by the Symantec Email Security.cloud
service.
______________________________________________________________________
--
This is the RPG programming on the IBM i (AS/400 and 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 ...

Replies:

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.