메뉴 건너뛰기

SAP 한국 커뮤니티

펑션 좀 도와주세요.

이종원 2007.04.10 11:51 조회 수 : 2924 추천:127

해당소스는 특정날자를 입력하면 해당날자의 시작일과 마지막 일자를 구하는 펑션입니다.


 


해당 소스 나오는데는 큰 문제는 없구요.


 


하지만 윤달이라는 개념이 있어서 삽입을 해야하는데 넣을때 마다 오류가 발생됩니다.


 


도와주세요.


 


굵은 글씨로 처리한 부분에서 에러발생합니다.


 


제가 생각을 잘못 하는건지...여기까지 초급개발자 워니였습니다.


 


 


FUNCTION z_startday_endday_output.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     REFERENCE(INPUTDAY) TYPE  SY-DATUM
*"  EXPORTING
*"     REFERENCE(STARTDAY) TYPE  SY-DATUM
*"     REFERENCE(ENDDAY) TYPE  SY-DATUM
*"----------------------------------------------------------------------


  DATA: date_input TYPE d,
        monthcheck(2) TYPE c.


  CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'   " 날자 유효성 검사 펑션
       EXPORTING
            date                      = inputday
       EXCEPTIONS
            plausibility_check_failed = 1
            OTHERS                    = 2.
  IF sy-subrc <> 0.
     MESSAGE E001(Z01) WITH 'ERROER!!'.
  ENDIF.



  date_input = inputday.
  date_input+6(2) = '01'.
  startday = date_input.



  monthcheck = date_input+4(2).
  CASE monthcheck.
    WHEN '01'.
      date_input+4(2) = '02'.
      endday = date_input - 1.
    WHEN '02'.
      date_input+4(2) = '03'.
      endday = date_input - 1.
    WHEN '03'.
      date_input+4(2) = '04'.
      endday = date_input - 1.
    WHEN '04'.
      date_input+4(2) = '05'.
      endday = date_input - 1.
    WHEN '05'.
      date_input+4(2) = '06'.
      endday = date_input - 1.
    WHEN '06'.
      date_input+4(2) = '07'.
      endday = date_input - 1.
    WHEN '07'.
      date_input+4(2) = '08'.
      endday = date_input - 1.
    WHEN '08'.
      date_input+4(2) = '09'.
      endday = date_input - 1.
    WHEN '09'.
      date_input+4(2) = '10'.
      endday = date_input - 1.
    WHEN '10'.
      date_input+4(2) = '11'.
      endday = date_input - 1.
    WHEN '11'.
      date_input+4(2) = '12'.
      endday = date_input - 1.
    WHEN '12'.


      if date_input+0(4) mod 4 = 0 and date_input+0(4) mod 100 = 0


        or date_input+0(4) mod 400.
      date_input+4(2) = '01'.
      endday = date_input + 364.


     else.


      date_input+4(2) = '01'.
      endday = date_input + 365.


     endif.
  ENDCASE.
ENDFUNCTION.

번호 제목 글쓴이 날짜 조회 수
6366 [re] 자료실에 올라온" ABAP CERTI 문제 " 정확도 질문 입니다. [1] file sapjoy 2007.03.28 2482
6365 <b>[완료]</b>아밥 써티 관련 문의입니다. [4] 최현영 2007.03.28 2364
6364 매우 간단한 덤프문제 질문입니다~ [6] Sprite 2007.03.28 2567
6363 <b>[완료]</b><b>[완료]</b>ALV GRID 초기화 하는 메소드? [1] SARA 2007.03.29 4545
6362 AL11에 있는 파일명을 바꾸고 싶어요.. [3] 김종수 2007.03.30 2916
6361 SAP 에는 class API가 없나요? [2] 댕댕 2007.03.30 2321
6360 [re] SAP 에는 class API가 없나요? [1] Frank 2007.03.30 2659
6359 Parallel Processing(병렬처리) 방법 아시는 분~ [4] 강진규 2007.04.02 4052
6358 백그라운드 실행에 대해서 [2] 강진규 2007.04.02 4069
6357 ALV 에서는 에디팅 기능을 사용 할 수 없나요? [5] file 댕댕 2007.04.03 27050
6356 프로젝트 나갈꺼 같은데 무엇을 준비해야 할지 모르겠네요 .. [13] bd 2007.04.04 2552
6355 patten 연습중에 살짝 질문 드림니다. bd 2007.04.04 2293
6354 [re] patten 연습중에 살짝 질문 드림니다. [1] file sapjoy 2007.04.04 2466
6353 CBO 테이블의 데이타를 다이렉트로 조회하는 방법에 대해서 [6] 권민성 2007.04.04 2579
6352 한 배치잡안에 여러개의 프로그램 실행 중 한건이 취소 될경우 자동 배치잡 생성문제 [2] 하얀콩 2007.04.05 3305
6351 EAI 인터페이스 관련 자료 있으신분 계신가요. [2] SkyDream 2007.04.09 3079
6350 <b>[완료]</b>이런일도 발생을..BDC 문제 [9] 김지성 2007.04.09 3646
6349 노트 중에 모듈풀 관련된 소스좀 볼수 있을까용. [2] bd 2007.04.10 2456
6348 subscreen 에서 사용 하는 sy-repid 변수에 관한질문입니다. [2] bd 2007.04.10 4893
» 펑션 좀 도와주세요. [7] 이종원 2007.04.10 2924