ABAP Standard Function

[ABAP] FIMA_DAYS_AND_MONTHS_AND_YEARS / 연, 월, 일 수 기간 계산

ASAP ABAP 2024. 12. 26. 14:12
반응형

모두 크리스마스때 잘 보내셨나요~ 저는 맛있는거 먹고 잘보냈답니다~

 

날짜에 대한 기간을 계산해야하는 상황도 종종있습니다. 이때 "FIMA_DAYS_AND_MONTHS_AND_YEARS"를 사용하면 특정 날짜 사이의 연, 월, 일 기간을 계산하여 정수 값으로 반환 받을 수 있습니다.

 

기능 설명 

FIMA_DAYS_AND_MONTHS_AND_YEARS 함수 모듈은 두 날짜 사이의 일수, 개월 수, 연수를 계산하는 SAP ABAP 함수입니다. 주어진 시작일과 종료일을 입력으로 받아, 그 사이의 기간을 일, 월, 연 단위로 반환합니다. 이 함수는 주로 날짜 간의 차이를 계산할 때 사용됩니다.

Signature

Importing Parameter
Exporting Parameter

예시 코드

DATA: EDAYS TYPE I, " 두 날짜 사이의 일수를 저장할 변수"
	EMONTHS TYPE I, " 두 날짜 사이의 개월 수를 저장할 변수"
	EYEARS TYPE I, " 두 날짜 사이의 연수를 저장할 변수"
	FROMDATE TYPE SY-DATUM VALUE '20240101', " 시작 날짜"
 	TODATE TYPE SY-DATUM VALUE '20241231'. " 종료 날짜"
    
    " 두 날짜 사이의 일수, 개월 수, 연수를 계산하는 함수 호출"
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
 EXPORTING
 I_DATE_FROM = FROMDATE " 시작 날짜"
I_DATE_TO = TODATE " 종료 날짜"
IMPORTING
 E_DAYS = EDAYS " 계산된 일수를 EDAYS에 저장"
 E_MONTHS = EMONTHS " 계산된 개월 수를 EMONTHS에 저장"
 E_YEARS = EYEARS. " 계산된 연수를 EYEARS에 저장"
" 결과 출력: 두 날짜 간의 차이를 일수, 개월 수, 연수로 출력"
WRITE:/ 'Difference in Days:', EDAYS.
WRITE:/ 'Difference in Months:', EMONTHS.
WRITE:/ 'Difference in Years:', EYEARS.

 

실행 화면

2024.01.01~2024.12.31까지의 기간

주의 사항

  • 날짜 형식 : I_DATE_FROM과 I_DATE_TO는 SAP 표준 날짜 형식인 YYYYMMDD 형식을 따라야 합니다. 만약 다른 형식을 사용할 경우 오류가 발생할 수 있습니다.
  • 반올림 플래그 (I_FLG_ROUND_UP): 이 플래그를 설정하면 결과 값이 반올림됩니다. 예를 들어, 개월 수나 연수가 소수점 이하로 나오는 경우 이를 반올림하여 정수로 반환합니다.
  • 날짜 범위 제한: 일부 시스템에서는 최대 조회 가능한 기간이 제한될 수 있습니다. 예를 들어, 특정 구현에서는 최대 24개월 까지만 조회가 가능하도록 제한될 수 있습니다.
  • 오류 처리: 함수 호출 시 날짜가 잘못된 형식이거나 유효하지 않은 경우 오류가 발생할 수 있으므로, 입력 날짜의 유효성을 미리 검증하는 것이 좋습니다.
반응형