标识是通过IDOC还是通过交易创建PO

2020-08-22 10:30发布

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

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


大家好,

我目前正在使用BADI ME_PROCESS_PO_CUST方法PROCESS_ITEM。

我应该仅在通过交易创建PO而不是由IDOC创建PO时应用处理方法。

也许有人知道如何找到答案?

感谢您的帮助

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

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


大家好,

我目前正在使用BADI ME_PROCESS_PO_CUST方法PROCESS_ITEM。

我应该仅在通过交易创建PO而不是由IDOC创建PO时应用处理方法。

也许有人知道如何找到答案?

感谢您的帮助

付费偷看设置
发送
12条回答
四川大学会员
1楼 · 2020-08-22 10:40.采纳回答

我怀疑读取IDoc表会有所帮助-您将如何识别要读取的IDoc? 状态仅在创建后才用PO#更新,在创建过程中没有可靠的链接。

如Ravi所建议的那样,用户ID是一个简单的选择(您可能希望避免硬编码并将其存储在 而是一些表,因为它可能会更改)。 另一个解决方案是使用IDoc用户出口设置一些值(在PO字段或在内存等中),以表明它来自IDoc。 您还可以在调试器中研究全局变量,以查看使用IDoc时它们是否有不同的值。 例如。 在销售订单处理中,有一个用于标记BAPI创建订单的标记。

亦是此间程序员
2楼-- · 2020-08-22 10:53

大家好,

感谢您的回答。
我尝试了EKKO-STATU,但遗憾的是没有成功。 它甚至没有告诉我我正在使用bapi。

我最终选择通过用户退出和BADI的使用来导入/导出内存。

ZJXianG
3楼-- · 2020-08-22 10:38

然后我将读取IDOC表,并查看其中是否存在此PO。 如果确实如此,那么它是由IDOC创建的,而显然不是通过其他方式创建的。

您可以查看的表是:

EDIDC控制记录

EDID4-数据记录

EDIDS-具有状态记录

希望这会有所帮助。 ????

奄奄一息的小鱼
4楼-- · 2020-08-22 11:05

你好克里斯托弗,

idocs是由批处理用户ID处理的(大多数情况下)。 我建议您选择用户ID,然后检查用户类型。如果用户类型是批处理或服务,那么它会确认它不是在前台创建的。

但是,可以使用BD87在Windows XP中重新报告错误idoc。

谢谢

樱桃小丸子0093
5楼-- · 2020-08-22 10:43

谢谢,这很有帮助????

四川大学会员
6楼-- · 2020-08-22 10:51

除了系统用户名或Sy-batch之外,还有其他方法可以识别吗?

我在PO BADI中有一些逻辑,想确定是否由IDOC触发。 如果我使用系统用户名或批处理名称,则在从BD87进行手动idoc处理期间此检查将失败

一周热门 更多>