Drunken Lion

유용한 SAP Standard Function 3 (날짜관련) 본문

SAP/ABAP

유용한 SAP Standard Function 3 (날짜관련)

DrkLion 2008. 2. 29. 15:21

출처: E-ABAP넷 


※ 참고 Function
- HOLIDAY_GET: THOC에 등록된 공휴일 리턴
- HOLIDAY_CHECK_AND_GET_INFO : 해당일이 공휴일여부 리턴
- DATE_CONVERT_TO_FACTORYDATE: 해당일이 Working Day면 해당일을
리턴하고, Working Day가 아니면 다음번 Working Day를 리턴함.
EX) 2008/01/05(토) -> 2008/01/07(월) 리턴

- DATE_COMPUTE_DAY: 해당일의 요일값 리턴
1: 월, 2: 화, 3: 수, 4: 목, 5: 금, 6: 토, 7: 일

※ 참고 테이블
- THOC : 공휴일 달력
- THOL : 공휴일
- THOLT: 공휴일 텍스트


날짜관련 유용한 Function입니다.


1.  CALL FUNCTION 'RE_ADD_MONTH_TO_DATE'
    EXPORTING
      MONTHS        =
      OLDDATE       =
*   IMPORTING
*     NEWDATE       =
            .
*
MONTHS에 -, + 숫자를 주면 원하는 날(OLDDATE)부터 앞, 뒤의 월을 계산해준다.



1. RH_GET_DATE_DAYNAME

- 입력일자가 월요일부터 몇번째 일자인지, 입력일자 요일의 이름(MON, TUE 등)
을 return해 줍니다.

2. DATE_COMPUTE_DAY
- 입력일자가 월요일부터 몇번째 일자인지 return해 줍니다.

3. DATE_GET_WEEK
- 입력일자가 해당 년도의 몇번째 주차인지 return해 줍니다.

4. HOLIDAY_CHECK_AND_GET_INFO
- 입력일자가 공휴일인지 check해 줍니다.

5. WEEK_GET_FIRST_DAY
- 입력주차의 월요일을 return해 줍니다.

6. RP_LAST_DAY_OF_MONTHS
- 입력일자가 속한 월의 마지막 일자를 return해 줍니다.

7. LAST_DAY_IN_PERIOD_GET
- 입력년도(I_GJAHR)를 구간(I_PERIV)으로 나누어서 입력한 구간(I_POPER)의
마지막 일자를 return해 줍니다.

8.CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
DAY_IN = DAYIN
IMPORTING
LAST_DAY_OF_MONTH = DAYOUT.

해당 달의 마지막 날을 계산하는 function

DAYIN 에 날짜를 넣으면...
DAYOUT이 마지막 날짜를 가지고 옵니다..

9. from date와 to date를 넘겨주면 그 기간을 일, 월, 년으로 return
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM = '19991008'
I_DATE_TO = '20000116'
IMPORTING
E_DAYS = t_days
E_MONTHS = t_months
E_YEARS = t_years.

결과 : t_days = 466
t_months = 16
t_years = 2

10.월의 마지막 일 return
REPORT zaja .

DATA: v_aa(10).
CALL FUNCTION 'END_OF_MONTH_DETERMINE'
EXPORTING
datum = sy-datum
IMPORTING
tt = v_aa
EXCEPTIONS
OTHERS = 1.

WRITE:/ v_aa.

====> 31

11.해당일의 요일을 숫자로 RETURN해주는 함수입니다
DATE_COMPUTE_DAY

월 : 1
화 : 2
수 : 3

......

일 : 7

12.원하는 날짜 그리고 월을 빼주는 평션

SIGNUM = + 면 미래일자를 - 면 과거일자를 콜함
RP_CALC_DATE_IN_INTERVAL

Import parameters Value

DATE 2003.02.06
DAYS 00
MONTHS 01
SIGNUM +
YEARS 00

==> 결과값

Export parameters Value

CALC_DATE 2003.03.06

13. 날짜가 유효한지 Check
DATE_CHECK_PLAUSIBILITY


14. 일자 사이의 개월 수 계산.

call function 'RH_PM_CONVERT_DATE_TO_MONTH'
exporting
begda = begda " 시작일자
endda = endda " 종료일자
importing
months = act_months " 개월 수


15. 일자를 입력하면 주차와 해당주차의 월요일과 일요일을 반환하는 함수

CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
EXPORTING
DATE = P_DATE
IMPORTING
WEEK = P_WEEK
MONDAY = P_MONDAY
SUNDAY = P_SUNDAY.

'SAP > ABAP' 카테고리의 다른 글

Internal Table 동적 선언  (0) 2008.05.16
Useful SAP System Administration Transactions  (0) 2008.03.04
SAP 시스템 변수 정리  (0) 2008.02.05
동적 쿼리  (0) 2008.02.01
String Statement  (0) 2008.01.25