Im ersten Fall, d.h. dass der gepackete Wert auf die Stellen 6-10 übertragen werden soll, musst Du lediglich die Positionen 6-10 als gepackt numerisches Feld definieren (11P 0) und anschließend den Wert übernehmen:
Im zweiten Fall ist es ein bisschen trickier, da Integer-Felder nur 1 (= 3U 0), 2 (= 5U 0), 4 (= 10U 0) oder 8 (= 20U 0) Byte groß definiert werden können. 5028398445 muss in ein 8 Byte großes Feld addiert werden. Da Du jedoch 5 Byte benötigst müssen im Anschluss nur die Stellen/Bytes 4-8 in das eigentliche Text-Feld übernommen werden.Code:D DS1 DS Inz D Alpha1 28A D Dec 11P 0 Overlay(Alpha1: 6) * Alternativ D DS1 DS Inz D Alpha1 28A D Dec 6 10P 0 /Free Dec = 5028398445;
Etwa so:
BirgittaCode:D DS2 DS Inz D Alpha2 28A D Alpha2A 5A Overlay(Alpha2: 6) D DS3 DS Inz D Alpha3 8A D Int 20U 0 Overlay(Alpha3) /Free Int = 5028398445; Alpha2A = %Subst(Alpha3: 4);
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks