SAP/ABAP
날짜 계산 함수
Linkin
2024. 2. 27. 00:19
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = iv_idate
days = iv_days
months = iv_months
years = iv_years
signum = iv_sign
IMPORTING
calc_date = rv_odate.
date 를 기준으로 days, months, years의 값을 signum(+,-) 에 따라 더하거나 빼준다.
안쓰는 날짜옵션은 '0' 을 넣어주면 된다.
계산한 달의 첫날은 rv_odate = |{ rv_odate(6) }01|.
마지막날은 한달을 더해준 뒤 rv_odate = rv_odate - 1.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
day_in = iv_idate
IMPORTING
last_day_of_month = rv_odate
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
날짜가 해당하는 달의 마지막 날짜를 계산해준다.
rv_odate = rv_odate + 1. 을 하게되면 다음달의 첫날이 된다.
CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
EXPORTING
date = iv_date
EXCEPTIONS
plausibility_check_failed = 1
OTHERS = 2.
해당 날짜의 유효성을 검증해준다.
'20240030' 같은 값이 들어오면 1을 리턴한다.