首页 > 其他分享 >ALV带有自定义事件

ALV带有自定义事件

时间:2023-03-16 23:55:49浏览次数:50  
标签:layout 自定义 field ls ALV 带有 TYPE event APPEND

*&---------------------------------------------------------------------*
*& 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.

 

标签:layout,自定义,field,ls,ALV,带有,TYPE,event,APPEND
From: https://www.cnblogs.com/hua900822/p/17225120.html

相关文章

  • PebbleTemplates 自定义tag&filter&function 开发简单说明
    PebbleTemplates的扩展能力还是很强大的,开发起来也比较方便,以下是一个简单的说明,更加复杂的推荐查看官方源码学习filter开发参考代码此filter直接返回rongfenglian......
  • leaflet 自定义事件
    leaflet 自定义事件主要使用fire()方法,如下图所示,我在区域热力层点击方法中自定义一个handClick方法,并传值。  再去进行监听  预览单击就会触发我们自定义的方......
  • 五、自定义登录逻辑
    ​ 当进行自定义登录逻辑时需要用到之前讲解的UserDetailsService和PasswordEncoder。但是SpringSecurity要求:当进行自定义登录逻辑时容器内必须有PasswordEncoder实例......
  • 五、自定义登录逻辑
    ​ 当进行自定义登录逻辑时需要用到之前讲解的UserDetailsService和PasswordEncoder。但是SpringSecurity要求:当进行自定义登录逻辑时容器内必须有PasswordEncoder实例......
  • cnblogs 博客园自定义样式
    在博客园搜索资料时,发现很多博友的园子装饰的非常炫酷。想着也装饰一下自己的园子,搜索后发现一个不错的插件,记录一下。使用、配置教程:https://bndong.github.io/Cnblog......
  • wpf自定义控件库(二)——伪3D按钮
    1、以学习wpf为目的,同时也为了增加控件代码的复用性,开始建立自己的自定义控件库;2、目前主要是根据项目需求去增加,完善控件库。希望之后能一步步扩展更多更丰富的控件;3、......
  • wpf 自定义控件库(一)
    1、以学习wpf为目的,同时也为了增加控件代码的复用性,开始建立自己的自定义控件库;2、目前主要是根据项目需求去增加,完善控件库。希望之后能一步步扩展更多更丰富的控件;3、......
  • QT5笔记: 22. 自定义代理
    代理作用:在界面发生编辑时可以指定编辑所用的组件,可以沟通Model和View自定义代理需要继承的基类和需要实现的方法使用步骤:继承QStyledItemDelegate,实现上面的四个......
  • C语言编程>第五周 ③ 编写一个程序,用于求m的n次幂。m 和n 由用户输入, 调用自定义的求m
    例题:编写一个程序,用于求m的n次幂。m和n由用户输入,调用自定义的求m的n次幂的函数,并输出计算结果。​​代码如下:​​#include<stdio.h>intpower(intm,intn);intm,n,a=......
  • 自定义TCP协议,私有TCP协议以及TCP协议安全性提高升级
    tcp协议是最底层的,一般来说无需修改,直接使用。但是在某些场景下,直接使用会带来一些安全性的问题:比如物联网设备。物联网设备需要经常的发送消息到服务器,如果直接使用标准T......