点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)人们好, 我需要...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)人们好, 我需要...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
人们好,
我需要获取本地定义的结构中字段的标签,如下所示:
类型:开始于ty_out, kunnr TYPE kna1-kunnr, vkorg TYPE knvv-vkorg, vtweg TYPE knvv-vtweg, kukla TYPE kna1-kukla, vtext TYPE tkukt-vtext, pltyp TYPE knvv-pltyp, ..... ty_out的第END个。
结构中的所有字段都是根据现有SAP表字段键入的。
我想利用功能模块DDIF_FIELDINFO_GET(除非有等效的类方法?)通过返回的表dfies_tab获取字段描述:
通话功能'DDIF_FIELDINFO_GET' 出口 tabname = i_tablename 字段名称= i_fieldname langu = sy-langu 桌子 dfies_tab = lt_dfies 例外情况 not_found = 1 internal_error = 2 其他= 3。 如果sy-subrc EQ 0。 读取表lt_dfies到ls_dfies索引1。 如果sy-subrc EQ 0。 r_descr = ls_dfies-scrtext_m。 其他。 r_descr = i_fieldname。 万一。 其他。 r_descr = i_fieldname。 ENDIF。
我已经根据结构搜索了合适的方法来获取表名和字段名,但并不幸运。 我最接近的是使用cl_abap_typedescr => describe_by_data,但这仅返回字段名称以及字段的实际类型和长度。 有没有类似的简单方法可以"更进一步",并且还返回TYPE之后但又分为表名和字段名的内容?
现在-为了能够快速测试我的程序,我通过提供i_tablename和i_fieldname这样的方式(不是很喜欢-尤其是因为结构相当大)而以"艰难的方式"做到了:
get_field_descr(导出i_tablename ='KNA1' i_fieldname ='KUNNR' 接收r_descr = lv_descr)。
我想坚持使用本地定义的结构,因为它只需要一个程序,因此没有真正的理由在字典中对其进行定义(对于DDIC更改,我们有一个"有趣的"过程,因此请尝试 尽量避免使用它们,以防万一您想知道我为什么要提起这个问题。
我们正在使用EHP8的NW750。
欢呼
Baerbel
大家好。
我真的很喜欢这个问题。 我认为可以将其分为两个不同的部分:
几年前,为此目的,我使用了功能模块REUSE_ALV_FIELDCATALOG_MERGE,但是它有一些限制,即,必须使用LIKE而不是TYPE声明字段,并且源代码的所有行必须少于72个字符。
此函数在内部调用标准模块ABAP_SCAN_DATA_DESCRIPTION,该模块读取ABAP代码并对其进行解析以查找所有声明。 我试图编写一个受此功能启发的新方法,但还添加了一些新功能(例如标准功能不支持的长行和声明)。 我几年前写过一篇草稿,但仍然不确定它是否始终有效,现在我忘记了它是如何工作的,我想知道是否同时有一些新的标准功能,但是直到我什么都没找到。
顺便说一句...为什么我对这样的信息如此感兴趣? 因为如果您知道字段与其原点之间的对应关系,则可以进行一些动态编码,例如"智能"移动或为SELECT JOIN或任何其他类似的想法构建"智能"字段列表。
那么,还有其他人对此事有想法吗?
一周热门 更多>