//___________________________________________________________
      //  TextDate():  Returns the current date, formatted as text
      //
      //     For example:  ‘Aug 25, 2009′
      //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
     p TextDate        b
     d                 pi            25a
     d  peDate                         d   Options(*NoPass)
     d                                     DatFmt(*ISO)

     d CurDate         s               d   DatFmt(*ISO)
     d                                     Inz(*Sys)
     d CurDay          s              2p 0
     d CurYear         s              4p 0
     d CurMM           s              2p 0
     d CurMonth        s              3a   varying

     d retField        s             25a

     d MonthsDS        ds
     d                                3a   Inz(‘Jan’)
     d                                3a   Inz(‘Feb’)
     d                                3a   Inz(‘Mar’)
     d                                3a   Inz(‘Apr’)
     d                                3a   Inz(‘May’)
     d                                3a   Inz(‘Jun’)
     d                                3a   Inz(‘Jul’)
     d                                3a   Inz(‘Aug’)
     d                                3a   Inz(‘Sep’)
     d                                3a   Inz(‘Oct’)
     d                                3a   Inz(‘Nov’)
     d                                3a   Inz(‘Dec’)
     d Months                         3a   Overlay(MonthsDS)
     d                                     Dim(12)

      /Free

           If %Parms > 0;
             CurDate = peDate;
           EndIf;
           CurDay  = %subdt(CurDate :*Days);
           CurYear = %subdt(CurDate :*Years);
           CurMM   = %subdt(CurDate :*Months);

           CurMonth = Months(CurMM);

           retField = CurMonth + ‘ ‘
                    + %EditC( CurDay: ‘X’ ) + ‘, ‘
                    + %EditC( CurYear: ‘X’ );

           Return retField;

      /End-Free
     p                 e