ALV带有自定义事件()-其他
ALV带有自定义事件()
*&---------------------------------------------------------------------*
*& Report Z2023015105
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z2023015105.
TYPE-POOLS:slis.
DATA tables TYPE TABLE OF ztcustomer9.
SELECT * INTO CORRESPONDING FIELDS OF TABLE tables FROM ztcustomer9.
DATA layout TYPE slis_layout_alv.
DATA field TYPE slis_fieldcat_alv.
DATA fieldlist TYPE slis_fieldcat_alv OCCURS 0.
field-col_pos = 1.
field-fieldname = 'ZECUSTOMERID'.
field-datatype = 'INT'.
field-outputlen = '4'.
field-seltext_m = '客户编号'.
APPEND field TO fieldlist.
field-col_pos = 2.
field-fieldname = 'ZECOMPANYNAME'.
field-datatype = 'CHAR'.
field-outputlen = '100'.
field-seltext_m = '客户名称'.
APPEND field TO fieldlist.
field-col_pos = 3.
field-fieldname = 'ZECREATEDATE'.
field-datatype = 'DATS'.
field-outputlen = '8'.
field-seltext_m = '客户名称'.
APPEND field TO fieldlist.
field-col_pos = 4.
field-fieldname = 'ZESCOPE'.
field-datatype = 'CHAR'.
field-outputlen = '255'.
field-seltext_m = '客户经营范围'.
APPEND field TO fieldlist.
field-col_pos = 5.
field-fieldname = 'ZECNAME'.
field-datatype = 'CHAR'.
field-outputlen = '255'.
field-seltext_m = '法人代表'.
APPEND field TO fieldlist.
layout-zebra = 'X'.
layout-colwidth_optimize = 'X'.
layout-f2code = '&ETA'.
layout-detail_popup = 'X'.
layout-detail_titlebar = '详细信息'.
DATA lt_event TYPE TABLE OF slis_alv_event.
DATA ls_event TYPE slis_alv_event.
ls_event-name = 'PF_STATUS_SET'.
ls_event-form = 'FORM_PF_STATUS_SET'.
APPEND ls_event TO lt_event.
ls_event-name = 'USER_COMMAND'.
ls_event-form = 'FORM_USER_COMMAND'.
APPEND ls_event TO lt_event.
ls_event-name = 'TOP_OF_PAGE'.
ls_event-form = 'FORM_TOP_OF_PAGE'.
APPEND ls_event TO lt_event.
DATA pgm like sy-repid.
pgm = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = pgm
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = layout
it_fieldcat = fieldlist
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = lt_event
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = tables.
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
FORM form_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
IF r_ucomm = 'ZADD'.
MESSAGE '发起流程审批成功' type 'I'.
ENDIF.
ENDFORM.
FORM form_pf_status_set USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZGUI05'.
ENDFORM.
FORM form_top_of_page.
ENDFORM.
————————
*&---------------------------------------------------------------------*
*& Report Z2023015105
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z2023015105.
TYPE-POOLS:slis.
DATA tables TYPE TABLE OF ztcustomer9.
SELECT * INTO CORRESPONDING FIELDS OF TABLE tables FROM ztcustomer9.
DATA layout TYPE slis_layout_alv.
DATA field TYPE slis_fieldcat_alv.
DATA fieldlist TYPE slis_fieldcat_alv OCCURS 0.
field-col_pos = 1.
field-fieldname = 'ZECUSTOMERID'.
field-datatype = 'INT'.
field-outputlen = '4'.
field-seltext_m = '客户编号'.
APPEND field TO fieldlist.
field-col_pos = 2.
field-fieldname = 'ZECOMPANYNAME'.
field-datatype = 'CHAR'.
field-outputlen = '100'.
field-seltext_m = '客户名称'.
APPEND field TO fieldlist.
field-col_pos = 3.
field-fieldname = 'ZECREATEDATE'.
field-datatype = 'DATS'.
field-outputlen = '8'.
field-seltext_m = '客户名称'.
APPEND field TO fieldlist.
field-col_pos = 4.
field-fieldname = 'ZESCOPE'.
field-datatype = 'CHAR'.
field-outputlen = '255'.
field-seltext_m = '客户经营范围'.
APPEND field TO fieldlist.
field-col_pos = 5.
field-fieldname = 'ZECNAME'.
field-datatype = 'CHAR'.
field-outputlen = '255'.
field-seltext_m = '法人代表'.
APPEND field TO fieldlist.
layout-zebra = 'X'.
layout-colwidth_optimize = 'X'.
layout-f2code = '&ETA'.
layout-detail_popup = 'X'.
layout-detail_titlebar = '详细信息'.
DATA lt_event TYPE TABLE OF slis_alv_event.
DATA ls_event TYPE slis_alv_event.
ls_event-name = 'PF_STATUS_SET'.
ls_event-form = 'FORM_PF_STATUS_SET'.
APPEND ls_event TO lt_event.
ls_event-name = 'USER_COMMAND'.
ls_event-form = 'FORM_USER_COMMAND'.
APPEND ls_event TO lt_event.
ls_event-name = 'TOP_OF_PAGE'.
ls_event-form = 'FORM_TOP_OF_PAGE'.
APPEND ls_event TO lt_event.
DATA pgm like sy-repid.
pgm = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = pgm
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = layout
it_fieldcat = fieldlist
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = lt_event
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = tables.
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
FORM form_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield.
IF r_ucomm = 'ZADD'.
MESSAGE '发起流程审批成功' type 'I'.
ENDIF.
ENDFORM.
FORM form_pf_status_set USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZGUI05'.
ENDFORM.
FORM form_top_of_page.
ENDFORM.