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:

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

Etwa so:
Code:
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);
Birgitta