Das hört sich ganz nach einer Schnittstelle einer Sendedatei für einen Spediteur an (z.B. transoflex).

Also ich habe das fogendermaßen gelöst.

- Datei mit einem Feld Länge 128 String.
- In RPG z.B. für jedes Satzformat eine Datenstruktur
- Datenstruktur mit Datenbankfeldern aus der Anwendung füllen
- MOVE Datenstruktur in das 128 stellige Feld (im Bsp. TOFSET)

Code:
     I*---------- DFU-SÄTZE -----------------------------------* 
     IKOPF       IDS                                             
     I                                        1   20$SART        
     I                                        3  110$KDNNR       
     I                                       12  170$DATLF       
     I                                       18  190$NDLK        
     I                                       20  20 $EDIS        
     I                                       21  260$REFNR       
     I                                       21  26 $REFNA       
     ISATZ11     IDS                                             
     I                                        1  26 $KOPF1       
     I                                       27  27 $KZNAM       
     I                                       28 117 $ENAM        
     I                                       28  57 $ENAM1       
     I                                       58  87 $ENAM2       
     I                                       88 117 $ENAM3       
     I                                      118 128 $RES1  
     ISATZ12     IDS                                      
     I                                        1  26 $KOPF2
     I                                       27  56 $EATN 
     I                                       57  86 $ESTR 
     I                                       87  90 $RES2 
     I                                       91  91 $RES3 
     I                                       92  94 $ELND 
     I                                       95  99 $EPLZ 
     I                                      100 124 $EORT 
     I                                      125 127 $RES4 
     I                                      128 128 $RES5 

... Routine pro Lieferschein-Satz aufrufen

     C*-----------------------------------------
     C*             Bearbeiten Datenpool 
     C*-----------------------------------------
     C           $SATZ     BEGSR                
     C*-----------------------------------------
     C                     CLEARKOPF            
     C                     CLEARSATZ11          
     C                     CLEARSATZ12          
             
.... hier Felder versorgen

     C*                                            
     C                     MOVE '11'      $SART    
     C                     MOVE KOPF      $KOPF1   
     C                     ADD  1         $SATZZ   
     C                     MOVE SATZ11    TOFSET   
     C                     WRITETOFDUS0            
     C*                                            
     C                     MOVE '12'      $SART    
     C                     MOVE KOPF      $KOPF2   
     C                     ADD  1         $SATZZ   
     C                     MOVE SATZ12    TOFSET   
     C                     WRITETOFDUS0            
     C*                                            
     C                     ENDSR
Sven