0

我有两个字符串变量:

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

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

4

2 回答 2

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.
于 2018-10-05T10:59:10.463 回答
1

对于 Netweaver 7.5,您可以在https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abensql_expr_literal_abexa.htm上使用简单的 OPEN SQL 选择DD03L

SELECT SINGLE @abap_true
       FROM DD03L
       WHERE tabname EQ @lv_table_name AND fieldname EQ @lv_column_name
       INTO @DATA(lv_exists).
于 2018-10-08T01:27:03.320 回答