如何获得内部表的标准表的名称

2020-08-24 08:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想获取内部表 it_mara的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我想获取内部表 it_mara的标准表的名称

此示例的标准表名称为: MARA

如何通过内部表的名称获取标准表的名称。

当我获得名称时,我想将名称保存在字符串变量中,并将其写在Function
tabname
前面 >

DDIF_FIELDINFO_GET

数据:it_mara马拉类型表,
       wa_mara TYPE mara,

       it_DFIES DFIES类型表,
       wa_DFIES类型DFIES。

 选择* from mara到表it_mara中,最多10行。

 调用函数" DDIF_FIELDINFO_GET"
   出口
     tabname ='mara'
  桌子
    DFIES_TAB = it_DFIES
  例外情况
    NOT_FOUND = 1
    INTERNAL_ERROR = 2
    其他= 3。

 
5条回答
CJones
2020-08-24 08:53 .采纳回答

对真正的数据字典类型使用以下代码。 ls_header中的TABNAME将为您提供所需的内容。 TABTYPE = T让您知道它是一个数据库表(池化,集群或透明)。

数据:lo_tabledescr类型参考cl_abap_tabledescr,
       lo_strucdescr类型参考cl_abap_structdescr。

 lo_tabledescr?= cl_abap_tabledescr => describe_by_data(it_mara)。
 如果lo_tabledescr已绑定。
   lo_strucdescr?= lo_tabledescr-> get_table_line_type()。
   如果lo_strucdescr已绑定。
     如果lo_strucdescr-> is_ddic_type()。
       DATA(ls_header)= lo_strucdescr-> get_ddic_header()。
     万一。
   万一。
 万一。
 

并且您不需要功能调用" DDIF_FIELDINFO_GET",可以通过以下方法从预先创建的对象中调用该功能。

 it_dfies = lo_strucdescr-> get_ddic_field_list()。

一周热门 更多>