Hallo Ralf,

Deine Lösung funktioniert, solange:
sich numerische, alphanumerische und Datums/Zeitfelder sich nicht überlagern. Dadurch könnten ungültige Werte in die numerischen oder Datums- und Zeitfelder gelangen, was dann zu einem Programm-Abbruch führt.

Besser wäre es, 3 unterschiedliche Datenstrukturen zu definieren und vor Programm-Aufruf die benötigte Datenstruktur in die *LDA, die mit einem einzigen Feld mit 1024A definiert wurde, auszugeben.

PHP-Code:
D LDA            UDS                  dtaara(*LDA)           
D  LDAInhalt                  1024                           
                                                             
D DSParPgm1       DS                  Qualified              
D   Par1                        50A                          
D   Par2                        15S 0                        
D   Par3                          D                          
                                                             
D DSParPgm1       DS                  Qualified              
D   Par1                        11S 3                        
D   Par2                        30A  
 
*------------------------------------------------------                        
 /
Free   
      
//Füllen Datenstrukturen für Parameterübergabe
      
in LDA;                                                
      
Clear LDAInhalt;                                       
      
Select;                                                
      
When Bedingung 1;                                    
           
LDAInhalt DSParPGM1;                            
           
Out LDA;                                          
           
CallP Pgm1;                                       
      
When Bedingung 2;                                    
           
LDAInhalt DSParPGM2;      
           
Out LDA;                    
           
CallP Pgm2;                 
      
EndSL;                           
      
Out LDA;                         
 /
End-Free 
Birgitta