Banner

Attention: open in a new window. PDFPrintE-mail

2009
12
Apr

Customized Function to get Long Date

If I enter a input - 05.06.2005, the output should appear like
Sunday, June 05, 2005.

 

FUNCTION Z_LONG_DATE.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(V_NUMDATE) LIKE  BKPF-BUDAT
*"     REFERENCE(V_TYPE) LIKE  BKPF-BSTAT DEFAULT 1
*"  EXPORTING
*"     REFERENCE(V_CHARDATE) LIKE  BKPF-BKTXT
*"----------------------------------------------------------------------

  DATA: v_month(2),
       v_date(2),
       v_year(4),
       v_monthc(10),
       day_p TYPE p,
       weekday(10).

  v_month = v_numdate+4(2).
  v_date  = v_numdate+6(2).
  v_year  = v_numdate+0(4).


  CASE v_month.
    WHEN 1.
      v_monthc = 'January'.
    WHEN 2.
      v_monthc = 'February'.
    WHEN 3.
      v_monthc = 'March'.
    WHEN 4.
      v_monthc = 'April'.
    WHEN 5.
      v_monthc = 'May'.
    WHEN 6.
      v_monthc = 'June'.
    WHEN 7.
      v_monthc = 'July'.
    WHEN 8.
      v_monthc = 'August'.
    WHEN 9.
      v_monthc = 'September'.
    WHEN 10.
      v_monthc = 'October'.
    WHEN 11.
      v_monthc = 'November'.
    WHEN 12.
      v_monthc = 'December'.

  ENDCASE.

*Get the Weeekday name
  day_p = V_NUMDATE MOD 7.

  IF day_p > 1.
    day_p = day_p - 1.
  ELSE.
    day_p = day_p + 6.
  ENDIF.

  CASE day_p.
    WHEN 1.
      weekday = 'Monday, '.
    WHEN 2.
      weekday = 'Tuesday, '.
    WHEN 3.
      weekday = 'Wednesday, '.
    WHEN 4.
      weekday = 'Thursday, '.
    WHEN 5.
      weekday = 'Friday, '.
    WHEN 6.
      weekday = 'Saturday, '.
    WHEN 7.
      weekday = 'Sunday, '.
  ENDCASE.

  CASE v_type.
    WHEN 1.
      CONCATENATE v_monthc v_date INTO v_chardate SEPARATED BY space.
      CONCATENATE v_chardate ',' INTO v_chardate.
      CONCATENATE weekday v_chardate v_year INTO v_chardate  SEPARATED BY space.

    WHEN 2.
      CONCATENATE v_monthc v_year INTO v_chardate SEPARATED BY space.

  ENDCASE.

ENDFUNCTION.

Last Updated (Tuesday, 30 November 1999 00:00)