안녕하십니까
아밥초보입니다^^
다름이 아니라,
selection screen 에서 선택한 년월(yyyymm)의 '다음달 1일'을 where 조건에 넣어주어야 하는 개발건이 생겨서요
아마 '다음달 1일'을 구하는 function 이 있을 법도 한데 제가 찾다가 결국 못찾았거든요;;;
혹시 아시는 분 있을까 해서 질문 남깁니다.
아시는 분은 답변 부탁드릴께요
그럼 수고하세요^^
댓글 4
-
다급
2008.09.20 02:30
-
알바트로스
2008.09.20 18:43
보통은 밑의 날짜 함수를 써서 나머지는 코딩을 하죠.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = sy-datum
days = '15'
months = '00'
signum = '-'
years = '00'
IMPORTING
calc_date = s_date-low.
현재날짜를 기준으로 signum 부호가 '-'이면 미래일자, '+'이면 이전일자를 구하라는 의미구요
위의 예는 현재일(sy-datum)기준으로 15일 전 날짜를 구하라는 예입니다.
다음달 1일 구하고자 한다면.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = sy-datum
days = '00'
months = '01'
signum = '+'
years = '00'
IMPORTING
calc_date = s_date-low.
이렇게 하면 다음달 어떤날이 나오면 일자부분만 01 로 바꾸면(concatenate)되겠네요.
-
보나
2008.09.22 18:53
p_date : 입력일
gv_date : 담달1일
clear: gv_date.
gv_date = p_date.
if gv_date+4(2) = '12'.
gv_date+0(4) = gv_date+0(4) + 1.
gv_date_4(2) = '01'.
else.
gv_date+4(2) = gv_date+4(2) + 1.
endif.
gv_date+6(2) = '01'.
;;
-
아밥초보입니다
2008.09.22 19:01
감사합니다^^
여기는 참 답변들을 잘 해주시는 것 같아요 ㅎㅎ
다시 한번 감사해요^^
말일자 구하는 펑션만 있는듯..하네요..
해당연월기준으로 무조건 다음달 1일이면..
LV_MONTH = YYYYMM+4(2) + 1.
CONCATENATE LV_N_MONTH '01' INTO LV_DATE.
노가다로 그냥..박아버리는 방법이...-_-;;