메뉴 건너뛰기

SAP 한국 커뮤니티

 


SY-datum 이 현재 날짜를 불러오는 것인데,


 


제가 하고자 하는 것은,


예를 들어, 오늘이 3월 12일이면


 


2007년 12월 01일과  2008년 2월 29일까지의 데이터를 찾기위해


20071201 20080229


20080301 20080330


20080401 20080430


20080501 20080531


20080601 20080630


 


SELECTION-SCREEN 에서 별도의 날짜 조건 입력없이


현재날짜를 기준으로 과거 2개월 데이터 그리고 앞으로 한달치의 수량을 측정하기위해


위와 같은 날짜 변수를 구해야 하는데, 월(month)을 구하는 시스템변수나 쉬운 방법이 없을까요?


저 위의 날짜들은 SELECT 문에 where 조건에 넣을 날짜들입니다. 


 


========================================================


밑에 로직은 제가 짠건데, 현재가 3월 12일이라면 3개월전인 20071201 ~ 20080601


이걸 구하는 로직입니다.


위의 조건날짜를 다 찾으려면 너무 복잡할 것 같아서


그러는데, 고수님들 조언좀 부탁드려요!!


 


참고로 현재달을 찾는 시스템변수가 있어서 -1나 -2 를 했을때,


(예를 들어 0803 이라는 현재달까지 계산되는 시스템변수에서 -2를 했을때 0801 이런식으로


되면 얼마나 좋을까요? 이렇게 하려면 INT 로해서 형변환후 해야되나?@.@


아밥은 형변환 하는 것도 잘 모르겠네여@.@)


이전달을 나타낼 수 있게 하면 좋을텐데,


그게 안되는 거 같아요!!


경험 많으신 님들...Tip 좀 부탁드릴께요~


 


 

DATA : month TYPE i,  "월을 저장하기 위한 변수.
           year TYPE i"윤달을 계산하기 위해 년도를 저장하는 변수
           remain TYPE i"윤달을 계산하기 위해 나머지 값을 저장하는 변수
           date_low TYPE sy-datum,  "현날짜로부터 3개월 과거를 계산
           date_high LIKE sy-datum, "현날짜로부터 3개월 미래를 계산
           date LIKE sy-datum.  "현날짜

* 해당년도를 4로 나누었을 때, 나머지가 0이면 윤달이므로 2월이 29일까지 존재.
  year = sy-datum+0(4).
  remain = year MOD 4.

  CONCATENATE sy-datum+0(6'01' INTO date.
  date_low = date - 70.  "3개월전이므로 어림잡아 70을 넣음.
  CONCATENATE date_low+0(6'01' INTO date_low.

  date_high = date + 100. "3개월 이후므로 어림잡아 100을 넣음.
  month = date_high+4(2).
  IF month = 1 OR month = 3 OR month = 5 OR month = 7
    OR month = 8 OR month = 10 OR month = 12.
    CONCATENATE date_high+0(6'31' INTO date_high.
  ELSEIF month = 4 OR month = 6 OR month = 9 OR month = 11.
    CONCATENATE date_high+0(6'30' INTO date_high.
* 윤달계산
  ELSEIF month = 2.
    IF remain = 0.
      CONCATENATE date_high+0(6'29' INTO date_high.
    ELSE.
      CONCATENATE date_high+0(6'28' INTO date_high.
    ENDIF.
  ENDIF.
  

번호 제목 글쓴이 날짜 조회 수
1366 [요청]index 생성시 오류...고수님 해결 좀 해주세요..ㅠㅠ [5] 아밥초보 2008.03.20 1894
1365 <b>[완료]</b>오라클과 유사한 기능을 쓸 수 있는지 문의드립니다. [2] 풍뎅이 2008.03.19 1141
1364 <b>[완료]</b>abap덤프관련 In which cases can the ABAP statement CALL TRANSFORMATION be used? [3] 목요일 2008.03.19 1355
1363 [요청]BAPI_ACC_GL_POSTING_REV_POST 에러 미인 2008.03.19 1643
1362 <b>[완료]</b>프로그램 사용 통계를 볼수 있는 프로그램이 있습니까? [6] activeman 2008.03.19 4433
1361 <b>[완료]</b>ALV 에서 필터링 검색 문제입니다. [2] 마젤란 2008.03.19 1702
1360 <b>[완료]</b>SUBMIT 에관에 자세히 알고싶은데요...... [3] genius 2008.03.19 1627
1359 [요청]ALV 텍스트에디트에서 툴바 제거하는 메소드좀 알려주세요 ㅜ.ㅜ [3] genius 2008.03.19 1904
1358 <b>[완료]</b>abap덤프관련질문드립니다. What can you do to undo database changes executed beforehand in a dialog? [3] 목요일 2008.03.19 1322
1357 <b>[완료]</b>netweaver sap gui 에서 접속이 안되요 ㅡㅡ;; [7] file 용스 2008.03.17 1841
1356 <b>[완료]</b>폴더안의 파일명을 모두 가져 올수 있는 함수가 있습니까? [2] activeman 2008.03.19 1776
1355 <b>[완료]</b>트랜잭션과 관련하여 import에 관하여 문의드립니다. [2] 풍뎅이 2008.03.19 1207
1354 [요청]데이터베이트 테이블을 생성후 데이터 넣는법 [2] bizarre 2008.03.18 1640
1353 [요청]ALV관련 질문입니다.(필드 길이 최적화) UKS 2008.03.18 2692
1352 <b>[완료]</b>submit 하였을때 발생하는 back job 관련 질문 드림니다. [3] bd 2008.03.18 1379
1351 <b>[완료]</b>selection-screen의 라디오 버튼에 대해 질문이요~ [3] ABAP짱! 2008.03.18 2639
1350 <b>[완료]</b>월별로 인원수를 카운팅 하려고 합니다. [3] 2008.03.18 1430
1349 [요청]덤프 문의 internal table관련문의 [1] 제슨오 2008.03.18 1964
1348 [요청]cbo테이블에서 옵션사항을 줄때 생기는 에러에대해 문의드립니다. [1] 풍뎅이 2008.03.18 1517
1347 [요청]type line of와 like line of 의 차이에 대해 질문입니다. [3] 앙리 2008.03.17 1759