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



Well, first, they are not being converted, the display cannot display them, 
that is all - the variable still has the hex values in it.

Do you want to show the actual numeric value or the hex characters? If you want 
the numeric value, the next post has a way to do it - overlay a packed subfield 
on the 2-character variable. If you want to see the hex characters, one way is 
with embedded SQL - try this sample that has a host variable in the substring 
function as well as for the target variable.

d string          s             10a   inz(x'F1F2015FF3F4F5F6F7F8')
d result          s              4a
c/exec sql
c+  values hex(substr(:string, 3, 2))
c+    into :result
c/end-exec
c                   eval      *inlr = *on

The value in result will be '015F'.

You can even use host variables for the start position and length, as here

d string          s             10a   inz(x'F1F2015FF3F4F5F6F7F8'
d result          s              4a
d start           s             10i 0 inz(3)
d scale           s             10i 0 inz(2)
c/exec sql
c+  values hex(substr(:string, :start, :scale))
c+    into :result
c/end-exec
c                   eval      *inlr = *on

This is very cool!!

-------------- Original message -------------- 
From: "Charles St-Laurent" <dringpiece@xxxxxxxxxxx> 

Hi! 

I have a file that is internally described as a long string field in my 
program. I know that for example the chars at position 110-111 must be 
considered as a packed field (3P 0). I want to extract the 2 chars in a 
temporary string of my program, using %subst(rcd:110:2) but when I do that, 
the %subst operation converts all non-displayable hexadecimal chars to 
blanks... 

How can I extract these chars with no conversion? I tried to loop to extract 
char by char but the result is the same... Non-displayable chars are 
converted to blank... 

Thanks in advance for your answers 
Charles 



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