F4_HNADL_SHDYN¶
목적¶
사용자가 정의한 F4_HELP의 가능 Entries를 활용하여
Search Help를 구현하는 방법을 설명한다.
주요 단계¶
1. SEARCH HELP UI 구성¶
- INPUT FIELD를 이용하여 SEARCH HELP UI를 구성한다.

<사진 1> SEARCH HELP UI 구성 화면
2. SEARCH HELP TABLE 구성¶
- SEARCH HELP 기능을 위한 TABLE 설정 및 적용 방법을 설명한다.
2.1 ABAP SOURCE CODE 예시 (EV_F4_DYN_SH_OPEN)¶
METHOD EV_F4_DYN_SH_OPEN.
DATA: LV_INDEX TYPE I,
LT_FINFO TYPE /U4A/CL_F4_HNADL=>GTT_FLD_INFO,
LS_FINFO TYPE /U4A/CL_F4_HNADL=>GTY_FLD_INFO,
LS_ITAB TYPE TY_OTAB,
LT_ITAB TYPE TABLE OF TY_OTAB,
LV_NAME TYPE STRING,
LV_NUM TYPE N LENGTH 2,
LV_QUANTITY TYPE I.
*-------------------------------------------------------------------*
" Search Help Table 구성
DO 10 TIMES.
ADD 1 TO LV_NUM.
CONCATENATE 'OBJECT_' LV_NUM INTO LV_NAME.
ADD 100 TO LV_QUANTITY.
LS_ITAB-NO = LV_NUM.
LS_ITAB-NAME = LV_NAME.
LS_ITAB-QUANTITY = LV_QUANTITY.
LS_ITAB-DATE = SY-DATUM.
APPEND LS_ITAB TO LT_ITAB.
CLEAR LS_ITAB.
CLEAR LV_NAME.
ENDDO.
3. SEARCH HELP 검색 조건 필드 추가 및 옵션 설정¶
3.1 GTY_F4_CONFIG 구조¶
검색 조건으로 사용할 FIELD를
GTY_F4_CONFIG 구조의 TABLE에 추가한다.
3.2 검색 조건 FIELD 옵션¶
| Name | Description |
|---|---|
| FNAME | 검색 조건으로 사용할 Field 이름 |
| LABEL | 조회 결과 테이블의 Column 이름 |
| ISSH | 조회 조건 입력란으로 사용(X) 여부 |
| WIDTH | 검색 조건 입력 필드 길이 (px, %, em) |
| CWIDTH | 조회 결과 컬럼 길이 (px, %, em) |
| MWIDTH | 최소 화면 너비 (px, %, em) |
| NOZERO | Zero 값 허용 여부 |
| PLACEHOLDER | 검색 조건 필드의 Placeholder 값 |
3.3 ABAP SOURCE CODE 예시 (검색 조건 설정)¶
" 검색조건 필드 속성 추가
LS_FINFO-FNAME = 'NAME'.
LS_FINFO-LABEL = 'Name'.
LS_FINFO-ISSH = ABAP_TRUE.
LS_FINFO-WIDTH = '80%'.
LS_FINFO-CWIDTH = '300PX'.
LS_FINFO-MWIDTH = '40PX'.
LS_FINFO-NOZERO = ABAP_FALSE.
LS_FINFO-PLACEHOLDER = 'Please enter your name.'.
APPEND LS_FINFO TO LT_FINFO.
CLEAR LS_FINFO.
LS_FINFO-FNAME = 'QUANTITY'.
LS_FINFO-LABEL = 'Quantity'.
LS_FINFO-ISSH = ABAP_TRUE.
LS_FINFO-WIDTH = '80%'.
LS_FINFO-CWIDTH = '100PX'.
LS_FINFO-MWIDTH = '40PX'.
LS_FINFO-NOZERO = ABAP_FALSE.
LS_FINFO-PLACEHOLDER = 'Please enter quantity.'.
APPEND LS_FINFO TO LT_FINFO.
CLEAR LS_FINFO.
4. SEARCH HELP LAYOUT 및 필드 속성 설정¶
4.1 SEARCH HELP 레이아웃 옵션¶
| Name | Description |
|---|---|
| I_CSS_STY | Search Help Dialog CSS Style Class 설정 |
| I_DRAGGABLE | Drag 가능 여부 |
| I_RESIZABLE | Size 조절 가능 여부 |
| I_HEIGHT | Dialog 세로 높이 |
| I_WIDTH | Dialog 가로 넓이 |
| I_TITLE | Dialog Title |
| I_MULTSEL | 검색 결과 복수 선택 여부 |
| I_EXPANDED | 조회 조건 펼침 여부 |
| I_ROW | 선택한 ROW INDEX |
| I_SEVENT_NAME | Call Back Method 명 |
| IT_FLD_INFO | 조회 조건 Field 정보 TABLE |
| IT_DATA | 조회 결과 TABLE |
5. SEARCH HELP DIALOG 화면¶

<사진 2> 호출된 Search Help 구성 화면
6. 선택한 Row의 값을 이용한 CALL BACK METHOD 설정¶
- ADD EVENT METHOD 버튼을 통해 생성한다.
6.1 ABAP SOURCE CODE 예시 (EV_F4_SH_SELECT)¶
METHOD EV_F4_SH_SELECT.
DATA: I_VALUE TYPE STRING,
I_VALUE2 TYPE STRING,
GV_FNAME TYPE STRING.
FIELD-SYMBOLS: <FS_FDATA> TYPE DATA,
<FS_OTAB> TYPE TY_OTAB.
*-------------------------------------------------------------------*
" Search Help Select
CALL METHOD /U4A/CL_F4_HNADL=>F4_GET_SELECT01
EXPORTING
IS_F4DATA = I_FDATA
I_FLDNM = 'NAME'
IMPORTING
E_VALUE = I_VALUE.
CALL METHOD /U4A/CL_F4_HNADL=>F4_GET_SELECT01
EXPORTING
IS_F4DATA = I_FDATA
I_FLDNM = 'QUANTITY'
IMPORTING
E_VALUE = I_VALUE2.
GV_FNAME = 'I_FDATA-ROWINDEX'.
ASSIGN (GV_FNAME) TO <FS_FDATA>.
CHECK <FS_FDATA> IS ASSIGNED.
READ TABLE GT_OTAB ASSIGNING <FS_OTAB> INDEX <FS_FDATA>.
CHECK SY-SUBRC EQ 0.
<FS_OTAB>-NAME = I_VALUE.
<FS_OTAB>-QUANTITY = I_VALUE2.
ENDMETHOD.
7. SEARCH HELP 실행 절차¶
7.1 Input 필드의 Search Help 버튼 클릭¶

<사진 3> Search Help 호출 버튼 화면
7.2 SEARCH HELP DIALOG에서 조회 결과 선택¶

<사진 4> Search Help 조회 결과 선택 화면
7.3 CALL BACK METHOD를 이용하여 선택한 값 적용¶

<사진 5> Search Help 선택 결과 적용 화면