使用字段符号创建动态范围表

2020-09-10 08:49发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好团队, 我正在寻找如何在运...

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

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


你好团队,

我正在寻找如何在运行时使用字段符号创建动态范围表的方法。

假设我有一个表GT_SELECT,其中包含所有字段名称符号 < strong> option。我的要求是我必须遍历GT_SELECT表并为每个唯一字段名称形成动态范围表。

如果有人对此有任何想法,请提出建议。

谢谢

RP

5条回答
四川大学会员
2020-09-10 09:39
马修你好,

谢谢您的回答。我还尝试了上述要求的逻辑。我想我是通过这种方式实现的。

请提出必要的评论。

 TYPE-POOLS:abap。
 数据:

   gr_structdescr类型参考cl_abap_structdescr,

   gr_tabledescr类型参考cl_abap_tabledescr,

   gr_datadescr类型参考cl_abap_datadescr,

   gr_typedescr类型参考cl_abap_typedescr,

   gt_components TYPE abap_component_tab,

   gw_component abap_component_tab的类型行,

   gr_wa TYPE REF TO数据,

   gr_tab TYPE REF TO数据。

 FIELD-SYMBOLS: TYPE任意,

                 TYPE任意。

 FIELD-SYMBOLS: TYPE表,

                 TYPE表,

                 TYPE表,

                 TYPE表。

 循环至gt_select INTO wa_select。
 *确定结构的组件-> GT_COMPONENTS

   移动"签名"到gw_component-name。

   gw_component-type?= cl_abap_elemdescr => get_c(p_length = 1)。

   将gw_component插入表gt_components中。
   将"选项"移动到gw_component-name。
   gw_component-type?= cl_abap_elemdescr => get_c(p_length = 2)。

   将gw_component插入表gt_components中。

  将" LOW"移到gw_component-name。

   gw_component-type?= cl_abap_elemdescr => describe_by_name(wa_select-fieldnm)。

   将gw_component插入表gt_components中。

   移动"高"到gw_component-name。

   gw_component-type?= cl_abap_elemdescr => describe_by_name(wa_select-fieldnm)。

   将gw_component插入表gt_components中。

 *获取结构描述符-> GR_STRUCTDESCR

   gr_structdescr?= cl_abap_structdescr => create(gt_components)。

 *创建结构为GR_STRUCTDESCR-> GR_WA的工作区

   创建数据gr_wa类型句柄gr_structdescr。

   ASSIGN gr_wa-> *至。

 *将值移动到字段符号工作区

 移动对应的wa_select到。

   gr_datadescr?= gr_structdescr。

   gr_tabledescr?= cl_abap_tabledescr => create(gr_datadescr)。

 *为每个范围创建动态内部表

   创建数据gr_tab类型句柄gr_tabledescr。

   ASSIGN gr_tab-> *至。

     ASSIGN gr_tab-> *至。

       ASSIGN gr_tab-> *至。

         ASSIGN gr_tab-> *至。

 案例wa_select-fieldnm。

   当" field1"。

   将附加到。

   当" field2"。

  将附加到。

 *-

 *-

 *-

 * *像他在多个领域中一样。

  结束。

 刷新:gt_components。

 UNASSIGN:。
   结局。

 

再次感谢

RP

一周热门 更多>