【ABAP】 查询程序中使用的表

在ABAP程序中,可以使用以下方法来查询程序中使用的表:

  1. 使用SE38或SE80事务码打开程序,在ABAP编辑器中查找表名。可以使用Ctrl + F快捷键打开查找对话框,并输入表名进行搜索。

  2. 使用代码查询程序中使用的表。在ABAP程序中,可以使用以下代码进行全量搜索:

REPORT ytest001.
TABLES:d010b.
DATA: gr_grid      TYPE REF TO cl_gui_alv_grid,
      gr_table     TYPE REF TO cl_salv_table,
      gr_functions TYPE REF TO cl_salv_functions,
      gr_columns   TYPE REF TO cl_salv_columns_table,
      gr_column    TYPE REF TO cl_salv_column_table.

DATA:BEGIN OF gs_tab.
        INCLUDE TYPE d010b.
DATA: str1 TYPE string,
      END OF gs_tab,
      gt_tab LIKE TABLE OF gs_tab.
FIELD-SYMBOLS <fs_tab> LIKE gs_tab.

SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE text-bx1.
SELECT-OPTIONS: s_tname FOR d010b-tabname ,
                s_prog  FOR d010b-master .
SELECTION-SCREEN END OF BLOCK bk1.

INITIALIZATION.

AT SELECTION-SCREEN.

AT SELECTION-SCREEN OUTPUT.

START-OF-SELECTION.
  PERFORM  frm_get_data ."USING .

END-OF-SELECTION.
  PERFORM  frm_get_alv.

*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_data .
  SELECT * FROM d010b
    INTO CORRESPONDING FIELDS OF TABLE gt_tab[]
    WHERE tabname IN s_tname[]
      AND master  IN s_prog[].

  LOOP AT gt_tab ASSIGNING <fs_tab>.
    SELECT SINGLE ddtext INTO <fs_tab>-str1 FROM dd02vv WHERE tabname = <fs_tab>-tabname.
  ENDLOOP.
ENDFORM.                    " FRM_GET_DATA
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM frm_get_alv .
*TRY.
  cl_salv_table=>factory( IMPORTING r_salv_table = gr_table
                          CHANGING t_table = gt_tab[] ).
  gr_functions = gr_table->get_functions( ).

  gr_columns = gr_table->get_columns( ).
  gr_column ?= gr_columns->get_column( 'STR1' ).
  gr_column->set_medium_text( '表描述').

  gr_functions->set_all( abap_true ).
  gr_table->get_columns( )->set_optimize( 'X' ). "自动列宽
  gr_table->get_display_settings( )->set_striped_pattern( 'X').   "斑马线
  gr_table->display( ).
*  CATCH cx_root INTO data(cx_root_wa).
*    data(lv_msg) = cx_root_wa->get_longtext( ).

*ENDTRY.
ENDFORM.                    " FRM_GET_ALV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值