Hallo Rince,

wie Du bereits festgestellt hast, kann das Format nicht als Variable angegeben werden.
Da das Format ja bekannt sein muss, hast Du nur die Möglichkeit das Datum über eine Select-Anweisung zu prüfen, oder Du schreibst Dir Deine eigene Funktion.

Hier ein Beispiel einer solchen Funktion (Relese V5R1 und höher):
PHP-Code:
 Prototyp
D ChkDate6N       PR              N               
D   PPDate                       6P 0 
const       
D   PPFmt                        4A   value       
 
 
Funktion
P ChkDate6N       B                   Export         
 
D ChkDate6N       PI              N                  
D   PPDate                       6P 0 
const          
D   PPFmt                        4A   value          
                                                     
D Gross           C                   
const('DMY')   
D Klein           C                   const('dmy')   
D FmtMDY          C                   const('*MDY')  
D FmtDMY          C                   const('*DMY')  
D FmtYMD          C                   const('*YMD')  
                                                     
D MyDate          S               D                  
                                                     
 
/Free                                               
   PPFMT 
= %Xlate(KleinGrossPPFmt);              
   
Monitor;                                          
      
Select;                                        
      
When PPFmt FmtDMY;                           
           
MyDate = %Date(PPDate: *DMY);             
      
When PPFmt FmtMDY;                           
           
MyDate = %Date(PPDate: *MDY);
      
When PPFmt FmtYMD;              
           
MyDate = %Date(PPDate: *YMD);
      
other;                            
      Return *
Off;                      
      
EndSL;                            
   
On-Error;                            
      Return *
Off;                      
   
EndMon;                              
                                        
   Return *
On;                          
 /
End-Free                              
P ChkDate6N       E 
Aufruf:
PHP-Code:
 /Free
     
If ChkDate6N(311299'*DMY');
         
Dsply 'Gültiges Datum';
     EndIf;

     If  
Not ChkDate6N(MyDateFmtYMD);
         
Dsply 'Fehlerhaftes Datum';
     Endif
 /
End-Free 
Birgitta