PHP-Code:
d Datum           s               d   datfmt(*eur)     
d Woche           s              3u 0                  
d WoTag           s              3u 0                  
d Jahr            s              4s 0                  
d                                                      
d parm_Dat        s              8a                    
d parm_WoTag      s             10a                    
d parm_DayOf      s              1a                    
d parm_Woche      s              2a                    
d parm_Jahr       s              4                     
d                                                      
d Datum_num       s              8  0                  
d                                                      
d                 ds                                   
d $woche                        10a                    
d                                     dim
(7)           
d                         1     10a   inz('Montag    ')
d                        11     20a   inz('Dienstag  ')
d                        21     30a   inz('Mittwoch  ')
d                        31     40a   inz('Donnerstag')
d                        41     50a   inz('Freitag   ')
d                        51     60a   inz('Samstag   ')
d                        61     70a   inz('Sonntag   ')
                                                       
c     *entry        plist                              
c                   parm                    parm_Dat   
c                   parm                    parm_WoTag 
c                   parm                    parm_DayOf 
c                   parm                    parm_Woche 
c                   parm                    parm_Jahr  
c                                                      
c                   move      parm_Dat      datum_num  
c                   move      datum_num     datum      
c                                                      
c
/EXEC SQL                                             
c
set  :Woche  =  week_iso(:Datum)                    
C/END-EXEC                                             
c
/EXEC SQL                                             
c
set  :WoTag  =  DayOfWeek_iso(:Datum)               
C/END-EXEC                                                 
c                                                          
c
*                                                         
c                   Select                                 
c                   When      woche 
1                    
c                              
and                         
c                             %SubDt(Datum: *M) = 12       
c                   
eval      Jahr =  %SubDt(Datum: *Y) + 1
c                   When      woche 
>= 52                  
c                              
and                         
c                             %SubDt(Datum: *M) = 1        
c                   
eval      Jahr =  %SubDt(Datum: *Y) - 1
c                   Other                                  
c                   
eval      Jahr =  %SubDt(Datum: *Y)    
c                   EndSl                                  
c
*                                                         
c                   eval      parm_WoTag  $Woche(Wotag)  
c                   move      wotag         parm_DayOf     
c                   move      woche         parm_woche     
c                   move      Jahr          parm_Jahr
c
*                                                   
c                   return 
Urheber an der Quelle müsste die Birgitta gewesen sein (man sollte mich korrigieren wenn es nicht so ist)

Gruß Ronald