ALV (八) 杂项

1、ALV怎么设置定时刷新: cl_gui_timer;

2、取消右键功能: context_menu_request of cl_gui_alv_grid (事件);

3、submit 调用标准程序的时候,不方便使用Import,这时候可以使用:

Cl_salv_bs_runtime_info=>get_data_ref( importing r_data = ls_data ).

  或者使用SUBMIT (REPORT NAME)   AND RETURN
                      EXPORTING LIST TO MEMORY.

 CALL FUNCTION 'LIST_FROM_MEMORY'  获取ALV内表信息

CALL FUNCTION 'LIST_TO_ASCI'

4、list alv 同时show item和header:CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY';

5、切换ALV的编辑状态,先将需要编辑的地方设为可编辑,

若是需要退出编辑模式,即
    call method g_grid->set_ready_for_input
    exporting
      i_ready_for_input = 0.
若是需要使用编辑模式,即
     call method g_grid->set_ready_for_input
    exporting
      i_ready_for_input = 1.

6、ALV删除和增加行 ,范例: BCALV_EDIT_04;

7、自定义非标准的F4 ,范例:BCALV_EDIT_08;

8、ALV导出EXCEL的时候少一位,原因:对应的domain有自己的转换规则;fieldcat没有参考指定的字段;列的表头文本( seltext_s )比实际显示的数据短;

9、整列显示为BUTTON:gs_fieldcat-style = cl_gui_alv_grid=>mc_style_button

10、增加button和button group(容器中添加)

CALL METHOD go_toolbar->add_button
    EXPORTING
      fcode       = 'EXIT'            "Function Code
      icon        = icon_system_end   "ICON name
      is_disabled = ' '               "Disabled = X
      butn_type   = cntb_btype_button "Type of button
      text        = 'Exit'            "Text on button
      quickinfo   = 'Exit program'    "Quick info
      is_checked  = ' '.              "Button selected
* Add a seperator
  CALL METHOD cl_gui_toolbar=>fill_buttons_data_table
    EXPORTING
      fcode      = 'SEP1'
      icon       = ' '
      butn_type  = cntb_btype_sep
    CHANGING
      data_table = gi_button_group.

* Add an Enable button
  CALL METHOD cl_gui_toolbar=>fill_buttons_data_table
    EXPORTING
      fcode      = 'ENABLE'
      icon       = ' '
      butn_type  = cntb_btype_group
      text       = 'Enable'
      quickinfo  = 'Enable a print button'
      checked    = 'X'
    CHANGING
      data_table = gi_button_group.

Create context menu

* Add a menu button
  CALL METHOD cl_gui_toolbar=>fill_buttons_data_table
    EXPORTING
      fcode      = 'MENU'
      icon       = ' '
      butn_type  = cntb_btype_menu
      text       = 'Menu'
      quickinfo  = 'A menu buttonz'
    CHANGING
      data_table = gi_button_group.

METHODS: on_dropdown_clicked
        FOR EVENT dropdown_clicked OF cl_gui_toolbar
          IMPORTING fcode posx posy.
*-- Create context menu
    CREATE OBJECT go_context_menu.

    CALL METHOD go_context_menu->add_function
      EXPORTING
        fcode = 'CONTEXT1'
        text  = 'Do something funny'.

11、控制ALV的variant,I_SAVE = 'X',若同一程序有多個ALV,為了避免variant之间有影响,is_variant需要赋值,is_variant-handle是用来区分不同的ALV的。

12、判断是在SAP GUI上运行还是在RFC、WDA或者后台运行

CLASS cl_gui_alv_grid DEFINITION LOAD .
IF cl_gui_alv_grid=>offline( ) IS INITIAL.
  "程序以SAP GUI的方式运行
ELSE.
  "程序以后台、RFC、Web-Reporting等方式运行,不要创建前台对象(Frontend Objects)
ENDIF.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值