Ganz einfach:

Definiere für jedes Byte ein einstellige Integer Variable (3 U 0) und addiere in dieses jeweils den gepackten Wert.
Lege die einzelnen Bytes/Variablen als Feldgruppen-Elemente an und überlagere die Feldgruppe mit einem alphanumerischen String.

Deine Umrechnungsorgie kannst Du Dir dann sogar sparen.

Code:
D DS          DS
D   String                      28A
D   ArrInt                       3u 0   Dim(28) Overlay(String);

 /Free
    Clear DS;
    ArrInt(1) = 18;    //Jetzt sollte in String auf der 1.Stelle hex(12) stehen
 /End-Free
Birgitta