从动态结构获取字段名称

2020-08-22 03:23发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个动态表的动态结构。 我想...

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

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


我有一个动态表的动态结构。 我想循环遍历表,并检查结构中是否存在字段名称" ABC"。 如果存在,则根据字段的值,我将更改结构中另一个字段的值。

例如,如果字段struct-fieldname ='ABC'和字段值='S',则我将字段XYZ(struct-xyz)显示为正,否则显示为负。 是否可以通过字段符号使用动态结构和动态表来实现? 谢谢

5条回答
SAP小菜
2020-08-22 03:58

嗨,

您可以尝试


 数据:tb_struct类型参考cl_abap_structdescr,
       tb_comp TYPE abap_component_tab。

 *填充wa_pc_model_data2的字段
   tb_struct?=
   cl_abap_typedescr => describe_by_data(wa_pc_model_data2)。

   循环tb_struct-> components ASSIGNING 。
     wf_var1 = -名称。

     使用wf_var1执行fill_fields
                                   wa_pc_model_data2
                          更改wf_update_coc。
     清除:wf_var1。
   结局。

   清除tb_struct。
   UNASSIGN:
 使用pf_wf_var1填写fill_fields
                           pf_wa_pc_data_field
                  更改pf_wf_update_coc。

 **将结构的组件分配给字段符号
   分配组件pf_wf_var1
     结构pf_wa_pc_data_field至。
   如果sy-subrc = 0。

     分配组件pf_wf_var1
       wa_coc_tech TO 的结构。
     如果sy-subrc = 0。

 **检查IDOC数据是否已填写
 **还要检查IDOC和数据库表数据是否相同
       如果不是为INITIAL,并且" IDOC数据
           NE 。  " IDOC数据NE数据库表数据
          = 。  "从IDOC字段更新数据库字段
         pf_wf_update_coc ='X'。  "设置标志
       万一。
     万一。
   万一。

 ENDFORM。  " fill_fields

 

一周热门 更多>