ABAP
[ABAP] 조회 화면 Search Help 예제
mrexuex
2024. 8. 27. 14:16
🚩 코드
1. SELECTION-SCREEN 선언
SELECT-OPTIONS : S_WERKS FOR MARD-WERKS.
2. 이벤트 선언
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_WERKS-LOW.
PERFORM F4_FOR_WERKS.
3. 코딩
FORM F4_FOR_WERKS.
DATA : BEGIN OF LS_WERKS,
WERKS TYPE TVKWZ-WERKS,
NAME1 TYPE T001W-NAME1,
END OF LS_WERKS,
LT_WERKS LIKE TABLE OF LS_WERKS.
DATA : LS_RETURN TYPE DDSHRETVAL,
LT_RETURN TYPE TABLE OF DDSHRETVAL.
CLEAR : LT_WERKS.
SELECT DISTINCT A~WERKS,
B~NAME1
FROM TVKWZ AS A
INNER JOIN T001W AS B ON A~WERKS = B~WERKS
WHERE A~VKORG IN @S_VKORG
INTO CORRESPONDING FIELDS OF TABLE @LT_WERKS.
SORT LT_WERKS BY WERKS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'WERKS'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = LT_WERKS
RETURN_TAB = LT_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
CHECK LT_RETURN IS NOT INITIAL.
READ TABLE LT_RETURN INTO LS_RETURN INDEX 1.
IF SY-SUBRC EQ 0.
S_WERKS-LOW = LS_RETURN-FIELDVAL.
ENDIF.
ENDFORM.
🚩 결과 화면
반응형