메뉴 건너뛰기

SAP 한국 커뮤니티

펑션 좀 도와주세요.

이종원 2007.04.10 20:51 조회 수 : 3006 추천: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.

번호 제목 글쓴이 날짜 조회 수
207 클래스에서 인터페이스 사용시 메소드 파라미터 변경방법이 아예 없나요? [2] 로우랜즈 2022.09.01 473
206 동적으로 ALV 리스트 추가가 가능할까요? [2] file 그녀는애교쟁이 2020.07.05 473
205 프로그램 코드 다운로드, 업로드 방법을 알고 싶습니다. [2] yoon123 2023.05.22 472
204 엑셀로 다운 할 때 날짜 포맷 문의 file alarm 2021.08.02 471
203 Try ~ CATCH [1] 곰작 2024.02.19 470
202 OCR Font(지로용지에서 사용하는 폰트) 관련 문의 드립니다 file 도움이 2022.10.22 470
201 이지아밥 구교재 p155 z04_003 예제 4-2-4 질문드립니다. [3] 리얼오버 2022.01.06 469
200 SE38에서 좌측 repository browser 띄우기 [1] 롯자 2020.08.21 469
199 ALV 기본 템플릿 질문드립니다. [1] 쌥존 2023.08.10 468
198 자재간 재고 이동 관련 문의 건 [1] 미자나즈 2023.02.23 467
197 날짜 관련 로직 질문 드립니다 [6] shc120 2019.10.03 467
196 필드간 데이터 소트후 CONCATENATE 하는방법 [2] 짱구아퍼 2020.01.03 466
195 SAP GUI 로그인 문제: 10061 [1] file dhkwlsks 2023.06.30 465
194 SAP MIGO 출고 시 문의 [2] 미자나즈 2023.02.23 465
193 OPEN DATASET 질문 입니다. [2] 십년만에 2025.04.23 463
192 GUI_DOWNLOAD - 환율필드 값(DEC9,5) 다운시 소수점 문제 [2] Zekokim 2022.03.24 462
191 native sql SUBSTR 사용 에러 질문 file 김주형 2020.07.25 462
190 초보자 질문이요 [2] alalal 2020.04.07 459
189 LVC_S_LAYO-FRONTEND 설정시 ALV 안 보이는 문제 [4] 누운소 2023.01.04 453
188 ALV 미출력 현상관련 문의 [1] file Onetime 2020.11.23 453