动态表作为参数-检查类型

2020-08-18 16:28发布

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

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


嗨,

我最近遇到了一个有趣的令人难以置信的问题。

假设,我们有一个方法作为参数之一具有表类型TABLE。

在运行时,可以以一种非常直接的方式检查传递给该方法的Table的类型。

 DATA(typedescr)= cl_abap_typedescr => describe_by_data(it_table)。
 DATA(outtype)= typedescr->绝对名称
 

因此,我们拥有it_table的绝对类型,这是很好的。

但是,我们如何检查输入表是否为f.ex类型。 lty_ztype。

 TYPES:BEGIN OF lty_ztype,
                     第一个TYPE CHAR12
         lty_ztype的类型结尾。

对于类和对象,我们有关键字IS INSTANCE OF。
如果我们有一种通用方法用于以特定方式处理不同的表类型,则可能会发生上述情况。

我们如何处理这种情况?

谢谢!

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

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


嗨,

我最近遇到了一个有趣的令人难以置信的问题。

假设,我们有一个方法作为参数之一具有表类型TABLE。

在运行时,可以以一种非常直接的方式检查传递给该方法的Table的类型。

 DATA(typedescr)= cl_abap_typedescr => describe_by_data(it_table)。
 DATA(outtype)= typedescr->绝对名称
 

因此,我们拥有it_table的绝对类型,这是很好的。

但是,我们如何检查输入表是否为f.ex类型。 lty_ztype。

 TYPES:BEGIN OF lty_ztype,
                     第一个TYPE CHAR12
         lty_ztype的类型结尾。

对于类和对象,我们有关键字IS INSTANCE OF。
如果我们有一种通用方法用于以特定方式处理不同的表类型,则可能会发生上述情况。

我们如何处理这种情况?

谢谢!

付费偷看设置
发送
3条回答
葫芦娃快救爷爷
1楼 · 2020-08-18 16:53.采纳回答

经过调试后,我找到了一种方法:

 DATA table_d类型引用到cl_abap_tabledescr。
         table_d?= CL_ABAP_TYPEDESCR => describe_by_data(it_user_list)。
         DATA(line_descr)= table_d-> get_table_line_type()。

 

它在ABSOLUTE_NAME(\ TYPE = ...)

软件心理学工程师
2楼-- · 2020-08-18 16:41

中,或者在方法GET_RELATIVE_NAME()中。

三十六小时_GS
3楼-- · 2020-08-18 17:01

目前不在系统上,但是 会不会像这样的工作?

创建数据line_of_table喜欢it_table的行。
 将table_of_table分配到FIELD-SYMBOL()。

 

但是我确实感觉有一种直接从DATA(typedescr)= cl_abap_typedescr => describe_by_data(it_table)

的方法。

一周热门 更多>