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.