메뉴 건너뛰기

SAP 한국 커뮤니티



달력을 한번 만들어 봤는데요 ^^;; 밑에 보시다시피 너무 노가다 성인데요..


특히 각 달의 1일의 위치를 잡아 주는 부분이 많이 노가다 성이 되던데...


그부분을 좀더 간소화할 방법이 있나요...?


 


REPORT  zljs_test8 LINE-SIZE 92.

PARAMETERS: g_yea(4),
            g_mon(2TYPE n.
DATA: g_day(2TYPE n,
      g_2mon TYPE i.                 "윤달 구분 값.
DATA: g_ymf TYPE scal-date.          "function에 넣을 값.
DATA: g_result TYPE scal-indicator.  "function에서 받을 값.
DATA: day TYPE i.    "지정 달의 일수를 받는 부분
DATA: g_space(10).   "1일 날짜 앞에 빈칸 만들기용

data: 1_day(10VALUE '일요일', 2_day(10VALUE '월요일', 3_day(10VALUE '화요일',
      4_day(10VALUE '수요일', 5_day(10VALUE '목요일', 6_day(10VALUE '금요일',
      7_day(10VALUE '토요일'.

write: sy-uline,
      / sy-vline, 1_day, sy-vline, 2_day, sy-vline, 3_day, sy-vline, 4_day,
        sy-vline, 5_day, sy-vline, 6_day, sy-vline, 7_day, sy-vline,
      / sy-uline.

IF g_mon = 1 or g_mon = 3 or g_mon = 5 or g_mon = 7 or g_mon = 8 or g_mon = 10 or g_mon = 12.
  day = 31.
ELSEIF g_mon = 4 or g_mon = 6 or g_mon = 9 or g_mon = 11.
  day = 30.
ELSEIF g_mon = 2.                                           "2월 윤달 구분
  g_2mon = g_yea MOD 4.
  IF g_2mon = 0.
    day = 29.
  ELSE.
    day = 28.
  ENDIF.
ENDIF.

DO day TIMES.
  g_day = sy-index.
  CONCATENATE g_yea g_mon INTO g_ymf.
  CONCATENATE g_ymf g_day INTO g_ymf.    "펑션에 넣어줄 형태로 만들어주기.

  CALL FUNCTION 'DATE_COMPUTE_DAY'
    EXPORTING
      date = g_ymf
    IMPORTING
      day  = g_result.
  IF g_result = 6.
    WRITE:  (10)g_day , sy-vline,
           / sy-uline, sy-vline.
  ELSEIF g_result <> 6.
    IF g_day = 1.                   "매월 1일 위치 잡는 부분...
      CASE g_result.
        WHEN '1'.
          WRITE : sy-vline, g_space, sy-vline, (10)g_day, sy-vline.
        WHEN '2'.
          WRITE : sy-vline, g_space, sy-vline, g_space, sy-vline,
                 (10)g_day, sy-vline.
        WHEN '3'.
          WRITE : sy-vline, g_space, sy-vline, g_space, sy-vline,
                  g_space, sy-vline, (10)g_day, sy-vline.
        WHEN '4'.
          WRITE : sy-vline, g_space, sy-vline, g_space, sy-vline,
                  g_space, sy-vline, g_space, sy-vline, (10)g_day,
                  sy-vline.
        WHEN '5'.
          WRITE : sy-vline, g_space, sy-vline, g_space, sy-vline,
                  g_space, sy-vline, g_space, sy-vline, g_space,
                  sy-vline, (10)g_day, sy-vline.
        WHEN '6'.
          WRITE : sy-vline, g_space, sy-vline, g_space, sy-vline,
                  g_space, sy-vline, g_space, sy-vline, g_space,
                  sy-vline, g_space, sy-vline, (10)g_day, sy-vline.
        WHEN '7'.
          WRITE : sy-vline, (10)g_day, sy-vline.
      ENDCASE.
    ELSE.
      WRITE: (10)g_day, sy-vline.
    ENDIF.
  ENDIF.
ENDDO.
WRITE: / sy-uline.

TOP-OF-PAGE.
  FORMAT COLOR 3.
  WRITE: g_yea, '년', g_mon, '월'.        "TOP OF PAGE 지정.

번호 제목 글쓴이 날짜 조회 수
6327 STATUS Application Toolbar 권한 주기 jaden_ 2020.09.11 331
6326 엑셀로 다운 할 때 날짜 포맷 문의 file alarm 2021.08.02 331
6325 SAP GUI 렉발생 [2] file 엽떡 2023.02.01 333
6324 SAP PCE 버전에서 데이터 조회 속도문제 [1] 준서기 2022.11.25 336
6323 완전 초보 질문입니다.. [1] 냥냥2 2023.07.20 337
6322 임시전표에 세액도 예산에 반영이 가능한지 문의드립니다. 안셀몽 2019.03.25 338
6321 report program 초기화면 강씨삼남매 2019.07.08 338
6320 ABAP으로 무한루프 돌면서 리스너 같이 구현가능할까요? [4] 로우랜즈 2023.06.26 338
6319 ABAP Trial 서버에서 SE16N 기능 여부 [2] dev 2022.06.12 340
6318 생산 오더(COOIS) 강제 완료 방법 문의 [2] 미자나즈 2023.05.23 344
6317 ALV 기본 템플릿 질문드립니다. [1] 쌥존 2023.08.09 345
6316 안녕하세요 서브루틴 생성 에러 질문 [2] file ektkdwk1234 2022.03.12 347
6315 임시전표 테이블에서 완료 필드는 언제생기나요? (VBKPF- XPRFG) 아이시스 2020.01.17 348
6314 GOS통해 저장한 파일을 binary로 읽어올 수 있을까요? gyesin 2021.04.23 348
6313 스탠다드 레포트 검색화면에 체크 옵션 추가 방법? [1] HANAMANA 2019.01.08 349
6312 SE38에서 좌측 repository browser 띄우기 [1] 롯자 2020.08.21 351
6311 SAPGUI 엔터 키 사용 문의 입니다. [4] 십년만에 2022.06.02 351
6310 동적으로 ALV 리스트 추가가 가능할까요? [2] file 그녀는애교쟁이 2020.07.04 352
6309 Function 내에서 마우스 우클릭 시, 덤프발생 ! [1] file 아좀더 2021.08.18 352
6308 SE11, SE16 조회 조건 SELECTION FIELD 선택 문의 [2] 십년만에 2022.03.04 352