메뉴 건너뛰기

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.

번호 제목 글쓴이 날짜 조회 수
6407 공장 달력 관련 문의 드립니다. [2] 마늘맛쿨피스 2022.12.17 568
6406 ALV SORT 없이 셀 병합 질문입니다. [2] file hx 2022.12.02 995
6405 abap 단축기 ctrl+space 동작 여쭤봅니다. [2] file discod 2022.12.02 1071
6404 SD_SALESDOCUMENT_CHANGE 오류 file 유반장 2022.12.01 215
6403 SAP PCE 버전에서 데이터 조회 속도문제 [1] 준서기 2022.11.26 424
6402 웹딘프로 환경설정 관련해서 질문있습니다 ㅇㅇㅇㅇㅇ 2022.11.22 185
6401 SAP 로그온 사번과 사용 사번을 다르게 하는 방법 [1] it쟁이 2022.11.15 559
6400 (초보)VIEW 데이터 저장관련 문의 드립니다. [2] file bapp 2022.11.12 297
6399 client 000 계정초기화 [2] 회기역미용실 2022.11.12 1940
6398 디버깅 실행 문의 [1] file dd 2022.11.11 255
6397 For all entries in 구문에 대하여 [2] 아밥린이 2022.11.10 2468
6396 loop 내 select 질문.. (코드첨부 주의..) [2] 베어a 2022.11.08 614
6395 sap hana랑 ecc 차이가 무엇이 있을까요? [2] 아밥린이 2022.11.04 1589
6394 SAP Audit 감사는 어떻게 준비하는건가요? yoon123 2022.10.28 286
6393 abap 관련하여 여쭤볼게있습니다. [1] 춘시기 2022.10.26 375
6392 ABAP Function Module 관련해서 질문드립니다. [1] 비타민드래곤 2022.10.22 368
6391 OCR Font(지로용지에서 사용하는 폰트) 관련 문의 드립니다 file 도움이 2022.10.22 470
6390 ALV Row 파일 저장 ~ 관련 질문 입니다. 멜론좋아 2022.10.20 186
6389 st22 dump 재현하는 방법 [2] repairbalm 2022.10.13 755
6388 판매오더 가용성점검 관련 문의 늙은나무 2022.10.05 320