Vielleicht so, aber ohne Gewähr!
PHP-Code:
DALPHA            DS                                                   
DPACK0                          15P 0                                  
DPACK1                          15P 1 OVERLAY
(PACK0)                   
DPACK2                          15P 2 OVERLAY(PACK0)                   
DPACK3                          15P 3 OVERLAY(PACK0)                   
DPACK4                          15P 4 OVERLAY(PACK0)                   
DPACK5                          15P 5 OVERLAY(PACK0)                   
DPACK6                          15P 6 OVERLAY(PACK0)                   
DPACK             S             15P 6 INZ                              
DHEX0             S                   INZ
(*ALLX'00'LIKE(ALPHA)       
DTEXT             S            128A   INZ(X'ABCDEF987654321DEF')       
DSTART            S              5P 0 INZ(4)                           
DLEN              S              1P 0 INZ(5)                           
DNK               S              1P 0 INZ(2)                           
D                                                                      
C                   
EVAL      ALPHA = %SUBST(HEX0:1:%LEN(ALPHA)-LEN)   
C                                   + %SUBST(TEXT:START)               
C                   SELECT                                             
C     NK            WHENEQ    0                                        
C     
*ZERO         ADD       PACK0         PACK                       
C     NK            WHENEQ    1                                        
C     
*ZERO         ADD       PACK1         PACK                       
C     NK            WHENEQ    2                                        
C     
*ZERO         ADD       PACK2         PACK                       
C     NK            WHENEQ    3                                        
C     
*ZERO         ADD       PACK3         PACK                       
C     NK            WHENEQ    4                                        
C     
*ZERO         ADD       PACK4         PACK                       
C     NK            WHENEQ    5                                        
C     
*ZERO         ADD       PACK5         PACK                       
C     NK            WHENEQ    6                                        
C     
*ZERO         ADD       PACK6         PACK                       
C                   OTHER                                              
C                   MOVE      
*ZERO         PACK                       
C                   ENDSL                                              
C                   SETON                                        LR