메뉴 건너뛰기

SAP 한국 커뮤니티

펑션 좀 도와주세요.

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

번호 제목 글쓴이 날짜 조회 수
168 3개 테이블 merge 질문 드립니다 [1] nini 2022.12.28 319
167 select single max( fld1 ) vs select max ( fld1 ) 차이가 있나요? [3] 로우랜즈 2023.07.28 315
166 초보질문이요. parameter field is unknown. error.. [4] rioss1004 2023.04.14 315
165 SO_DOCUMENT_SEND_API1 함수 사용하여 메일링 기능 사용 중 문의사항이에요! [3] file alarm 2022.06.08 315
164 SAP 언어 설정이 궁금합니다 [1] file sapbegin 2023.09.21 314
163 안녕하세요 날짜 관련 함수 질문있습니다! [1] joyourlf 2019.04.02 314
162 프로그램 코드 다운로드, 업로드 방법을 알고 싶습니다. [2] yoon123 2023.05.21 312
161 Plant 와 Cost Center 연관 정보 담은 테이블 [3] 십년만에 2022.09.02 312
160 ALV 엑셀 다운로드 시 재계산 한 Subsum/Total 값 원복 현상 문의 삼산우성 2022.07.14 312
159 se11에서 만드려고 했는데 오류발생 [1] file 뻐꾹 2021.05.26 312
158 여러 오브젝트의 "Update Navigation Index" 방법 문의 [1] 헐크호간 2019.01.09 312
157 운영중인 프로그램의 꽤 큰 기능추가시 보통 어떻게 진행하시나요? [4] 로우랜즈 2023.06.02 310
156 Function Module 기초 질문드립니다 [1] paulus 2022.03.14 310
155 BAPI_MATERIAL_SAVEDATA 가 실행후 종료되지 않습니다.. [1] 아좀더 2021.11.23 309
154 bdc 모드 실행시 실행 이상없는 경우 [1] 십년만에 2021.07.01 308
153 data object 정의 관련 질문 [2] rkdud410 2019.03.05 307
152 CBO 테이블 컬럼 크기 질문 [2] bonggu 2023.04.06 306
151 EASY ABAP 2.0 - Z11_08 예제 문의 [2] file hunseop2 2023.01.20 305
150 alt drag 현상 [2] file neoyob 2022.07.14 303
149 GV_TITLE = SY-TITLE 어떨때 쓰는건가요? 안써도 상관없나요? [7] file 아밥어린이 2023.02.13 296