类型描述表类型,使用cl_abap_typedescr

2020-09-14 15:57发布

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

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


大家好,

我试图创建一个动态表。 因此,我使用cl_abap_typedescr => describe_by_data()定义字段类别。

但是我对表类型有疑问。

我的资源内部表在列(lvc_t_styl)中包含表类型。

当我使用cl_abap_typedescr => describe_by_data()时,表类型将变为char类型。

这将是我下一步的彻底转储。

有解决方案吗?

这是我的代码。 谢谢。

 TYPES:BEGIN OF ty_result_node,
          DOC TYPE yrfq_doc,
          TYPE numc05,
          sub_item TYPE numc04,
          celltab TYPE lvc_t_styl。
        结束于ty_result_node。
 ty_result_node的数据lt_result类型标准表。
 数据ls_result与lt_result类似。

 数据:l_tabledescr_ref类型参考cl_abap_tabledescr,
 l_descr_ref类型参考cl_abap_structdescr,
 wa_abap_com类型abap_compdescr。

 数据:lt_fieldcat类型lvc_t_fcat,
 ls_fieldcat TYPE lvc_s_fcat。

 l_tabledescr_ref?= cl_abap_typedescr => describe_by_data(lt_result)。
 l_descr_ref?= l_tabledescr_ref-> get_table_line_type()。

 环回l_descr_ref->组件INTO wa_abap_com。
   ls_fieldcat-fieldname = wa_abap_com-name。
   ls_fieldcat-outputlen = wa_abap_com-length。
   附加ls_fieldcat至lt_fieldcat。
 结局。
 

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

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


大家好,

我试图创建一个动态表。 因此,我使用cl_abap_typedescr => describe_by_data()定义字段类别。

但是我对表类型有疑问。

我的资源内部表在列(lvc_t_styl)中包含表类型。

当我使用cl_abap_typedescr => describe_by_data()时,表类型将变为char类型。

这将是我下一步的彻底转储。

有解决方案吗?

这是我的代码。 谢谢。

 TYPES:BEGIN OF ty_result_node,
          DOC TYPE yrfq_doc,
          TYPE numc05,
          sub_item TYPE numc04,
          celltab TYPE lvc_t_styl。
        结束于ty_result_node。
 ty_result_node的数据lt_result类型标准表。
 数据ls_result与lt_result类似。

 数据:l_tabledescr_ref类型参考cl_abap_tabledescr,
 l_descr_ref类型参考cl_abap_structdescr,
 wa_abap_com类型abap_compdescr。

 数据:lt_fieldcat类型lvc_t_fcat,
 ls_fieldcat TYPE lvc_s_fcat。

 l_tabledescr_ref?= cl_abap_typedescr => describe_by_data(lt_result)。
 l_descr_ref?= l_tabledescr_ref-> get_table_line_type()。

 环回l_descr_ref->组件INTO wa_abap_com。
   ls_fieldcat-fieldname = wa_abap_com-name。
   ls_fieldcat-outputlen = wa_abap_com-length。
   附加ls_fieldcat至lt_fieldcat。
 结局。
 

付费偷看设置
发送
8条回答
南山jay
1楼-- · 2020-09-14 16:27

" 下一步将是彻底的转储。"->问题出在下一步。

如果您查看wa_abap_com-type_kind,它应该告诉您celltab是一个表。 您必须在下一步中适当地处理此问题。

d56caomao
2楼-- · 2020-09-14 16:31

嗨,马修,谢谢您的帮助。

nice_wp
3楼-- · 2020-09-14 16:37

正如我所说,问题出在下一步。 现在,您已经解释了什么:

我的下一步是在alv中使字段符号可编辑。
问题是" celltab"列是原始表类型。 它会更改字段符号中的类型。
因此,我无法将其设置为可编辑。

celltab列是样式信息。 它不是您的数据的一部分,因此不应显示。 因此,请跳过"使可编辑"部分中的该字段。

哎,真难
4楼-- · 2020-09-14 16:31

下一步是什么? (字段目录的用法)

DafaDDDa
5楼-- · 2020-09-14 16:41

我以前看到有人问过类似的问题。 https://archive.sap.com/discussions/thread/3359389

但是关于如何将内部表类型字段追加到lvc_t_fcat表中,仍然没有答案。

d56caomao
6楼-- · 2020-09-14 16:42

嗨,托马斯,我的下一步是使字段符号在alv中可编辑。

问题是" celltab"列是原始表类型。 它将在字段符号中更改其类型。

所以,我无法将其设为可编辑状态。

一周热门 更多>