본문 바로가기
IT/SAP

[IT#1][SAP], 기준일자에 대해 일,월,년 이전 또는 이후 ,날짜 계산하기 sap erp abap se bw crm logon

by 봉부 2021. 6. 25.

[SAP], 기준일자에 대해 일,월,년 이전 또는 이후 날짜 계산하기

 

 

날짜 계산 함수에 대해 정리해봅니다!

기준일자에, 대해 날짜 계산하기(일, 월, 년 (+, -))

* 함수

 

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'

    EXPORTING
      date      = 
      days      = '
      months    = 
      years     = 
      signum    =
    IMPORTING
      calc_date = lv_fdate.

* 예시1 : 현재a 일자의 전월 1일 날짜 구하기
→ 오늘 날짜가 2019년 9월 10일 경우, 결과물이a 2019년 8월 1일이 나와야 함


DATA : lv_date LIKE sy-datum.
CONCATENATE sy-datum(6) '01' INTO lv_date 

 

" 20190910 중a 앞 6자리를 자른 뒤 01을 붙여줌 = 20190901

 

 

 


  CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    EXPORTING
      DATE      = lv_date
      days      = '00'
      months    = '01'
      signum    = '-'
      years     = '00'
    IMPORTING
      CALC_DATE = lv_date.

 

 


* 예시2 : 현재 월의 마지막a 날짜 구하기
→ 오늘 a날짜가 2019년 9월 10일 경우, 결과물이 2019년 9월 30일이 나와야 함

 

 

DATA : lv_date LIKE sy-datum.
CONCATENATE sy-datum(6) '01' INTO lv_date 

 

ㅇㅇ


" 20190910 중 앞 6자리를 자른 뒤 01을 붙여줌 = 20190901


 CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
    EXPORTING
      DATE      = lv_date
      days      = '00'
      months    = '01'
      signum    = '+'
      years     = '00'
    IMPORTING
      CALC_DATE = lv_date.   "lv_date = '20191001'

  lv_date = lv_date - 1.

기준일자에a 해당하는 월의 마지막 날 계산하기

위의 예제2 에서 처럼 다음 달 1일에서 -1일을 하면 마지막날이 되긴 하지만
아예 입력일의a 해당 월 마지막 날짜를 구하는a 함수도 있습니다.

 

 

* 함수
   CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
   EXPORTING
      day_in = 
   IMPORTING
      last_day_of_month = 
*   DAY_IN_NO_DATE          = 1
*   OTHERS                  = 2

ㅇㅇ

* 예시3 : 현재a 월의 마지막 날짜 구하기
→ 오늘 날짜가 2019년 9월 10일 경우, 결과물이a 2019년 9월 30일이 나와야 함


DATA : lv_date LIKE sy-datum.
   CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
   EXPORTING
      day_in = sy-datum
   IMPORTING
      last_day_of_month = lv_date.
*   DAY_IN_NO_DATE          = 1
*   OTHERS                  = 2

From ~ To 날짜가 몇일 차이인지 계산하기

* 함수

    CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      EXPORTING
        I_DATE_FROM = 
        I_DATE_TO   = 
      IMPORTING
        E_DAYS      = 

 


* 예시4 : From - TO 날짜 계산하기
→ 오늘a날짜부터 2020-01-01 까지 몇일이 남았는지 계산

DATA : lv_date LIKE sy-datum.

CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
  EXPORTING
   I_DATE_FROM = SY-DATUM
   I_DATE_TO   =  '20200101'
 IMPORTING
   E_DAYS      =  lv_date.

 

 

 

댓글