Function modules: Date and Time

来源:互联网 发布:淘宝客服发货流程 编辑:程序博客网 时间:2024/05/21 06:25
 

Function modules: Date and Time

 

Get a date

  • DATE_GET_WEEK Returns week for a date
  • WEEK_GET_FIRST_DAY Returns first day for a week
  • RP_LAST_DAY_OF_MONTHS Returns last day of month
  • FIRST_DAY_IN_PERIOD_GET Get first day of a period
  • LAST_DAY_IN_PERIOD_GET Get last day of a period
  • RP_LAST_DAY_OF_MONTHS Determine last day of month

Date calculations

  • DATE_COMPUTE_DAY Returns a number indicating what day of the week the date falls on. Monday is returned as a 1, Tuesday as 2, etc.
  • DATE_IN_FUTURE Calculate a date N days in the future.
  • RP_CALC_DATE_IN_INTERVAL Add days/months to a date
  • RP_CALC_DATE_IN_INTERVAL Add/subtract years/months/days from a date
  • SD_DATETIME_DIFFERENCE Give the difference in Days and Time for 2 dates
  • MONTH_PLUS_DETERMINE Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.

  • DATE_CREATE Calculates a date from the input parameters:

Example: DATE_CREATE

CALL FUNCTION 'DATE_CREATE' EXPORTING   anzahl_jahre  = 1   anzahl_monate = 2   anzahl_tage   = 3   datum_ein     = '20010101' IMPORTING   datum_aus     = l_new_date.
   Result:   l_new_date = 20020304

Example: MONTH_PLUS_DETERMINE

data: new_date type d.

CALL FUNCTION 'MONTH_PLUS_DETERMINE'
EXPORTING
months = -5 " Negative to subtract from old date, positive to add

olddate = sy-datum
IMPORTING
NEWDATE = new_date.

write: / new_date.


Hollidays

  • HOLIDAY_GET Provides a table of all the holidays based upon a Factory Calendar &/ Holiday Calendar.
  • HOLIDAY_CHECK_AND_GET_INFO Useful for determining whether or not a date is a holiday. Give the function a date, and a holiday calendar, and you can determine if the
    date is a holiday by checking the parameter HOLIDAY_FOUND.

Example: HOLIDAY_CHECK_AND_GET_INFO

data: ld_date                 like scal-datum  default sy-datum,      lc_holiday_cal_id       like scal-hcalid default 'CA',      ltab_holiday_attributes like thol occurs 0 with header line,      lc_holiday_found        like scal-indicator.CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'  EXPORTING    date                               = ld_date    holiday_calendar_id                = lc_holiday_cal_id    WITH_HOLIDAY_ATTRIBUTES            = 'X'  IMPORTING    HOLIDAY_FOUND                      = lc_holiday_found  tables    holiday_attributes                 = ltab_holiday_attributes  EXCEPTIONS    CALENDAR_BUFFER_NOT_LOADABLE       = 1    DATE_AFTER_RANGE                   = 2    DATE_BEFORE_RANGE                  = 3    DATE_INVALID                       = 4    HOLIDAY_CALENDAR_ID_MISSING        = 5    HOLIDAY_CALENDAR_NOT_FOUND         = 6    OTHERS                             = 7.if sy-subrc = 0 and   lc_holiday_found = 'X'.  write: / ld_date, 'is a holiday'.else.  write: / ld_date, 'is not a holiday, or there was an error calling the function'.endif.

Checking dates

  • DATE_CHECK_PLAUSIBILITY Check to see if a date is in a valid format for SAP. Works well when validating dates being passed in from other systems.

Converting dates

  • DATE_CONV_EXT_TO_INT Conversion of dates to SAP internal format e.g. '28.03.2000' -> 20000328 Can also be used to check if a date is valid ( sy-subrc <> 0 )

Function to return literal for month

he table you want to use is T247. You can also use the function MONTH_NAMES_GET. [ Monique Goodrich ,posted to SAP listserver]

You can also try table T015M. It has the month number in it's key.
[Walter Barr , posted to SAP listserver]

 

 

Formatting

  • DATUMSAUFBEREITUNG Format date as the user settings

 

Other

  • MONTH_NAMES_GET It returns all the month and names in repective language.