공장 달력에서 공휴일로 지정된 날을 제외하고 특정 일자를 기준으로 가장 가까운 근무일 또는 작업일을 가져오고자 할 때 사용하는 Function에 대한 설명 입니다.
기준 일자에서 바로 직전의 근무일이나 바로 직후의 근무일을 가져와서 처리해야 하는 경우 해당 Function을 사용하면 간단하게 처리할 수 있습니다.
평일(근무일)을 입금일로 지정한다든지, 근무일에 특정 작업을 돌리도록 설정해야 한다든지 할 때 사용하면 유용합니다.
ABAP 기준일에서 가장 가까운 근무일(작업일)을 가져오는 방법
Function 그룹 : SCAL
Function 모듈 : DATE_CONVERT_TO_FACTORYDATE
REPORT ymm0001 . DATA: workingday(1), date LIKE sy-datum. CALL FUNCTION ‘DATE_CONVERT_TO_FACTORYDATE’ EXPORTING correct_option = ‘+’ ” +(플러스): 가까운 이후 근무일, -(마이너스):가까운 이전 근무일 date = ‘20220618’ ” 토요일 factory_calendar_id = ‘E3’ ” 공장달력 ID IMPORTING date = date workingday_indicator = workingday. WRITE : date. => 결과 : 2022.06.20 (가장 가까운 월요일 근무일을 가져옴) |
Function에서 사용한 공장 달력에는 근무일이 월~금요일까지 지정되어져 있습니다.
따라서 6월18일 토요일에서 가장 가까운 근무일은 6월20일 월요일이 됩니다.
correct_option = ‘-‘ 이렇게 마이너스를 입력하게 되면 date에 있는 기준일에서 가장 가까운 이전 근무일을 가져 옵니다.
여기서는 6월 17일 금요일을 가져오게 됩니다.
만약 date = ‘20220619’로 입력해도 일요일의 가장 가까운 이전 근무일은 17일 금요일이 됩니다.
▼ 아래 화면은 2022.06.26 일의 바로 직전 근무일(작업일)을 가져오는 DATE_CONVERT_TO_FACTORYDATE Function 모듈 사용 예제 입니다.
DATE_CONVERT_TO_FACTORYDATE의 주요 매개변수 설명
Import 매개변수
- CORRECT_OPTION : 작업일을 계산하는 옵션을 지정합니다.
‘+‘ 이면 다음 작업일을, ‘–‘ 이면 이전 작업을을 가져옵니다. 디폴트는 ‘+’ 입니다. - DATE : 기준이 될 날짜를 입력합니다. 해당 일자의 바로 직전 또는 직후의 근무일을 가져오게 됩니다.
- FACTORY_CALENDAR_ID : 공장 달력 ID를 입력합니다.
Export 매개변수
- DATE : 공장 달력 날짜로 변환한 근무일(작업일)이 리턴됩니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^