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