RP_CALC_DATE_IN_INTERVAL ●펑션명 : RP_CALC_DATE_IN_INTERVAL ● 기능 : 입력된 날짜의 년/월/일 더하고 빼기 DATA : LV_DATE LIKE SY-DATUM, LV_CALC_DATE LIKE SY-DATUM, LV_DATE = '20240101'. "기준일자 CALL FUNCTION ' RP_CALC_DATE_IN_INTERVAL' EXPORTING date = LV_DATE day = 계산한 일자 OR '00' month.. Function
RP_LAST_DAY_OF_MONTHS 펑션명 : RP_LAST_DAY_OF_MONTHS 기능 : 입력된 월의 마지막일자 구하기 DATA : LV_DATE LIKE SY-DATUM, LV_LAST_DATE LIKE SY-DATUM, LV_DATE = '20240201'. "윤년이므로 2월이 29일까지 존재 CALL FUNCTION ' RP_LAST_DAY_OF_MONTHS ' EXPORTING DAY_IN = LV_DATE IMPORTING LAST_DAY_OF_MONTHS = LV_LAST_DATE EXCEPTION .. Function
SELECT_OPTIONS_RESTRICT SELECT_OPTIONS_RESTRICT : SCREEN 1000번의 SELECT_OPTIONS 의 복수선택시 OPTION을 제한 할 수 있는 펑션이다 (아래 사진의 빨간 박스) 아래 예시는 so_matnr 의 option중 EQ (단일값 선택) 만 사용 가능하게 설정한것이다. ls_opt- options 을 보면 BT / CP /EQ / GE / GT / LE / LT / NB / NE / NP 이 존재하니 상황에 맞게 설정하여 사용하면 된다. Function
TYPE SORTED TABLE LOOP안에서 인터널 테이블을 SORT 하는 방법은 퍼포먼스를 저해하기때문에, 인터널 테이블을 직접 SORT 하지않고 TYPE을 이용하여 데이터를 SORT하는 방법을 알아보자. DATA: LT_DISP TYPE TABLE OF SFLIGHT, LT_TEST TYPE TABLE OF SFLIGHT. TYPES: LTY_SORT TYPE SORTED TABLE OF SFLIGHT WITH NON-UNIQUE KEY CARRID. LT_TEST[] = CORRESPONDING LTY_SORT( LT_DISP[] ). ◈ LTY_SORT 의 KEY 필드 CARRID기준으로 SORT 되어 LT_DISP -> LT_TEST로 ASSIGN 된다. * LT_TEST와 LT_DISP의 TYPE이 동일해야한다. * LTY.. Syntax
WHERE ~ LIKE ~ % DATA: lv_where type c valuse '%A'. SELECT * INTO TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID LIKE LV_WHERE. => %가 *의 역할을 수행함 (EX. 'CA', 'AAA', 'BA'....) => %는 문자열 앞, 뒤에 사용가능함 Syntax
MOVE DATA *여기서 MOVE의 개념은 물리적인 MOVE 보다는 DATA COPY이다. *편의상 Internal table의 .., 필드는 ....으로 표기 *[] 는 바디가 존재하는 Internal table을 의미 1. [] = CORRESPONDING #( [] ). : 의 데이터가 의 동일한 필드명으로 데이터 MOVE 2. [] = CORRESPONDING #( [] DISCARDING DUPLICATION ). : 1번과 동일하지만 의 Unique key가 중복되지않게 data move 된다 3. [] = CORRESPONDING #( [] DISCARDING DUPLICATION MAPPING (f1) = (f2) ). : 2번과 동일하지만 의 필드 (f2) 를 의 필드 (f1)으로 이동한ek 4. [] .. Syntax