프로그래밍/SAP ABAP

[SAP/ABAP] 날짜로 요일 체크하는 함수, 날짜 관련 함수 모음

2022. 9. 16. 12:03

날짜로 요일 체크하는 함수

 

요일 체크 함수

 

  CALL FUNCTION 'DATE_COMPUTE_DAY'
    EXPORTING
      DATE P_ZAMDAT
    IMPORTING
      DAY  L_DATE.

*1:월, 2:화, 3:수, 4:목, 5:금, 6:토, 7:일

 


1.일, 월, 년도 를 주어진 인자만큼 +, - 하는 함수.(SIGNUM '+' 이면 미래, '-' 이면 과거)
2.CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
   EXPORTING
     date            =
     days            =
     months          =
3.    years           =
 *   SIGNUM          = '+'
 * IMPORTING
 *   CALC_DATE       =

 

 

 

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

 

 

 


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

CALL FUNCTION 'RH_GET_DATE_DAYNAME'
   EXPORTING
     langu                     =
     date                      =
 *   CALID                     =
 * IMPORTING
 *   DAYNR                     =
 *   DAYTXT                    =
 *   DAYFREE                   =
 * EXCEPTIONS
 *   NO_LANGU                  = 1
 *   NO_DATE                   = 2
 *   NO_DAYTXT_FOR_LANGU       = 3
 *   INVALID_DATE              = 4
 *   OTHERS                    = 5

 

 

 
1.입력일자가 월요일부터 몇번째 일자인지 return해 줍니다.
2.CALL FUNCTION 'DATE_COMPUTE_DAY'
  EXPORTING
     date          =
 * IMPORTING
 *   DAY           =

 

 


1.입력일자가 해당 년도의 몇번째 주차인지 return해 줍니다.
2.CALL FUNCTION 'DATE_GET_WEEK'
  EXPORTING
     date               =
 * IMPORTING
 *   WEEK               =
 * EXCEPTIONS
 *   DATE_INVALID       = 1
 *   OTHERS             = 2

 

 


1.입력일자가 공휴일인지 check해 줍니다.
2.CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
   EXPORTING
     date                               =
     holiday_calendar_id                =
 *   WITH_HOLIDAY_ATTRIBUTES            = ' '
 * IMPORTING
 *   HOLIDAY_FOUND                      =
 * TABLES
 *   HOLIDAY_ATTRIBUTES                 =
 * EXCEPTIONS
 *   CALENDAR_BUFFER_NOT_LOADABLE       = 1
 *   DATE_AFTER_RANGE                   = 2
 *   DATE_BEFORE_RANGE                  = 3
 *   DATE_INVALID                       = 4
 *   HOLIDAY_CALENDAR_ID_MISSING        = 5
 *   HOLIDAY_CALENDAR_NOT_FOUND         = 6
 *   OTHERS                             = 7

 

 


1.입력주차의 월요일을 return해 줍니다.
2.CALL FUNCTION 'WEEK_GET_FIRST_DAY'
   EXPORTING
     week               =
 * IMPORTING
 *   DATE               =
 * EXCEPTIONS
 *   WEEK_INVALID       = 1
 *   OTHERS             = 2

 

 


1.입력일자가 속한 월의 마지막 일자를 return해 줍니다.
2.CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
   EXPORTING
     day_in                  =
 * IMPORTING
 *   LAST_DAY_OF_MONTH       =
 * EXCEPTIONS
 *   DAY_IN_NO_DATE          = 1
 *   OTHERS                  = 2

 

 


1.입력년도(I_GJAHR)를 구간(I_PERIV)으로 나누어서 입력한 구간(I_POPER)의 마지막 일자를 return해 줍니다.
2.CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
   EXPORTING
     i_gjahr              =
 *   I_MONMIT             = 00
     i_periv              =
     i_poper              =
 * IMPORTING
 *   E_DATE               =
 * EXCEPTIONS
 *   INPUT_FALSE          = 1
 *   T009_NOTFOUND        = 2
 *   T009B_NOTFOUND       = 3
 *   OTHERS               = 4

 

 


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

CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
  EXPORTING
     day_in                  =
 * IMPORTING
 *   LAST_DAY_OF_MONTH       =
 * EXCEPTIONS
 *   DAY_IN_NO_DATE          = 1
 *   OTHERS                  = 2


 

 


1.from date와 to date를 넘겨주면 그 기간을 일, 월, 년으로 return
CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
  EXPORTING
     i_date_from          =
 *   I_KEY_DAY_FROM       =
     i_date_to            =
 *   I_KEY_DAY_TO         =
 *   I_FLG_SEPARATE       = ' '
 * IMPORTING
 *   E_DAYS               =
 *   E_MONTHS             =
 *   E_YEARS              =

 

 


1.월의 마지막 일 return

2.CALL FUNCTION 'END_OF_MONTH_DETERMINE'
   EXPORTING
     datum         =
 * IMPORTING
 *   TT            =

 

 


1.해당일의 요일을 숫자로 RETURN해주는 함수입니다 (월:1, 화:2, 수:3, 목:4, 금:5. 토:6, 일:7)
2.CALL FUNCTION 'DATE_COMPUTE_DAY'
  EXPORTING
     date          =
 * IMPORTING
 *   DAY           =

 

 


1.날짜가 유효한지 Check
2.CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
  EXPORTING
     date                            =
 * EXCEPTIONS
 *   PLAUSIBILITY_CHECK_FAILED       = 1
 *   OTHERS                          = 2

 
1.일자 사이의 개월 수 계산
2.CALL FUNCTION 'RH_PM_CONVERT_DATE_TO_MONTH'
   EXPORTING
     begda               =
     endda               =
 * IMPORTING
 *   MONTHS              =     " 개월 수
* EXCEPTIONS
 *   INVALID_BEGDA       = 1
 *   OTHERS              = 2


 


1.일자를 입력하면 주차와 해당주차의 월요일과 일요일을 반환하는 함수
2.CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
 * EXPORTING
 *   DATE          = SY-DATUM
 * IMPORTING
 *   WEEK          =
 *   MONDAY        =
 *   SUNDAY        =



회계연도 구하는 함수 (현재일자로) 

 

DATA : W_CURRM(2) TYPE N , W_CURRY(4) TYPE N ,
       W_PREVM(2) TYPE N , W_PREVY(4) TYPE N.

CALL FUNCTION 'GET_CURRENT_YEAR'
  EXPORTING
    BUKRS         = '1000'     " Company Code
    DATE          = SY-DATUM   " Date to find fiscal year for
  IMPORTING
    CURRM         = w_currm    " Current Fiscal Month
    CURRY         = w_curry    " Current Fiscal Year
    PREVM         = w_prevm    " Previous Fiscal Month
    PREVY         = w_prevy.   " Previous Fiscal Year