更改合同时,CHANGEED事件的事件类型BUS2012不正确

2020-08-22 06:59发布

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

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


我假设BUS2012 CHANGED的SWEC条目是SAP标准条目。

如果是这种情况,我认为这很奇怪,甚至是错误的,那么是否为更改的合同创建了BUS2012 CHANGED事件?



我偶然发现了这一点,因为其中一名测试人员做得非常出色,除了创建采购订单文件外,还创建了合同文件。 当研究事件日志时,我发现是为由BUS2014对象表示的文档创建了BUS2012事件。

我创建了一个小的函数模块来设置对象类型,但是不应该为BUS2012执行此操作 还会在SWEC中更改条目吗?

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

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


我假设BUS2012 CHANGED的SWEC条目是SAP标准条目。

如果是这种情况,我认为这很奇怪,甚至是错误的,那么是否为更改的合同创建了BUS2012 CHANGED事件?



我偶然发现了这一点,因为其中一名测试人员做得非常出色,除了创建采购订单文件外,还创建了合同文件。 当研究事件日志时,我发现是为由BUS2014对象表示的文档创建了BUS2012事件。

我创建了一个小的函数模块来设置对象类型,但是不应该为BUS2012执行此操作 还会在SWEC中更改条目吗?

付费偷看设置
发送
11条回答
小灯塔
1楼 · 2020-08-22 07:49.采纳回答

随时可以重复使用。

  
  1. 功能zmm_swec_einkbeleg_objtype。
  2. *" ------------------------------------------------- -------------------------
  3. *" *"本地接口:
  4. *"导入
  5. *" VALUE(CHANGEDOCUMENT_HEADER)类型CDHDR可选
  6. *"表格
  7. *" CHANGEDOCUMENT_POSITION结构CDPOS可选
  8. *"更改
  9. *" VALUE(OBJECTTYPE)TYPE SIBFOTYPE
  10. *" ------------------------------------------------- -------------------------
  11. *为EINKBELEG的SWEC条目确定正确的对象类型
  12. *模板:SWE_CD_TEMPLATE_OBJTYPE_FB_2
  13. * ---------------------------------------------- ---------------------- *
  14. * 2012-12-05 EX_KKILHAVN(蓝色咨询公司的Kjetil Kilhavn)
  15. *域中用于文档类别和标准BOR对象类型的硬编码值。
  16. * ---------------------------------------------- ---------------------- *
  17. 数据:l_document_number类型ekko-ebeln,
  18. l_document_category TYPE ekko-bstyp。
  19. 检查changedocument_header-objectclas ='EINKBELEG'。
  20. l_document_number = changedocument_header-objectid。
  21. 选择单个bstyp
  22. INTO l_document_category
  23. 来自ekko
  24. 其中ebeln = l_document_number。
  25. 检查sy-subrc =0。
  26. objecttype-catid ='NN'。
  27. 案例l_document_category。
  28. 当" A"时。 "报价请求
  29. objecttype-catid ='BO'。
  30. objecttype-typeid ='BUS2010'。
  31. 当" F"时。 "购买订单
  32. objecttype-catid ='BO'。
  33. objecttype-typeid ='BUS2012'。
  34. 当" K"时。 "合同
  35. objecttype-catid ='BO'。
  36. objecttype-typeid ='BUS2014'。
  37. 当" L"时。 "计划协议
  38. objecttype-catid ='BO'。
  39. objecttype-typeid ='BUS2013'。
  40. 其他情况。
  41. CLEAR对象类型。
  42. 结束。
  43. ENDFUNCTION。
打个大熊猫
2楼-- · 2020-08-22 07:53

Jacelyn,您好

我们遇到了同样的问题。 我们在BUS2012的事件链接中放置了检查功能模块。 在检查的功能模块中,我们正在检查EKKO-BSTYP,并因此触发了工作流程。

感谢您的宝贵意见。

致谢

易卜拉欣

CJones
3楼-- · 2020-08-22 07:37

您好Kjetil,

请记住,SWEC正在处理变更文档。 如果查看"采购合同",您会发现它们是使用与"采购订单"相同的表和相同的更改文档创建的。 换句话说,采购合同在技术上只是采购订单的特例。

从技术上讲,它们在功能上是不同的,但从技术上讲,它们是完全相同的。

因此,如果您希望将BUS2014事件分别引发为BUS2012事件,则需要在SWEC配置条目上添加条件或字段选择(或功能模块限制),以便基于正确的事件 在字段BSTYP(采购文档类别)上。

对于这些是SAP交付的条目,我不会太珍贵-毕竟它们只是示例配置。

享受!

clasier
4楼-- · 2020-08-22 07:44

我知道您可以在SWEC中创建条目。 请参阅我对Jocelyn Dart的答复,以了解该解决方案-该解决方案也可以/也应该应用于SAP标准(示例)配置。

樱桃小丸子0093
5楼-- · 2020-08-22 07:38

您可以在SWEC中创建条目。 您是否检查过是否有条件触发? 另外,可能是其他人创建了该条目吗?

SAP小菜
6楼-- · 2020-08-22 07:50

ME31K来创建合同(概述协议)-但我将其留给那些知道哪些值有意义的人来解决。 我只是在现有合同上使用ME32K进行更改,或使用ME35K进行发布。

是的,检查功能可以纠正问题,但是如果我希望工作流使用已更改的合同(很可能在工作流启动条件中具有某些条件),则我不希望在更改采购订单时触发该事件。 请参阅我对Jocelyn的答复以获取解决方案。 随意借用代码,只需确保在完成使用后将其退还给我们????

版本为701-但由于在使用功能模块确定对象类型时对象类型字段必须为空(如果该字段不为空,则不会调用功能模块),我很确定 自从我使用的第一个版本3.1H以来就没有更改。

嗨,Kjetil,

在我们的系统中,BUS2012带有Created和Changed事件。 而且我没有对该对象做任何事情。 我不知道如何创建合同(如果可以的话),因此我什至无法复制您所描述的内容。 当然,检查或接收器功能可以纠正问题,但事实是,一开始它似乎是错误的。

您正在发行什么版本?

BR,
Sue

一周热门 更多>