IT스러운 공간

SAP ABAP 날짜 관련 함수(function) 본문

SAP

SAP ABAP 날짜 관련 함수(function)

nanaing 2024. 1. 25. 23:45
728x90

1. 일, 월, 년도를 주어진 인자만큼 +,- 하는 함수(SIGNUM ‘+’이면 미래, ‘-’ 이면 과거)

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
	EXPORTING
		DATE      =
		DAYS      =
		MONTHS    =
		YEARS     =
		SIGNUM    = '+'
	IMPORTING
		CALC_DATE =  .

 
2. Month에 -,+ 숫자를 주면 원하는 날(OLDDATE)부터 앞, 뒤 월을 계산해준다.

CALL FUNCTION 'RE_ADD_MONTH_TO_DATE'
	EXPORTING
		MONTHS  =
		OLDDATE =
	IMPORTING
		NEWDATE = .

 
3. 입력일자가 월요일부터 몇번쨰 일자인지, 입력일자 요일의 이름(MON, TUE 등)을 return 해준다.

CALL FUNCTION 'RH_GET_DATE_DAYNAME'
	EXPORTING
		LANGU   = 
		DATE    =
		CALID   = 
	IMPORTING
		DAYNR   =
		DAYTXT  = 
		DATFREE = 
	EXCEPTIONS
		NO_LANGU = 1
		NO_DATE = 2
		NO_DAYTXT_FOR_LANGU = 3
		INVALID_DATE = 4
		OTHERS = 5 .

 
4. 입력일자가 해당 년도의 몇번째 주차인지 return 해준다.

CALL FUNCTION 'DATE_GET_WEEK'
	EXPORTING
		DATE =
	IMPORTING
		WEEK =
	EXCEPTIONS
		DATE_INVALID = 1
		OTHERS       = 2 .

 
5. 입력일자가 공휴일인지 check 해준다.

CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
	EXPORTING
		DATE =
		HOLIDAY_CALENDAR_ID =
		WITH_HOLIDAY_ATTRIBUTES = ' '
	IMPORTING
		HOLIDAY_FOUND =
	TABLES
		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 .


6. 입력주차의 월요일을 return해 줍니다.

CALL FUNCTION 'WEEK_GET_FIRST_DAY' 
	EXPORTING 
		WEEK = 
	IMPORTING 
		DATE = 
	EXCEPTIONS 
		WEEK_INVALID = 1 
		OTHERS = 2 


7. 입력일자가 속한 월의 마지막 일자를 return해 줍니다.

CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' 
	EXPORTING 
		DAY_ID = 
	IMPORTING 
		LAST_DAY_OF_MONTH = 
	EXCEPTIONS 
		DAY_IN_NO_DATE = 1 
		OTHERS = 2 


8. 입력년도(I_GJAHR)를 구간(I_PERIV)으로 나누어서 입력한 구간(I_POPER)의 마지막 일자를 return해 줍니다.

CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET' 
	EXPORTING 
		I_GJAHR = 
		I_MONMIT = 00 
		I_PERIV = 
		I_POPER = 
	IMPORTING 
		E_DATE = 
	EXCEPTIONS 
		INPUT_FALSE = 1 
		T009_NOTFOUND = 2 
		T009B_NOTFOUND = 3 
		OTHERS = 4 


9. 해당 달의 마지막 날을 계산하는 function

CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' 
	EXPORTING 
		DAY_IN = 
	IMPORTING 
		LAST_DAY_OF_MONTH = 
	EXCEPTIONS 
		DAY_IN_NO_DATE = 1 
		OTHERS = 2 


10. from date와 to date를 넘겨주면 그 기간을 일, 월, 년으로 return

CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS' 
	EXPORTING 
		I_DATE_FROM = 
		I_KEY_DAY_FROM = 
		I_DATE_TO = 
		I_KEY_DAY_TO = 
		I_FLG_SEPARATE = ' ' 
	IMPORTING 
		E_DAYS = 
		E_MONTHS = 
		E_YEARS = 


11. 월의 마지막 일 return

CALL FUNCTION 'END_OF_MONTH_DETERMINE' 
	EXPORTING 
		DATUM = 
	IMPORTING 
		TT = 


12. 해당일의 요일을 숫자로 RETURN해주는 함수입니다 (월:1, 화:2, 수:3, 목:4, 금:5. 토:6, 일:7)

CALL FUNCTION 'DATE_COMPUTE_DAY' 
	EXPORTING 
		DATE = 
	IMPORTING 
		DAY = 


13. 날짜가 유효한지 Check

CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY' 
	EXPORTING 
		DATE = 
	EXCEPTIONS 
		PLAUSIBILITY_CHECK_FAILED = 1 
		OTHERS = 2 


14. 일자 사이의 개월 수 계산

CALL FUNCTION 'RH_PM_CONVERT_DATE_TO_MONTH' 
	EXPORTING 
		BEGDA = 
		ENDDA = 
	IMPORTING 
		MONTHS = " 개월 수 
	EXCEPTIONS 
		INVALID_BEGDA = 1 
		OTHERS = 2 


15. 일자를 입력하면 주차와 해당주차의 월요일과 일요일을 반환하는 함수

CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE' 
	EXPORTING 
		DATE = SY-DATUM 
	IMPORTING 
		WEEK = 
		MONDAY = 
		SUNDAY = 


16. 입력 일자가 내부적으로 저장되는 방식으로 리턴, 입력 일자는 User profile 형식,
• CONVERT_DATE_TO_INTERNAL
17. 반대는 CONVERT_DATE_TO_EXTERNAL

18. 영업일 가져오기

CALL FUNCTION 'FKK_ADD_WORKINGDAY' 
	EXPORTING 
		I_DATE = 기준일자 
		I_DAYS = 일수(-는 이전, +는 이후) 
		I_CALENDAR1 = '' 
		I_CALENDAR2 = '' 
	IMPORTING 
		E_DATE = '' 
728x90