메뉴 건너뛰기

SAP 한국 커뮤니티

workingday 기준으로 N일 후 날짜구하는 펑션입니다.

홍성현 2007.08.08 09:39 조회 수 : 5032 추천:18

 

function z_test_date.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(I_DATE) TYPE  DATUM
*"     VALUE(CNT) TYPE  I
*"  EXPORTING
*"     VALUE(O_DATE) TYPE  DATUM
*"----------------------------------------------------------------------


  data: itab like iscal_day occurs 0 with header line"휴일을 받아오는 inner table
           line type i" itab의 라인수
           isholy type c"휴일여부
           acc_date type datum, " 기준일
           res_date type datum, " 리턴일
           workingdaycnt type i" 근무일수

  acc_date = i_date.
  workingdaycnt = 0.

  check cnt > 0.

  do.
    isholy = 'N'.

*------------------------------------------------
* 기준일에 하루를 더한다.
    clear res_date.
    call function 'RP_CALC_DATE_IN_INTERVAL'
      exporting
        date      = acc_date
        days      = '1'
        months    = '00'
        signum    = '+'
        years     = '00'
      importing
        calc_date = res_date.
*------------------------------------------------

*------------------------------------------------
* 오늘 날짜가 휴일인지 체크
    clear o_date.
    clear itab.
    refresh itab.

    call function 'HOLIDAY_GET'
      exporting
        holiday_calendar = 'KR' " COUNTRY CODE
        factory_calendar = 'KR' " FACTORY ID
        date_from        = res_date
        date_to          = res_date
      tables
        holidays         = itab.

    if sy-subrc = 0.
      describe table itab lines line.
      if line <> 0.
*        loop at itab.
*        itab-date,
*        itab-freeday,
*        itab-holiday,
*        itab-holiday_id,
*        itab-txt_short,
*        itab-txt_long.
*        endloop.
        isholy = 'Y'.
      endif.
    endif.
*------------------------------------------------

    move res_date to acc_date.

    if isholy = 'N'" 휴일이 아니면 근무일을 더한다.
      add 1 to workingdaycnt .
    endif.

    if workingdaycnt = cnt.
      o_date = res_date.
      exit.
    endif.

  enddo.


endfunction.
번호 제목 글쓴이 날짜 조회 수
307 SCN에 올라온 ADT Tutorials Link 입니다. [4] Wise 멘토 2012.10.12 4904
306 STABLE SORT [3] sapjoy 2009.03.03 4909
305 ALV autorefresh 입니다. [13] eclipse 2008.01.15 4943
304 MM 이동유형 분류표 적어봅니다. [14] file 양키 2009.08.14 4951
303 ALV 색상 번호와 사용 목적 꿀단지 2011.10.11 4960
302 새로운 Session을 생성하는 방법 [7] 양키 2013.07.17 4962
301 BAPI LIST 입니다. 참고하세요. [24] file 노름마치 2007.12.10 4965
300 월 계산 함수 [5] 오향 2008.02.28 4975
299 <img src=d.gif>[For Power User] Dynamic Creation of Data Objects[추천:e-abap] [3] 양키 2011.01.20 5005
298 ICON ascii code [3] file sapjoy 2007.10.05 5006
297 abap 메모리 구조 [1] SARA 2007.03.16 5026
296 FTP File Tranfer 샘플 소스 [1] 양키(이경환) 2014.03.04 5027
295 로그온 후 exit, logon, login [3] sapjoy 2009.12.11 5030
» workingday 기준으로 N일 후 날짜구하는 펑션입니다. [4] 홍성현 2007.08.08 5032
293 <b>[완료]</b>New abap editor block selection 기능 아시는분... [11] file 숨어푸 2008.08.01 5039
292 Mac Notebook을 쓰는 사람들을 위한 조그만 팁. [2] Bigbrother 2011.09.21 5040
291 여러 DATE 변환 TIP [9] file 푸른창공 2008.09.11 5061
290 OPEN SQL HINT 사용 sapjoy 2007.05.22 5068
289 팝업창이나 서브스크린 디버깅을 쉽게 할 수 있어요 [17] 김창훈 2007.08.08 5072
288 인터널 테이블 또는 테이블 구조 확인 [2] sapjoy 2008.12.29 5080