Проверьте, существует ли столбец X в таблице Y - PullRequest
0 голосов
/ 05 октября 2018

У меня есть две строковые переменные:

  • lv_table_name содержит имя таблицы
  • lv_column_name содержит имя столбца

Есть лиспособ проверить, есть ли таблица (или представление), которая имеет данный столбец?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Для Netweaver 7.5 вы можете использовать простой выбор OPEN SQL на DD03L https://help.sap.com/doc/abapdocu_750_index_htm/7.50/en-US/abensql_expr_literal_abexa.htm

SELECT SINGLE @abap_true
       FROM DD03L
       WHERE tabname EQ @lv_table_name AND fieldname EQ @lv_column_name
       INTO @DATA(lv_exists).
0 голосов
/ 05 октября 2018

Вы можете найти определения таблиц и представлений в таблице 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.
...