Register Login

Date and Time functions

Updated May 18, 2018

Below are the various Date and Time Functions in SAP:

1. Get a date
2. Date calculations
3. Holidays
4. Checking dates
5. Converting dates
6. Formatting
7. Other

1. 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

2. 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
  • DATE_CREATE Calculates a date from the input parameters:

Example:

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

MONTH_PLUS_DETERMINE Add or subtract months from a date. To subtract a month, enter a negative value for the 'months' parameter.

Example:

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.

3. Holidays

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:

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.

4. 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.

5. 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

6. Formatting

DATUMSAUFBEREITUNG Format date as the user settings

7. Other

MONTH_NAMES_GET It returns all the month and names in respective language.


×