*&---------------------------------------------------------------------*
*& Report Z_SALAH_SELF_COL_HELP
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_SALAH_SELF_COL_HELP.
**********************************************************************
*REPORT DESCRIBE:alv列自定义搜索帮助
*DEVELOPER:SALAH
*DEVELOP DATE:20191015
*MODIFY DATE:
*FUNCTION SPEC:
*KEY USER:
**********************************************************************
TYPES:BEGIN OF TYP_01,
FIELD01 TYPE CHAR20,
FIELD02 TYPE CHAR20,
END OF TYP_01.
DATA GT_01 TYPE STANDARD TABLE OF TYP_01.
DATA GS_01 TYPE TYP_01.
DATA GT_EVENT TYPE SLIS_T_EVENT.
DATA GS_EVENT LIKE LINE OF GT_EVENT.
DATA IT_FIELDCAT TYPE LVC_T_FCAT.
DATA IS_FIELDCAT TYPE LVC_S_FCAT.
DATA IS_LAYOUT TYPE LVC_S_LAYO.
DATA IS_GRID_SET TYPE LVC_S_GLAY.
DATA LR_01 TYPE REF TO CL_GUI_ALV_GRID.
CLASS CL_F4_HELP DEFINITION.
PUBLIC SECTION.
METHODS:F4HELP FOR EVENT ONF4 OF CL_GUI_ALV_GRID IMPORTING E_FIELDNAME
ES_ROW_NO
ER_EVENT_DATA
ET_BAD_CELLS
.
ENDCLASS.
CLASS CL_F4_HELP IMPLEMENTATION.
METHOD F4HELP .
CASE E_FIELDNAME.
WHEN 'FIELD01'.
PERFORM FRM_F4HELP USING E_FIELDNAME ES_ROW_NO.
ENDCASE.
PERFORM FRM_REFRESH.
ER_EVENT_DATA->M_EVENT_HANDLED = 'X'.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
APPEND INITIAL LINE TO GT_01.
APPEND INITIAL LINE TO GT_01.
IS_FIELDCAT-FIELDNAME = 'FIELD01'.
IS_FIELDCAT-SCRTEXT_L = '×Ô¶¨ÒåËÑË÷°ïÖúÁÐ'.
IS_FIELDCAT-F4AVAILABL = 'X'.
IS_FIELDCAT-EDIT = 'X'.
APPEND IS_FIELDCAT TO IT_FIELDCAT.
CLEAR IS_FIELDCAT.
IS_FIELDCAT-FIELDNAME = 'FIELD02'.
IS_FIELDCAT-SCRTEXT_L = 'FIELD02'.
APPEND IS_FIELDCAT TO IT_FIELDCAT.
IS_GRID_SET-EDT_CLL_CB = 'X'.
IS_LAYOUT-CWIDTH_OPT = 'X'.
GS_EVENT-NAME = 'CALLER_EXIT'.
GS_EVENT-FORM = 'FRM_BUTTON'.
APPEND GS_EVENT TO GT_EVENT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
I_GRID_SETTINGS = IS_GRID_SET
IS_LAYOUT_LVC = IS_LAYOUT
IT_FIELDCAT_LVC = IT_FIELDCAT
IT_EVENTS = GT_EVENT
TABLES
T_OUTTAB = GT_01.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
*&---------------------------------------------------------------------*
*& Form FRM_F4HELP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_FIELDNAME text
* -->P_ES_ROW_NO text
*----------------------------------------------------------------------*
FORM FRM_F4HELP USING P_E_FIELDNAME
P_ES_ROW_NO TYPE LVC_S_ROID.
DATA LT_01 TYPE STANDARD TABLE OF TYP_01.
DATA LS_01 TYPE TYP_01.
DATA LT_RETURN TYPE STANDARD TABLE OF DDSHRETVAL.
DATA LS_RETURN TYPE DDSHRETVAL.
CLEAR LT_01.
LS_01-FIELD01 = 'TEST FIELD01'.
LS_01-FIELD02 = 'description one'.
APPEND LS_01 TO LT_01.
LS_01-FIELD01 = 'TEST FIELD02'.
LS_01-FIELD02 = 'description two'.
APPEND LS_01 TO LT_01.
IF P_E_FIELDNAME = 'FIELD01'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING