SAP ABAP Tree 开发

最近忙里偷闲,研究了下ABAP Tree 相关功能,整理常用实现方法,顺手做了自定义配置表统一管理程序。

先说说常用到的对象及其用途:

1、CL_GUI_SIMPLE_TREE        Simple Tree Control

可作为侧边栏来用,单列现实,类似于通用启动界面的菜单。

(本程序调用逻辑见:FRM_INIT_SIMPLE_TREE)

2、CL_GUI_ALV_TREE_SIMPLE        Simple ALV Tree

可作为简单的树状ALV展示,类似SPRO功能,也可用于简单报表展示。

(本程序调用逻辑见:FRM_INIT_ALV_TREE_SIMPLE)

3、CL_GUI_ALV_TREE        ALV Tree Control

树状ALV展示,支持更多的功能,可改图标等,可参考 MMBE 库存查询报表。

实现基本流程:

1、程序及全局定义

2、屏幕及其容器

3、初始化调用(包含取数逻辑)

先看效果:

TREE 内容根据配置表自动生成,可通过按钮 更新清单 自行配置。

另外,批导自定义表 功能是调用一个通用批导表功能,详细见文章(后补)。

由于本程序专门给 IT内部 使用,故暂时没有设计细分权限管控,可自行参考添加功能。

自定义表清单配置表:

程序屏幕:

(屏幕编号:2000 ,仅需建一个容器控件,命名:CON_TREE 即可)

(状态:2000)

(标题:2000)

程序详细信息如下:

1、主程序:

********************************************************************
* 事务代码:                                                       *
* 程序名称:ZIT_CONFIG_TABLES                                      *
* 程序目的:自定义配置表管理平台                                    *
* 使用变式:                                                       *
* 设 计 人:                                                       *
* 设计时间:2024.07.15                                             *
* 程序类型: REPORT                                                 *
* 输入文件:                                                        *
* 输出文件:                                                        *
* 应用类型:                                                        *
* 描    述: 自定义配置表管理平台                                    *
* 日 志 表:                                                        *
*(修改日志)--------------------------------------------------------*
*                                                                  *
* 日志号   修改人  修改时间       修改说明              传输号码   *
*  ----    ----    ------         -----------                      *
* 001                                                              *
********************************************************************
*设计思路:
*采用结构树形式
*1、cl_gui_simple_tree 适合侧边栏功能 范例:FRM_INIT_SIMPLE_TREE
*2、cl_gui_alv_tree_simple 属于ALV TREE,类似SPRO 范例:FRM_INIT_SIMPLE_TREE
*3、cl_gui_alv_tree 属于ALV TREE,功能更加全面
********************************************************************
REPORT zit_config_tables.

INCLUDE zit_config_tables_top.
INCLUDE zit_config_tables_class.
INCLUDE zit_config_tables_module.
INCLUDE zit_config_tables_form.

START-OF-SELECTION.

  PERFORM frm_init_data.

  CALL SCREEN 2000.

2、全局定义 - 表、结构、对象等

*&---------------------------------------------------------------------*
*& 包含               ZIT_CONFIG_TABLES_TOP
*&---------------------------------------------------------------------*

CLASS lcl_application DEFINITION DEFERRED.
DATA: g_application TYPE REF TO lcl_application.
DATA: gt_node TYPE TABLE OF mtreesnode.

DATA: g_container TYPE REF TO cl_gui_custom_container,
      g_tree      TYPE REF TO cl_gui_simple_tree, "Simple Tree Control
      g_alv_tree  TYPE REF TO cl_gui_alv_tree_simple. "Simple ALV Tree
DATA: node_key TYPE mtreesnode-node_key VALUE 'ROOT'. "定义初始的子屏幕

TYPES: BEGIN OF ty_module,
         zmodule      TYPE ztcom_config_tab-zmodule,
         zmodule_text TYPE string,
       END OF ty_module,
       BEGIN OF ty_table,
         zmodule TYPE ztcom_config_tab-zmodule,
*         spe_use  TYPE ztcom_config_tab-spe_use,
         tabname TYPE ztcom_config_tab-tabname,
         ddtext  TYPE dd02t-ddtext,
         tcode   TYPE ztcom_config_tab-tcode,
*         programm TYPE ztcom_config_tab-programm,
         remark  TYPE ztcom_config_tab-remark,
         subnode TYPE char30,
       END OF ty_table.
DATA: gt_moudle TYPE TABLE OF ty_module,
      gs_moudle TYPE ty_module,
      gt_table  TYPE TABLE OF ty_table,
      gs_table  TYPE ty_table.

FIELD-SYMBOLS:
      <fs_table> TYPE ty_table.

DATA: gt_fieldcat TYPE lvc_t_fcat,  "控制输出列
      gt_sort     TYPE lvc_t_sort.  "控制节点

3、类定义 - 类事件响应(分别定义cl_gui_simple_tree,cl_gui_alv_tree_simple 响应事件类)

*&---------------------------------------------------------------------*
*& 包含               ZIT_CONFIG_TABLES_CLASS
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
*       CLASS lcl_application DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_application DEFINITION.
  PUBLIC SECTION.
    METHODS:
      handle_node_double_click
        FOR EVENT node_double_click OF cl_gui_simple_tree
        IMPORTING node_key.

ENDCLASS.                    "lcl_application DEFINITION
*----------------------------------------------------------------------*
*       CLASS lcl_application IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_application IMPLEMENTATION.
  METHOD  handle_node_double_click.
    PERFORM frm_node_double_click USING node_key.
  ENDMETHOD.                    "handle_node_double_click

ENDCLASS.                    "lcl_application IMPLEMENTATION

"定义事件注册类(使用双击事件)
*----------------------------------------------------------------------*
*   INCLUDE BCALV_TREE_EVENT_REC_DRAGDROP                              *
*----------------------------------------------------------------------*
CLASS cl_tree_event_receiver DEFINITION.

  PUBLIC SECTION.
*   double click item
    METHODS handle_double_click
      FOR EVENT node_double_click OF cl_gui_alv_tree_simple
      IMPORTING index_outtab grouplevel.

    METHODS handle_item_double_click
      FOR EVENT item_double_click OF cl_gui_alv_tree_simple
      IMPORTING fieldname index_outtab grouplevel.

ENDCLASS.                    "CL_TREE_EVENT_RECEIVER DEFINITION
*---------------------------------------------------------------------*
*       CLASS CL_TREE_EVENT_RECEIVER IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS cl_tree_event_receiver IMPLEMENTATION.
  METHOD handle_double_click.
    PERFORM frm_handle_double_click USING index_outtab grouplevel.
  ENDMETHOD.                    "HANDLE_DOUBLE_CLICK

  METHOD handle_item_double_click.
    PERFORM frm_handle_double_click USING index_outtab grouplevel.
  ENDMETHOD.
ENDCLASS.                    "CL_TREE_EVENT_RECEIVER IMPLEMENTATION

DATA: tree_event_receiver TYPE REF TO cl_tree_event_receiver.

4、屏幕逻辑流

*&---------------------------------------------------------------------*
*& 包含               ZIT_CONFIG_TABLES_MODULE
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_2000 OUTPUT.

 SET PF-STATUS '2000'.
 SET TITLEBAR '2000'.

ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_2000  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_2000 INPUT.
  DATA: LV_UCOMM TYPE SY-UCOMM.

  CLEAR: LV_UCOMM.
  LV_UCOMM = SY-UCOMM.

  CASE LV_UCOMM.
    WHEN '&BACK' OR '&EXIT' OR '&CANCEL'.
      LEAVE TO SCREEN 0.
    WHEN '&CONFIG'.

      PERFORM frm_config_table USING 'ZTCOM_CONFIG_TAB'.
    when '&BATCH'.

      PERFORM frm_call_ztable.

    WHEN OTHERS.
  ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module INIT_2000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE init_2000 OUTPUT.

*  PERFORM FRM_INIT_DATA.

*  PERFORM FRM_INIT_SIMPLE_TREE.

  PERFORM FRM_INIT_ALV_TREE_SIMPLE.

ENDMODULE.

5、子例程逻辑处理

*&---------------------------------------------------------------------*
*& 包含               ZIT_CONFIG_TABLES_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_INIT_SIMPLE_TREE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_init_simple_tree .

  CHECK g_container IS INITIAL .

  CREATE OBJECT g_container
    EXPORTING
      container_name              = 'CON_TREE'   " 100屏幕CONTAINER控件
    EXCEPTIONS
      cntl_error                  = 1
      cntl_system_error           = 2
      create_error                = 3
      lifetime_error              = 4
      lifetime_dynpro_dynpro_link = 5.


  CREATE OBJECT g_tree
    EXPORTING
*     lifetime                    =
      parent                      = g_container
*     shellstyle                  =
      node_selection_mode         = g_tree->node_sel_mode_single
*     hide_selection              =
*     name                        =
    EXCEPTIONS
      lifetime_error              = 1
      cntl_system_error           = 2
      create_error                = 3
      failed                      = 4
      illegal_node_selection_mode = 5
      OTHERS                      = 6.

  CALL METHOD g_tree->set_alignment
    EXPORTING
      alignment = '15'. """ 不能大于15;

  DATA: lt_events TYPE cntl_simple_events,
        ls_event  TYPE cntl_simple_event.
  " node double click
  CLEAR: lt_events.
  ls_event-eventid = cl_gui_simple_tree=>eventid_node_double_click.
  ls_event-appl_event = 'X'. " process PAI if event occurs
  APPEND ls_event TO lt_events.

  CALL METHOD g_tree->set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3.

  CREATE OBJECT g_application.
  SET HANDLER g_application->handle_node_double_click FOR g_tree.

  DATA: lv_subnode TYPE text30.

  REFRESH gt_node.
  LOOP AT gt_moudle INTO gs_moudle.
    "设置第一层节点
    PERFORM frm_add_node USING gs_moudle-zmodule '' gs_moudle-zmodule_text  'X' ''.

    "设置第二层 表信息
    LOOP AT gt_table ASSIGNING <fs_table> WHERE zmodule = gs_moudle-zmodule.
      CLEAR:lv_subnode.
      lv_subnode = |{ <fs_table>-zmodule }{ sy-tabix }|.
      <fs_table>-subnode = lv_subnode.
      PERFORM frm_add_node USING lv_subnode gs_moudle-zmodule <fs_table>-ddtext  '' 'ICON_GRAPHICS'.
    ENDLOOP.
  ENDLOOP.

  IF gt_node IS NOT INITIAL.
    CALL METHOD g_tree->add_nodes
      EXPORTING
        table_structure_name           = 'MTREESNODE'
        node_table                     = gt_node[]
      EXCEPTIONS
        failed                         = 1
        error_in_node_table            = 2
        dp_error                       = 3
        table_structure_name_not_found = 4
        OTHERS                         = 5.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_ADD_NODE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> LV_NODEKEY
*&      --> LV_RELATKEY
*&      --> LV_TEXT
*&      --> LV_ISFOLDER
*&      --> LV_IMAGE
*&---------------------------------------------------------------------*
FORM frm_add_node  USING   pv_nodekey
                            pv_relatkey
                            pv_text
                            pv_isfolder
                            pv_image.

  DATA: ls_node TYPE mtreesnode.

  CLEAR:ls_node.
  ls_node-node_key = pv_nodekey.
  ls_node-relatkey = pv_relatkey.
  ls_node-text     = pv_text."- 给用户用
  ls_node-isfolder = pv_isfolder.
  ls_node-n_image  = pv_image.
  APPEND ls_node TO gt_node.

ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_NODE_DOUBLE_CLICK
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_NODE_KEY  text
*----------------------------------------------------------------------*
FORM frm_node_double_click  USING    p_node_key.

  READ TABLE gt_table INTO gs_table WITH KEY subnode = p_node_key.
  IF sy-subrc = 0.

    PERFORM frm_config_table USING gs_table-tabname.

  ENDIF.

ENDFORM.                    " FRM_NODE_DOUBLE_CLICK
*&---------------------------------------------------------------------*
*& Form FRM_INIT_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_init_data .

  DATA: lt_data  TYPE TABLE OF ztcom_config_tab,
        ls_data  TYPE ztcom_config_tab,
        lt_dd07t TYPE TABLE OF dd07t,
        ls_dd07t TYPE dd07t.

  CLEAR: lt_data.
  SELECT *
    INTO TABLE lt_data
    FROM ztcom_config_tab.

  CLEAR: gt_table.
  LOOP AT lt_data INTO ls_data.
    CLEAR: gs_table.
    MOVE-CORRESPONDING ls_data TO gs_table.
    IF gs_table-tabname IS NOT INITIAL.
      SELECT SINGLE ddtext INTO gs_table-ddtext FROM dd02t WHERE tabname = gs_table-tabname AND ddlanguage = sy-langu.
    ENDIF.
    APPEND gs_table TO gt_table.
  ENDLOOP.

  SORT lt_data BY zmodule.
  DELETE ADJACENT DUPLICATES FROM lt_data COMPARING zmodule.

  CLEAR: lt_dd07t.
  SELECT * INTO TABLE lt_dd07t FROM dd07t WHERE domname = 'ZDM_MOUDLE' AND ddlanguage = sy-langu.
  LOOP AT lt_data INTO ls_data.
    CLEAR:gs_moudle.
    gs_moudle-zmodule = ls_data-zmodule.

    READ TABLE lt_dd07t INTO ls_dd07t WITH KEY domvalue_l = gs_moudle-zmodule.
    IF sy-subrc = 0.
      gs_moudle-zmodule_text = ls_dd07t-ddtext.
    ENDIF.

    APPEND gs_moudle TO gt_moudle.
  ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_INIT_ALV_TREE_SIMPLE
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_init_alv_tree_simple.

  CHECK g_container IS INITIAL .

  "报表头
  DATA ls_list_comm  TYPE slis_t_listheader.
  DATA ls_alist_comm TYPE slis_listheader.

  ls_alist_comm-typ = 'H'.
  ls_alist_comm-info = '自定义配置表统一管理平台'.
  APPEND ls_alist_comm TO ls_list_comm.

  CREATE OBJECT g_container
    EXPORTING
      container_name = 'CON_TREE'.

  CREATE OBJECT g_alv_tree
    EXPORTING
      i_parent = g_container.

  "设置Fieldcat
  PERFORM frm_set_fieldcat.

  "设置Level
  PERFORM frm_set_level.

  "事件相关
  PERFORM frm_register_event.
  CREATE OBJECT tree_event_receiver.
  SET HANDLER tree_event_receiver->handle_double_click FOR g_alv_tree.
  SET HANDLER tree_event_receiver->handle_item_double_click FOR g_alv_tree.

  CALL METHOD g_alv_tree->set_table_for_first_display
*    EXPORTING
*      it_list_commentary = ls_list_comm
  "    i_structure_name   = 'ZTEST_SHOW'         "se11建的想要展示的结构
    CHANGING
      it_sort         = gt_sort
      it_fieldcatalog = gt_fieldcat
      it_outtab       = gt_table[].           "数据表

  CALL METHOD g_alv_tree->expand_tree
    EXPORTING
      i_level = 0.



ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_set_fieldcat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_set_fieldcat .
  DATA:ls_fieldcat TYPE lvc_s_fcat.

  DEFINE mrc_set_fieldcat.
    CLEAR:ls_fieldcat.
    ls_fieldcat-no_out =  &1.
    ls_fieldcat-edit     =  &1.
    ls_fieldcat-col_pos   = &2.
    ls_fieldcat-fieldname = &3.
    ls_fieldcat-scrtext_l = &4.
    ls_fieldcat-scrtext_m = &4.
    ls_fieldcat-scrtext_s = &4.
    ls_fieldcat-coltext = &4.
    ls_fieldcat-ref_table = &5.
    ls_fieldcat-ref_field = &6.
    ls_fieldcat-outputlen = &7.
    ls_fieldcat-hotspot = 'X'.

    APPEND ls_fieldcat TO gt_fieldcat.
  END-OF-DEFINITION.

  mrc_set_fieldcat 'X'  '1' 'ZMODULE' '模块'       'ZTCOM_CONFIG_TAB'  'ZMODULE' '8'.
*  mrc_set_fieldcat ''  '1' 'SPE_USE' '专用'       'ZTCOM_CONFIG_TAB'  'SPE_USE' '5'.
  mrc_set_fieldcat 'X'  '1' 'TABNAME' '表名'       'ZTCOM_CONFIG_TAB'  'TABNAME' '10'.
  mrc_set_fieldcat ''  '1' 'DDTEXT' '表描述'       'ZTCOM_CONFIG_TAB'  'DDTEXT' '40'.
  mrc_set_fieldcat ''  '1' 'TCODE' '事务码'     'ZTCOM_CONFIG_TAB'  'TCODE' '15'.
*  mrc_set_fieldcat ''  '1' 'PROGRAMM' '程序名'     'ZTCOM_CONFIG_TAB'  'PROGRAMM' '15'.
  mrc_set_fieldcat ''  '1' 'REMARK' '备注'     'ZTCOM_CONFIG_TAB'  'REMARK' '35'.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_set_level
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_set_level .

*  zmodule  type ztcom_config_tab-zmodule,
*  spe_use  type ztcom_config_tab-spe_use,
*  tabname  type ztcom_config_tab-tabname,
*  ddtext   type dd02t-ddtext,
*  programm type ztcom_config_tab-programm,
*  remark   type ztcom_config_tab-remark,
*  subnode  type char30,

  DATA: lv_index  TYPE int4  VALUE  '1' .
  DATA: ls_sort  TYPE lvc_s_sort .

  ls_sort-spos        = lv_index .
  ls_sort-fieldname   =  'ZMODULE' .  "
  ls_sort-up          =  'X' .
  ls_sort-subtot      =  'X' .
  APPEND ls_sort  TO gt_sort .
  lv_index  = lv_index +  1 .

  ls_sort-spos        = lv_index .
  ls_sort-fieldname   =  'TABNAME' .  "
  ls_sort-up          =  'X' .
  ls_sort-subtot      =  'X' .
  APPEND ls_sort  TO gt_sort .
  lv_index  = lv_index +  1 .

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_handle_double_click
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> INDEX_OUTTAB
*&      --> GROUPLEVEL
*&---------------------------------------------------------------------*
FORM frm_handle_double_click  USING    p_index_outtab
                                       p_grouplevel.
  DATA: lt_seltab TYPE TABLE OF rsparams,               "选择条件通用表
        ls_seltab TYPE rsparams.

  "确保选择的是表行
  CHECK p_index_outtab IS NOT INITIAL AND p_grouplevel IS INITIAL.

  READ TABLE gt_table INTO gs_table INDEX p_index_outtab.
  IF sy-subrc = 0.

    CLEAR:ls_seltab.
    ls_seltab-selname = 'S_TAB'.
    ls_seltab-sign    = 'I'.
    ls_seltab-option  = 'EQ'.
    ls_seltab-low     = gs_table-tabname.
*  ls_seltab-high     = ''.
    APPEND ls_seltab TO lt_seltab.

    SUBMIT zfid005 WITH SELECTION-TABLE lt_seltab AND RETURN.
  ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_register_event
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_register_event .
  DATA: lt_events        TYPE cntl_simple_events,
        l_event          TYPE cntl_simple_event,
        l_event_receiver TYPE REF TO cl_tree_event_receiver.

  CALL METHOD g_alv_tree->get_registered_events
    IMPORTING
      events = lt_events.

  l_event-eventid = cl_gui_column_tree=>eventid_node_double_click.
  l_event-appl_event  = 'X' .
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_double_click.
  l_event-appl_event  = 'X' .
  APPEND l_event TO lt_events.

  CALL METHOD g_alv_tree->set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_config_table
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> P_
*&---------------------------------------------------------------------*
FORM frm_config_table  USING  pv_tabname.
*  DATA: lt_seltab TYPE TABLE OF rsparams,               "选择条件通用表
*        ls_seltab TYPE rsparams.
*  CLEAR:lt_seltab.
*  CLEAR:ls_seltab.
*  ls_seltab-selname = 'S_TAB'.
*  ls_seltab-sign    = 'I'.
*  ls_seltab-option  = 'EQ'.
*  ls_seltab-low     = pv_tabname.
*  APPEND ls_seltab TO lt_seltab.
*  SUBMIT zfid005 WITH SELECTION-TABLE lt_seltab AND RETURN.

  CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
    EXPORTING
      action                       = 'U'
*     CORR_NUMBER                  = '          '
*     GENERATE_MAINT_TOOL_IF_MISSING       = ' '
*     SHOW_SELECTION_POPUP         = ' '
      view_name                    = pv_tabname
*     NO_WARNING_FOR_CLIENTINDEP   = ' '
*     RFC_DESTINATION_FOR_UPGRADE  = ' '
*     CLIENT_FOR_UPGRADE           = ' '
*     VARIANT_FOR_SELECTION        = ' '
*     COMPLEX_SELCONDS_USED        = ' '
*     CHECK_DDIC_MAINFLAG          = ' '
*     SUPPRESS_WA_POPUP            = ' '
* TABLES
*     DBA_SELLIST                  =
*     EXCL_CUA_FUNCT               =
    EXCEPTIONS
      client_reference             = 1
      foreign_lock                 = 2
      invalid_action               = 3
      no_clientindependent_auth    = 4
      no_database_function         = 5
      no_editor_function           = 6
      no_show_auth                 = 7
      no_tvdir_entry               = 8
      no_upd_auth                  = 9
      only_show_allowed            = 10
      system_failure               = 11
      unknown_field_in_dba_sellist = 12
      view_not_found               = 13
      maintenance_prohibited       = 14
      OTHERS                       = 15.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_call_ztable
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_call_ztable .

*  CALL TRANSACTION 'ZTABLE'.

ENDFORM.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值