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

Scott Klement's suggestion is probably best. 
'Use the _LBCPYNV MI builtin to convert the packed data to zoned decimal.'
But I have no idea how to use MI builtins.

But perhaps you can use a routine like this.
I am not sure where I got this code from, I think it was
Scott, its from Hex to Char and Char to hex conversion.
This is the HEX to Char portion.

You will need to do something with the sign (last byte) to
end up with unpacked numerics.

Frank Kolmann



H debug dftactgrp(*no) actgrp('QILE') bnddir('QC2LE') 
 
 *  The following are the C defintions for the MI function cvtch 
 *    - refer to the MI Library Reference on the ILE C bookshelf for f 
 
 *     void cvtch (_SPCPTR receiver, 
 *                 _SPCPTRCN source, 
 *                 int size);); 
 
D H2C             Pr                  ExtProc('cvthc') 
D  RecPtrP                        *   Value 
D  SrcPtrP                        *   Value 
D  SizeP                        10I 0 Value 
 
D RecPtr          S               *   INZ 
D SrcPtr          S               *   INZ 
 
D OutStrD         S             20    INZ 
D InpStrD         S             10    INZ(X'01234F') 
D Size            S             10I 0 INZ 
D ANS             S              1 
 
C                   Eval      OutStrD=*BLANKS 
C                   Eval      RecPtr=%Addr(OutStrD) 
C                   Eval      SrcPtr=%Addr(InpStrD) 
C                   Eval      Size=%len(%trim(InpStrD))*2 
 
C                   CALLP     H2C(RecPtr : 
C                                 SrcPtr : 
C                                 Size) 
 
C     OutStrD       Dsply                   ANS 
 
C                   SetOn                                          LR 


date: Tue, 30 May 2006 14:45:30 -0500
from: "Curt Vancalster" <Curt.Vancalster@xxxxxxxxxx>
I am working in RPG IV.  I am trying to substringing out of a character
field, packed data.  I am trying to put this packed data back into
another character field, but I don't want it packed, I want to see the
actual value.  How do I accomplish this?  I tried substringing into a
character field and then moved that into a signed field, but that does
not work.  I get a decimal data error.  I don't want to create a data
structure either cause the format of the initial character field could
change.

Any suggestions?

Curt VanCalster
Lead Programmer
Smithfield Beef Group., - Green Bay, WI
(920) 406-1174
curt.vancalster@xxxxxxxxxx

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.