ABAP 기준일에서 일수, 월수, 년수를 더하거나 빼서 날짜를 계산 하는 방법


ABAP 프로그램을 개발할 때 구문 상에서 날짜 계산을 많이 하게 됩니다.

기준일에서 몇 일 이후의 날짜를 구하거나 몇 일 이전의 날짜를 계산 한 뒤 프로그램 구문에서 사용하는 경우가 많이 있습니다.

단순히 몇 일 이전 또는 몇 일 이후를 계산하는 방법은 무척 간단합니다. DATE 변수에 해당 일 수를 더하거나 빼주면 날짜가 자동 계산 됩니다.

DATE i_date TYPE SY-DATUM.
i_date = SY-DATUM + 3.
이렇게 날짜에 일 수를 더하면 간단하게 계산이 됩니다. 위의 예제는 현재 날짜에 3일 더해서 i_date 변수에 넣는 구문입니다.
단순한 일 수가 아니라 개월 수를 더하거나 빼는 경우, 또는 년 수를 더하는 빼는 경우는 어떻게 구문을 처리하면 될까요?

이번 글에서는 ABAP 기준일에서 일수, 월수, 년수를 더하거나 빼서 날짜를 계산 하는 방법에 대해 알아보겠습니다.

ABAP에서 RP_CALC_DATE_IN_INTERVAL 함수를 사용하여 날짜를 계산하는 방법

▶ 기준일에서 특정 일 수를 더하거나 뺄 때, 특정 개월 수를 더하거나 뺄 때, 특정 년 수를 더하거나 뺄 때 RP_CALC_DATE_IN_INTERVAL 함수를 사용하면 간단하게 날짜를 계산할 수 있습니다.

  • DATE : 기준이 되는 날짜를 지정합니다.
  • DAYS : 기준일에서 더하거나 뺄 일(日) 수를 입력합니다.(디폴트 00 입력)
  • MONTHS : 기준일에서 더하거나 뺄 월(月) 수를 입력합니다.(디폴트 00 입력)
  • YEARS : 기준일에서 더하거나 뺄 년(年) 수를 입력합니다.(디폴트 00 입력)
  • SIGNUM : 더할(+) 것인지? 뺄(-) 것인지? 연산 기호를 입력합니다.
  • CALC_DATE : 계산 된 결과 날짜가 반환 됩니다.
DATA L_BEGDA TYPE SY-DATUM.
 
CALL FUNCTION ‘RP_CALC_DATE_IN_INTERVAL’
  EXPORTING
    DATE = SY-DATUM   “-> 기준일
    DAYS = ’02’       “-> 더하거나 뺄 일자 수
    MONTHS = ’01’     “-> 더하거나 뺄 월 수
    YEARS = ’01’      “-> 더하거나 뺄 년 수
    SIGNUM = ‘+’      “-> 더할지 뺄지를 정하는 연산부호
  IMPORTING
    CALC_DATE = L_BEGDA.   “-> 계산된 날짜 (SY-DATUM)
  • 만약 기준일(SY-DATUM)이 ‘2023-12-12’인 경우 결과 값은 ‘2025-01-14’이 반환 됩니다.
  • 1년, 1개월, 2일을 더한 날짜가 계산됩니다.
ABAP 기준일에서 일수, 월수, 년수를 더하거나 빼서 날짜를 계산 하는 방법

결론

RP_CALC_DATE_IN_INTERVAL 함수는 몇 년, 몇 개월, 몇 일의 기간에 대한 날짜를 계산할 때 유용한 함수입니다.

단순한 일 수를 더하거나 빼는 날짜 계산 보다 활용도가 높은 함수이므로 알아두면 무척 편리하게 사용할 수 있습니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기