메뉴 건너뛰기

SAP 한국 커뮤니티

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

홍성현 2007.08.08 09:39 조회 수 : 5024 추천: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.
번호 제목 글쓴이 날짜 조회 수
407 user-exit 찾기 [12] file 솔로몬 2007.07.31 6040
406 Report Program Download.. [4] 김지성 2007.06.26 4006
405 바탕화면에 바로가기 생성하기 [1] 김윤승 2007.06.25 5144
404 엑셀 65000 라인초과시 사용 유틸 [5] file GG 2007.08.19 5296
403 텍스트반영시(자재명,저장위치명 기타등등) 속도개선 방법 [6] 김창훈 2007.08.14 5970
402 간단한 ALV Report를 생성해주는 사이트 [2] 홍성현 2007.08.09 4018
401 팝업창이나 서브스크린 디버깅을 쉽게 할 수 있어요 [17] 김창훈 2007.08.08 5070
400 인용부호를 변수에 저장하려면 [2] 푸른밤 2007.07.31 3847
399 SAP에서 바코드 인쇄하기 [1] 홍성현 2007.08.09 5303
398 OK Code Values... 흠,,, [1] 김창훈 2007.08.31 4652
397 ABAP 문법 1st [13] file 아일락 2007.08.20 4555
396 플랜트로 회사코드와 기준통화 찾기 [8] file 김창훈 2007.08.16 5596
395 속도개선하기....INDEX를 이렇게도 쓰네용~~ [9] 김창훈 2007.08.14 5375
394 "GRAPH_HPGL" 수치데이터를 그래프로 표시해주는 펑션 [1] 홍성현 2007.08.08 3643
» workingday 기준으로 N일 후 날짜구하는 펑션입니다. [4] 홍성현 2007.08.08 5024
392 ICON으로 DISPLAY sapjoy 2007.08.06 4027
391 대문자 소문자 관련 신종철 2007.07.31 4157
390 System field 정리한 내용이에요 [4] 김창훈 2007.08.21 5487
389 ALV 중간 집계 하기 [3] 신종철 2007.08.10 4780
388 pop up message 보내고 싶을때 허접하지만 오다리 2007.07.30 4392