所有表格都可以用t代码SE16和表格DD02L列出。但是如何以编程方式访问该列表呢?
答案 0 :(得分:2)
直接访问数据库表几乎不是一个好主意,因为您必须处理您可能根本不知道的各种技术问题 - 例如,活动/非活动版本。您还将绕过所有可能与您个人无关的安全和授权检查,但通常是不受欢迎的。要获取表的列表,可以使用功能模块RPY_TABLE_SELECT
。此功能模块将负责版本处理,并以您选择的语言提供说明。
答案 1 :(得分:1)
以某种方式改进了Alex代码并将其作为选项:
SELECT tabname
FROM DD02L
INTO TABLE @DATA(itab)
WHERE TABCLASS = 'TRANSP'.
LOOP AT itab ASSIGNING FIELD-SYMBOL(<FS>).
WRITE:/ <FS>.
ENDLOOP.
改进了几个方面:使用了倾斜声明,添加了字段符号,省略了SELECT *
和WHERE IN
等等。
SAP中的表只有TRANSP类,INTTAB类属于结构。
注意:样本自ABAP 7.40,SP08起作用。
答案 2 :(得分:0)
正在进行的搜索产生了以下代码段:
DATA ITAB TYPE TABLE OF DD02L.
SELECT * FROM DD02L INTO TABLE ITAB WHERE TABCLASS IN ('TRANSP', 'INTTAB').
WRITE :SY-SUBRC .
DATA FS TYPE DD02L.
LOOP AT ITAB INTO FS.
WRITE:/ FS-TABNAME.
ENDLOOP.
表格描述见表DD02T。