ABAP 기준일에서 가장 가까운 근무일(작업일)을 가져오는 방법


공장 달력에서 공휴일로 지정된 날을 제외하고 특정 일자를 기준으로 가장 가까운 근무일 또는 작업일을 가져오고자 할 때 사용하는 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 모듈 사용 예제 입니다.

ABAP 기준일에서 가장 가까운 근무일(작업일)을 가져오는 방법

DATE_CONVERT_TO_FACTORYDATE의 주요 매개변수 설명

Import 매개변수

  • CORRECT_OPTION : 작업일을 계산하는 옵션을 지정합니다.
    +‘ 이면 다음 작업일을, ‘‘ 이면 이전 작업을을 가져옵니다. 디폴트는 ‘+’ 입니다.
  • DATE : 기준이 될 날짜를 입력합니다. 해당 일자의 바로 직전 또는 직후의 근무일을 가져오게 됩니다.
  • FACTORY_CALENDAR_ID : 공장 달력 ID를 입력합니다.

Export 매개변수

  • DATE : 공장 달력 날짜로 변환한 근무일(작업일)이 리턴됩니다.





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


답글 남기기