메뉴 건너뛰기

SAP 한국 커뮤니티

펑션 좀 도와주세요.

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

번호 제목 글쓴이 날짜 조회 수
172 안녕하세요 서브루틴 생성 에러 질문 [2] file ektkdwk1234 2022.03.12 350
171 submit with~ 사용시 백그라운드 잡이 끝나고 나서 다음 코드가 도나요? 로우랜즈 2022.03.14 179
170 Function Module 기초 질문드립니다 [1] paulus 2022.03.14 323
169 f-04 반제 bapi함수 아시는분 ㅜㅜ file Juenkdo1 2022.03.16 330
168 테이블 생성했는데요 테이블내용 엔트리추가 왜 안될까요? [1] file 리얼오버 2022.03.18 801
167 왜 데이터가 하나씩 밖에 안들어 갈까요? [2] file 리얼오버 2022.03.19 330
166 ROLE과 OBJECT를 INNER JOIN 할 수 있을까요? [2] yoon123 2022.03.22 246
165 GUI_DOWNLOAD - 환율필드 값(DEC9,5) 다운시 소수점 문제 [2] Zekokim 2022.03.24 298
164 ALV check_changed_data 후 데이터 미 변경 [3] 파뤼타임 2022.03.25 705
163 webgui에서 영역 메뉴 바로 호출하는 방법 Zekokim 2022.04.06 345
162 ALV GRID 에서 값 수정 후 DUMP 에러로 GETWA_NOT_ASSIGNED 가 뜹니다. [1] file 메론쥬스 2022.04.07 568
161 ALV 변경된 LAYOUT에 저장되어 있는 필드 찾는법 [1] jini 2022.04.08 556
160 디버깅 시 데이터 나오는데 실행시키면 안나오는 이유 [1] cpfl 2022.04.15 380
159 abap -> asws s3 접근 코딩... [1] sapecc6 2022.04.19 256
158 Desktop Office Integration in the webgui 문의.. [2] file Zekokim 2022.04.20 462
157 pdf file 업로드 및 출력 [2] sapecc6 2022.04.22 504
156 데이터 추출 [3] 블랙 2022.04.27 555
155 se11의 Width of Output List 에 대해 [2] file amelia 2022.05.17 291
154 SAPGUI 엔터 키 사용 문의 입니다. [4] 십년만에 2022.06.02 356
153 달력에 공휴일 지정하려면 어떻게 해야하나요? [1] yoon123 2022.06.02 490