从BSEG更新ACDOCA上的字段

2020-08-23 23:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我正在一个项目中,在遗留...

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

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


嗨,

我正在一个项目中,在遗留系统的F-02交易中实现了退出。 该退出将一些自定义信息移至BSEG-SGTXT字段。

由于客户端将转移到新的S/4HANA系统,并且在系统配置中启用了文档拆分选项,因此在F-02上创建的所有具有不同成本中心的文档都是 在表中将 ACDOCA以及常规文件在BSEG上分成几份。

这是标准行为。

问题是,我们被要求在新系统上的旧系统中重复相同的过程。 在我们的测试中,来自BSEG的某些字段(例如BSEG-SGTXT)没有移到拆分后创建的新条目的ACDOCA(例如SGTXT)的相应字段。

我在网上找不到有关它的任何信息。 程序上没有退出点或增强点。 我想保留一个优雅的解决方案,而不必在标准上实施神秘的逻辑。

有人遇到过类似的问题吗? 还是有人知道这是否是配置问题,例如来自BSEG的所有数据也应复制到拆分的文档中?

谢谢

2条回答
Violet凡
2020-08-24 00:37

嗨,

我已经解决了这个问题。 对于那些感兴趣的人,解决方案如下:

1)我从类CL_FINS_ACDOC_POSTING_EVENTS中将业务逻辑添加到方法UPDATE_CLEARING_INFO的第一个增强点(代码开头)中。

2)为了操作ACDOCA寄存器,必须使用内部表CT_ACDOC_CLEARING(这是一个正在更改的参数)。 在此内部表中,您将找到所有拆分记录以及BSEG中的常规记录。

2.1)CT_ACDOC_CLEARING是您的ACDOCA表。 如果您在此处更改某些值,请记住,由于采用标准流程,某些字段最终可能会更改,而其他字段则不会更改。 我一直在寻找的是ACDOCA-SGTXT,幸运的是在接下来的步骤中没有更改。

2.2)增强点上的代码如下:

 METHOD update_clearing_info。
 """"""""""""""""""""""""""""""""""""""""""""""""""""""  """""""""""""""""""""""
 * $ * $-开始:(1)----------------------------------------  ----------------
 增强功能1 ZZABC123。  "活动版本
 *数据声明...

 *在内部表循环:
   循环至ct_acdoc_clearing ASSINGING FIELD_SYMBOL()。

 *这里的业务逻辑...

 *数据处理示例:
     将"测试"移动到 -sgtxt。

   结局。

 增强。
 * $ * $-结束:(1)----------------------------------------  ------------------ 

3)例如,在拆分文档后,在F-02上调用此方法。 与同一类的" POST"方法相比,此代码更适合增强代码,因为在POST方法上,开头有一个CLEAR ACDOC_ITAB [],它将清除您之前所做的所有逻辑。 在此过程之后,INSERT已经完成。 因此,您将失去操纵ACDOCA寄存器的机会。

4)在〜POST方法的中间调用方法UPDATE_CLEARING_INFO。

一周热门 更多>