SET_MODEL_FILTER¶
목적¶
Filter 기능이 없는 UI에서도 바인딩된 데이터를 필터링하기 위한 메서드입니다.
주요 단계¶
1. "SET_MODEL_FILTER" Method를 UI의 특정 이벤트에 추가¶
- BUTTON 클릭 이벤트에
SET_MODEL_FILTERMethod를 연결합니다.

<사진 1> UI 이벤트에 필터링 Method를 추가하는 과정 화면
2. "SET_MODEL_FILTER" Method 실행¶
- 바인딩된 데이터를 필터링할 수 있습니다.
ABAP Source Code 예시 (EV_MODEL_FILTER Method)¶
METHOD EV_MODEL_FILTER.
DATA: LS_FILTER TYPE /U4A/S0081.
DATA: LT_FILTER TYPE TABLE OF /U4A/S0081.
*---------------------------------------------------------
" APPEND LT_FILTER DATA.
LS_FILTER-FIELD_NAME = 'VALUE'.
LS_FILTER-FILTER_OPTION = 'BT'.
LS_FILTER-LOW = 500.
LS_FILTER-HIGH = 1000.
LS_FILTER-ISNUM = 'X'.
LS_FILTER-CASESENSITIVE = 'X'.
APPEND LS_FILTER TO LT_FILTER.
CLEAR LS_FILTER.
" MODEL_FILTER.
CALL METHOD /U4A/CL_UTILITIES=>SET_MODEL_FILTER
EXPORTING
IO_VIEW = ME->/U4A/IF_SERVER~AR_VIEW
I_UIID = 'TABLE1' " 필터 대상 UI명.
I_AGGR_NAME = 'items' " 필터 대상 하위 Aggregation 명 (소문자).
IT_FILTER = LT_FILTER " 다중 필터링 정보.
I_OPERATOR = 'X'. " Filter Operator ('X': AND, ' ': OR)
ENDMETHOD.
파라미터 정의¶
| Name | Description |
|---|---|
| I_UIID | 데이터가 바인딩된 UI의 INSTANCE ID 이름 |
| I_AGGR_NAME | 데이터가 바인딩된 Aggregation 이름 (소문자로 구성해야 함) |
| IT_FILTER | 필터 기준이 되는 TABLE |
| I_OPERATOR | 필터 연산자 ('X': AND, ' ': OR) |
IT_FILTER 테이블 상세 설명¶
| Name | Description |
|---|---|
| FIELD_NAME | 필터 기준이 되는 필드 이름 |
| FILTER_OPTION | 필터 옵션 (EQ, NE, GE, GT, LE, LT, BT 등) |
| LOW | 필터 최소 값 |
| HIGH | 필터 최대 값 |
| ISNUM | 숫자 타입 여부 ('X': 숫자, ' ': 문자) |
| CASESENSITIVE | 대소문자 구분 ('X': 구분, ' ': 구분 안 함) |
3. 애플리케이션 실행 및 버튼 클릭¶
- BUTTON 클릭으로
SET_MODEL_FILTERMethod 동작을 확인합니다.

<사진 2> 필터링 조건을 설정한 버튼을 클릭한 화면
4. 결과 확인¶
- Value 값이 500 ~ 1000 사이에 해당하는 데이터만 필터링되어 표시됩니다.

<사진 3> 필터링 조건에 따른 결과 표시