在ABAP程序中,可以使用以下方法来查询程序中使用的表:
-
使用SE38或SE80事务码打开程序,在ABAP编辑器中查找表名。可以使用Ctrl + F快捷键打开查找对话框,并输入表名进行搜索。
-
使用代码查询程序中使用的表。在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