SAP ooalv各种事件的用法

该程序展示了如何在SAPABAP中创建两个屏幕(1001和1002),并在屏幕上绘制容器。程序详细定义了ALV表格的OK_CODE,工具栏,以及处理按钮点击、菜单按钮、用户命令和热点点击等事件的方法。此外,还涉及到内表操作,如数据筛选和双击事件触发事务代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、需新建屏幕1001 并画container:'CONT1'
2、需新建屏幕1002 并画container:'CONT2'
3、定义屏幕1001、1002的ok_code和逻辑流
4、定义工具栏

程序代码:

TABLES t001w.

TYPES:BEGIN OF typ_t001w ,
     werks  TYPE t001w-werks,
     name1  TYPE t001w-name1,
     werks2 TYPE t001w-werks,
  rowcolor  TYPE char10,
  zcheckbox TYPE c,       "LAYOUT-CHECBOX   =  'ZCHECKBOX'.
*  zflag     TYPE c,      "LAYOUT-BOX_FNAME = 'ZFLAG'.
  zicon     TYPE char10, "LAYOUT-ICON      = 'ZICON'  图标需要显示的
     END OF typ_t001w.

TYPES:BEGIN OF typ_smf ,
     werks  TYPE t001w-werks,
     name1  TYPE t001w-name1,
     END OF typ_smf.

DATA:i_t001w  TYPE TABLE OF typ_t001w,"""""第一次ALV内表
     i_detail TYPE TABLE OF typ_smf, """""单击ALV内表列ZICON显示的明细ALV内表
     i_smf    TYPE TABLE OF typ_smf.""""SF内表

DATA:fieldcat TYPE lvc_t_fcat,
     grid TYPE REF TO cl_gui_alv_grid,  "alv控件名
     grid2 TYPE REF TO cl_gui_alv_grid,  "alv控件名
     g_container TYPE scrfname VALUE 'CONT1',"重新定义本地容器对象名
     g_container2 TYPE scrfname VALUE 'CONT2',"重新定义本地容器对象名
     is_layout TYPE lvc_s_layo,
     ps_layout TYPE lvc_s_layo,
     g_custom_container TYPE REF TO cl_gui_custom_container,
     g_custom_container2 TYPE REF TO cl_gui_custom_container.

DATA: ui_functions TYPE ui_functions. "隐藏按钮的内表
*********ALV上事件捕捉类
DATA:gs_toolbar TYPE stb_button.             "按钮
CLASS alv_event_receiver DEFINITION DEFERRED. "声明类对象
*----------------------------------------------------------------------*
*       CLASS alv_event_receiver DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS alv_event_receiver DEFINITION.                  "声明类成员可见性
  PUBLIC SECTION.                                      "定义相关类成员可以被程序中的所有对象调用
    CLASS-METHODS:                                     "静态方法
      handle_toolbar                                   "初始化工具栏对象事件,如增加按钮并设定其属性
        FOR EVENT toolbar OF cl_gui_alv_grid
          IMPORTING e_object e_interactive,

       handle_menu_button                              "用于在下拉菜单中增加选项
         FOR EVENT menu_button OF cl_gui_alv_grid
          IMPORTING e_object e_ucomm,

       handle_user_command                             "工具栏中的按钮的单击事件
          FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING e_ucomm,

       handle_hotspot_click
          FOR EVENT hotspot_click OF cl_gui_alv_grid    "屏幕中的单击事件,可以具体到某行某列,需要设置热点
            IMPORTING  e_row_id e_column_id es_row_no,

       handle_double_click
          FOR EVENT double_click OF cl_gui_alv_grid     "屏幕中的双击事件,可以具体到某行某列,即使设置热点也必须双击
            IMPORTING e_row e_column es_row_no.
ENDCLASS.                    "alv_event_receiver DEFINITION
*&---------------------------------------------------------------------*
*&       Class (Implementation)  alv_event_receiver
*&---------------------------------------------------------------------*
*        Text
*----------------------------------------------------------------------*
CLASS alv_event_receiver IMPLEMENTATION.  "实现类方法
  METHOD handle_toolbar.
    gs_toolbar-function =  'B_SUM'.       "为按钮分配功能码
    gs_toolbar-icon     =  icon_display.  "为按钮分配图标
    gs_toolbar-text     =  '总行数'.      "为按钮分配文本
    gs_toolbar-butn_type = '0'.           "定义按钮类型,不填时默认为0
    APPEND gs_toolbar TO e_object->mt_toolbar. "添加按钮到工具栏

    gs_toolbar-function =  'B_PRINT'.       "为按钮分配功能码
    gs_toolbar-icon     =  icon_import.  "为按钮分配图标
    gs_toolbar-text     =  '转储订单打印'.      "为按钮分配文本
    gs_toolbar-checked  = 'X'.
    gs_toolbar-butn_type = '0'.           "定义按钮类型,不填时默认为0
    APPEND gs_toolbar TO e_object->mt_toolbar. "添加按钮到工具栏

    gs_toolbar-function =  'B_LIST'.      "为按钮分配功能码
    gs_toolbar-quickinfo = '自定义下拉菜单'.
    gs_toolbar-icon     =  icon_biw_report_view.  "为按钮分配图标
    gs_toolbar-text     =  '下拉菜单'.      "为按钮分配文本
    gs_toolbar-butn_type = '1'.           "定义按钮类型
    APPEND gs_toolbar TO e_object->mt_toolbar. "添加按钮到工具栏

    gs_toolbar-function =  'B_EDIT'.       "为按钮分配功能码
    gs_toolbar-icon     =  icon_change.  "为按钮分配图标
    gs_toolbar-text     =  '切换编辑状态'.      "为按钮分配文本
    gs_toolbar-checked  = 'X'.
    gs_toolbar-butn_type = '0'.           "定义按钮类型,不填时默认为0
    APPEND gs_toolbar TO e_object->mt_toolbar. "添加按钮到工具栏
  ENDMETHOD.                    "handle_toolbar
  METHOD handle_menu_button.
    IF e_ucomm = 'B_LIST'.
      CALL METHOD e_object->add_function
        EXPORTING
          icon  = icon_display
          fcode = 'B_SUM'
          text  = '显示ALV总数'.
    ENDIF.
  ENDMETHOD.                    "handle_menu_button
  METHOD handle_user_command.
    DATA sum TYPE i.
    DATA text TYPE string.
    DATA: lwa_t001w LIKE LINE OF i_t001w.
    DATA: lwa_smf   LIKE LINE OF i_smf.

    CASE e_ucomm.
      WHEN  'B_SUM'.
        DESCRIBE TABLE i_t001w[] LINES sum.
        text = sum.
        CONCATENATE  '当前表格中数据的总行数:' text  INTO text.
        MESSAGE  text  TYPE 'I'. "为何消息类型为 E 时运行时显示A类型,异常终止到初始界面
      WHEN 'B_PRINT'.
        LOOP AT i_t001w  INTO lwa_t001w WHERE  zcheckbox = 'X'.
          lwa_smf-werks = lwa_t001w-werks.
          lwa_smf-name1 = lwa_t001w-name1.
          APPEND  lwa_smf TO i_smf.
          CLEAR :lwa_t001w,lwa_smf.
        ENDLOOP.
        IF i_smf[] IS INITIAL.
          MESSAGE '请至少选择一行数据区打印!' TYPE 'E'. "E类型消息会转化为A类型,很蛋疼,求破!
        ELSE.
          PERFORM frm_print_data.  "这个没具体写。
        ENDIF.
      WHEN 'B_EDIT'.
        IF grid->is_ready_for_input( ) EQ 0.
          CALL METHOD grid->set_ready_for_input
            EXPORTING
              i_ready_for_input = 1.
        ELSE.
          CALL METHOD grid->set_ready_for_input
            EXPORTING
              i_ready_for_input = 0.
        ENDIF.
      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.                    "handle_user_command
  "ALV内表展示处单击事件捕捉,需要设置热点对单击列字段
  METHOD handle_hotspot_click.
    DATA:lwa_t001w LIKE LINE OF  i_t001w.
    READ TABLE i_t001w INTO lwa_t001w INDEX es_row_no-row_id. "判断行号
    CASE e_column_id-fieldname . "判断列名
      WHEN 'NAME1'.
        CALL TRANSACTION 'ME51N' AND SKIP FIRST SCREEN. "随便写的
      WHEN 'ZICON'.         "
        SELECT werks
               name1
          INTO TABLE i_detail
          FROM t001w
          WHERE werks = lwa_t001w-werks2.
        CLEAR lwa_t001w.
        IF sy-subrc NE 0.
          MESSAGE  'No result finding!' TYPE 'I'.
        ELSE.
          CALL SCREEN 1002.
        ENDIF.
      WHEN OTHERS.
    ENDCASE.
*    MESSAGE i001(00) WITH '当前行:' es_row_no-row_id ',航线代码:' ls_lt001w-werks.
  ENDMETHOD.                    "handle_hotspot_click
  "ALV内表展示处双击击事件捕捉,如果设置热点双击不起作用
  METHOD handle_double_click.
    DATA:lwa_t001w LIKE LINE OF i_t001w.
    READ TABLE i_t001w INTO lwa_t001w INDEX es_row_no-row_id.
    IF e_column-fieldname = 'WERKS'.
      SET PARAMETER ID 'AUN' FIELD lwa_t001w-werks.
      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
    ENDIF.
  ENDMETHOD.                    "handle_double_click

ENDCLASS.               "alv_event_receiver
START-OF-SELECTION.
  CALL SCREEN 1001.

*&---------------------------------------------------------------------*
*&      Module  STATUS_1001  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_1001 OUTPUT.
  SET PF-STATUS 'T001'.
*  SET TITLEBAR 'xxx'.
ENDMODULE.                 " STATUS_1001  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_1001  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_1001 INPUT.
  FIELD-SYMBOLS <field> TYPE typ_t001w .
  DATA: i TYPE i VALUE 0.
  DATA ok_code TYPE sy-ucomm.
  ok_code = sy-ucomm.
  CLEAR sy-ucomm.

  CASE ok_code.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'EDIT'.
      IF grid->is_ready_for_input( ) EQ 0.
        CALL METHOD grid->set_ready_for_input
          EXPORTING
            i_ready_for_input = 1.
      ELSE.
        CALL METHOD grid->set_ready_for_input
          EXPORTING
            i_ready_for_input = 0.
      ENDIF.
    WHEN 'EXECU'.
      SELECT * FROM t001w
         INTO CORRESPONDING FIELDS OF TABLE i_t001w.
      LOOP AT  i_t001w  ASSIGNING <field>  .
        <field>-werks2 = <field>-werks.
        <field>-zicon  = '@16@'.  "图标
      ENDLOOP.

      IF g_custom_container IS INITIAL.
        PERFORM exclude_tb_functions CHANGING ui_functions. "隐藏某些按钮
        PERFORM frm_layout_set.
        PERFORM frm_fieldcat_set.
        PERFORM alv_show.
      ELSE.
        CALL METHOD grid->refresh_table_display. "刷新
      ENDIF.
    WHEN OTHERS.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_1001  INPUT
*&---------------------------------------------------------------------*
*&      Form  ALV_SHOW
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_show .
  CREATE OBJECT g_custom_container                        "创建容器对象
        EXPORTING container_name = g_container.
  CREATE OBJECT grid                                      "创建ALV对象
        EXPORTING i_parent = g_custom_container.
  CALL METHOD grid->register_edit_event                   "可编辑回传方法
    EXPORTING
      i_event_id = grid->mc_evt_modified.
  CALL METHOD grid->set_table_for_first_display
    EXPORTING
*     I_BUFFER_ACTIVE      =
*     I_BYPASSING_BUFFER   =
*     I_CONSISTENCY_CHECK  =
*     I_STRUCTURE_NAME     = 'T001W'
*     IS_VARIANT           =
      i_save               = 'X'
*     I_DEFAULT            = 'X'
      is_layout            = is_layout
*     IS_PRINT             =
*     IT_SPECIAL_GROUPS    =
      it_toolbar_excluding = ui_functions[]
*     IT_HYPERLINK         =
*     IT_ALV_GRAPHICS      =
*     IT_EXCEPT_QINFO      =
*     IR_SALV_ADAPTER      =
    CHANGING
      it_outtab            = i_t001w[]
      it_fieldcatalog      = fieldcat[].
*           IT_SORT                       =
*           IT_FILTER                     =
*         EXCEPTIONS
*           INVALID_PARAMETER_COMBINATION = 1
*           PROGRAM_ERROR                 = 2
*           TOO_MANY_LINES                = 3
*           others                        = 4
  .

******注册ALV中引用的事件
  SET HANDLER alv_event_receiver=>handle_toolbar
              alv_event_receiver=>handle_menu_button
              alv_event_receiver=>handle_user_command
              alv_event_receiver=>handle_hotspot_click
              alv_event_receiver=>handle_double_click
           FOR ALL INSTANCES.
****调用方法激活自定义工具对象
  CALL METHOD grid->set_toolbar_interactive.
ENDFORM.                    " ALV_SHOW

*&---------------------------------------------------------------------*
*&      Form  exclude_tb_functions
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->PT_EXCLUDE text
*----------------------------------------------------------------------*
FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions .
  DATA ls_exclude TYPE ui_func.
  ls_exclude = cl_gui_alv_grid=>mc_fc_filter . "过滤器
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_current_variant . "布局更改
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_average ."平均值
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_sum ."求和
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_mb_export .   "导出
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut .        "剪切
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row . "删除行
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row . "插入行
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_refresh .  "刷新
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_find ."查找
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_asc .  "升序排列
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_sort_dsc .  "降序排列
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_views .   "视图
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_print ."打印
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_detail . "详细按钮
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_graph . "显示图形
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_info . "最终用户文档
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row . "附加行
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row . "复制行
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy . "复制文本
  APPEND ls_exclude TO pt_exclude.
  ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo . "撤消
  APPEND ls_exclude TO pt_exclude.
ENDFORM .                    "exclude_tb_functions
*&---------------------------------------------------------------------*
*&      Form  FRM_LAYOUT_SET
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_layout_set .
  is_layout-zebra = 'X' .
  is_layout-grid_title = '仓储转储订单跟踪及打印' .
  is_layout-smalltitle = 'X' .  "ALV 控制: 标题大小
  is_layout-cwidth_opt = 'X' . "优化列宽
*   is_layout-no_toolbar = 'X' . "隐藏按钮
  is_layout-sel_mode = 'A' . "flag选择方式 A:行和列的选择,无法选择单元格  多行,多列  B
  is_layout-info_fname = 'ROWCOLOR'.
ENDFORM.                    " FRM_LAYOUT_SET
*&---------------------------------------------------------------------*
*&      Form  FRM_FIELDCAT_SET
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_fieldcat_set .
  DATA ls_fcat TYPE lvc_s_fcat .
  CLEAR ls_fcat .
  ls_fcat-fieldname = 'ZCHECKBOX' .
  ls_fcat-coltext = '选择'.
*  ls_fcat-emphasize = 'C601' ."列颜色控制
  ls_fcat-checkbox   = 'X'.
  ls_fcat-edit       = 'X'.
  APPEND ls_fcat TO fieldcat .

  CLEAR ls_fcat .
  ls_fcat-fieldname = 'WERKS' .
  ls_fcat-inttype = 'C' .
  ls_fcat-outputlen = '4' .
  ls_fcat-coltext = '工厂'."Carrier ID.列标题
  ls_fcat-seltext = 'AAA' ."ALV 控制: 对话功能的列标识符
  ls_fcat-emphasize = 'C601' ."列颜色控制
*  ls_fcat-hotspot   = 'X'.  “不能设置hotspot  否则double click事件无效
  APPEND ls_fcat TO fieldcat .

  CLEAR ls_fcat .
  ls_fcat-fieldname = 'NAME1' .
  ls_fcat-ref_table = 'T001W' .
  ls_fcat-ref_field = 'NAME1' .
  ls_fcat-outputlen = '30' .
  ls_fcat-coltext = '工厂名称' .
  ls_fcat-hotspot   = 'X'.
  APPEND ls_fcat TO fieldcat .

  CLEAR ls_fcat .
  ls_fcat-fieldname = 'WERKS2' .
  ls_fcat-inttype = 'C' .
  ls_fcat-outputlen = '4' .
  ls_fcat-coltext = '工厂2号'."Carrier ID.列标题
  ls_fcat-seltext = 'AAA' ."ALV 控制: 对话功能的列标识符
  ls_fcat-emphasize = 'C601' ."列颜色控制
  ls_fcat-edit    = 'X'.
  APPEND ls_fcat TO fieldcat .

  CLEAR ls_fcat .
  ls_fcat-fieldname = 'ZICON' .
  ls_fcat-coltext = '交货明细凭证'."Carrier ID.列标题
  ls_fcat-seltext = 'AAA' ."ALV 控制: 对话功能的列标识符
  ls_fcat-icon    = 'X'.
  ls_fcat-hotspot   = 'X'.
  APPEND ls_fcat TO fieldcat .
  CLEAR ls_fcat .
ENDFORM.                    " FRM_FIELDCAT_SET
*&---------------------------------------------------------------------*
*&      Form  FRM_PRINT_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_print_data .

ENDFORM.                    " FRM_PRINT_DATA
*&---------------------------------------------------------------------*
*&      Module  STATUS_1002  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_1002 OUTPUT.
  SET PF-STATUS 'T001'.
*  SET TITLEBAR 'xxx'.
  PERFORM  frm_alv_show_detail.
ENDMODULE.                 " STATUS_1002  OUTPUT
*&---------------------------------------------------------------------*
*&      Form  FRM_ALV_SHOW_DETAIL
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_alv_show_detail .
  DATA: ls_fcat  TYPE lvc_s_fcat ,
       fieldcat2 TYPE lvc_t_fcat.
  ls_fcat-fieldname = 'WERKS' .
  ls_fcat-coltext = '工厂'."Carrier ID.列标题
  APPEND ls_fcat TO fieldcat2 .
  CLEAR ls_fcat .
  ls_fcat-fieldname = 'NAME1' .
  ls_fcat-coltext = '工厂名称'.
  APPEND ls_fcat TO fieldcat2 .
  CLEAR ls_fcat .

  ps_layout-zebra = 'X' .
  ps_layout-grid_title = '交货明细凭证' .
  ps_layout-smalltitle = 'X' .  "ALV 控制: 标题大小
  ps_layout-cwidth_opt = 'X' . "优化列宽
  ps_layout-no_toolbar = 'X' . "隐藏按钮
*  ps_layout-SEL_MODE = 'A' . "flag选择方式 A:行和列的选择,无法选择单元格  多行,多列  B
*  ps_layout-info_fname = 'ROWCOLOR'.

  IF g_custom_container2 IS INITIAL.
    CREATE OBJECT g_custom_container2                        "创建容器对象
     EXPORTING container_name = g_container2.
    CREATE OBJECT grid2                                      "创建ALV对象
     EXPORTING i_parent = g_custom_container2.
  ELSE.
    CALL METHOD grid2->refresh_table_display. "刷新
  ENDIF.
  CALL METHOD grid2->set_table_for_first_display
    EXPORTING
*     I_BUFFER_ACTIVE      =
*     I_BYPASSING_BUFFER   =
*     I_CONSISTENCY_CHECK  =
*     I_STRUCTURE_NAME     = 'T001W'
*     IS_VARIANT           =
      i_save               = 'X'
*     I_DEFAULT            = 'X'
      is_layout            = ps_layout
*     IS_PRINT             =
*     IT_SPECIAL_GROUPS    =
*     IT_TOOLBAR_EXCLUDING =
*     IT_HYPERLINK         =
*     IT_ALV_GRAPHICS      =
*     IT_EXCEPT_QINFO      =
*     IR_SALV_ADAPTER      =
    CHANGING
      it_outtab            = i_detail[]
      it_fieldcatalog      = fieldcat2[].
*           IT_SORT                       =
*           IT_FILTER                     =
*         EXCEPTIONS
*           INVALID_PARAMETER_COMBINATION = 1
*           PROGRAM_ERROR                 = 2
*           TOO_MANY_LINES                = 3
*           others                        = 4
  .
ENDFORM.                    " FRM_ALV_SHOW_DETAIL
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_1002  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_1002 INPUT.
  DATA ok_code2 TYPE sy-ucomm.
  ok_code2 = sy-ucomm.
  CLEAR sy-ucomm.
  CASE ok_code2.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_1002  INPUT

 程序执行效果:

点击“明细” 跳入第二屏,更多按钮响应效果自己体验

 

 sap系统的ooalv的学习标准程序:
BCALV_EDIT_01
BCALV_EDIT_02
BCALV_EDIT_03
BCALV_EDIT_04
BCALV_EDIT_05 双击编辑单元格,更改编辑状态(ooalv 单元格控制)
BCALV_EDIT_06
BCALV_EDIT_07
BCALV_EDIT_08

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值