检查表Y中是否存在列X.

gue*_*tli 0 sap abap

我有两个字符串变量:

  • lv_table_name 包含表名
  • lv_column_name 包含列名称

有没有办法检查是否有一个具有给定列的表(或视图)?

小智 5

您可以在表DD03L中找到表和视图定义.如果您可以使用提到的组合表/列访问该表,则速度会明显加快.

REPORT.

DATA: lv_column_name TYPE string VALUE 'MY_FIELD'.

"this will tell you which tables/views exist containing the column 'MY_FIELD'
SELECT tabname
  FROM dd03l INTO TABLE @DATA(lt_tables)
  WHERE fieldname EQ @lv_column_name.
Run Code Online (Sandbox Code Playgroud)

  • 请注意,检查DD03L(仅)将等同于`cl_abap_classdescr => describe_by_name(EXPORTING p_name = |\TYPE = {lv_table_name} - {lv_column_name} | EXCEPTIONS type_not_found = 1).`(sy-subrc = 1表示表或该列不存在) (3认同)