BADI Impl。 来自ME_PROCESS_PO_CUST的方法= PROCESS_ITEM-用于触发Web服务

2020-09-11 02:50发布

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

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


嗨,

我使用上面的BADI触发网络服务出站,以将PO数据发送到第三方系统。

我需要在WSDL中发送项目行的工单号,并且已经在上述方法中添加了此代码,以便读取项目行的会计数据:

在im_item-> get_accountings()处分配字段符号()。
如果sy-subrc = 0。 。
**需要检查。.
ENDIF。
ENDIF。
ENDLOOP。

但是,我需要在Web服务的方法中使用AUFNR字段,因为我将其写入WSDL。 我在PROCESS_ITEM中读取了数据,但在另一种方法中需要数据。

如何将这些数据提供给我的方法?

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

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


嗨,

我使用上面的BADI触发网络服务出站,以将PO数据发送到第三方系统。

我需要在WSDL中发送项目行的工单号,并且已经在上述方法中添加了此代码,以便读取项目行的会计数据:

在im_item-> get_accountings()处分配字段符号()。
如果sy-subrc = 0。 。
**需要检查。.
ENDIF。
ENDIF。
ENDLOOP。

但是,我需要在Web服务的方法中使用AUFNR字段,因为我将其写入WSDL。 我在PROCESS_ITEM中读取了数据,但在另一种方法中需要数据。

如何将这些数据提供给我的方法?

付费偷看设置
发送
6条回答
SAP砖家
1楼 · 2020-09-11 03:19.采纳回答

" Web服务中的方法"是指在代理中生成的操作,还是仅是另一个实际构建并发送请求有效负载的对象?

我认为在这种情况下,一种好的方法是使用单例类。 在badi的POST方法中,生成单例的实例(如果需要),然后在该实例中设置所需的数据。

然后在您遵循的方法中检索具有相应属性的实例,以根据需要使用它们。

四川大学会员
2楼-- · 2020-09-11 03:02

边注

在Im_item-> get_accountings()处分配LOSIGN  FIELD-SYMBOL()。
如果IF sy-subrc = 0。

您不需要IF:您在循环内,并且确实找到了记录:)
< br>

compass1988
3楼-- · 2020-09-11 03:06

在将PO保存到数据库中时您是否正在使用Web服务,而不是每次用户在更改项目时按Enter键?

在这种情况下, 您的代码是从POST方法触发的,那里有最终数据,并且从收到的im_header参数中,您可以使用get_items方法获取项目列表,然后从get_accountings方法获取会计科目中的订单列表。

大道至简
4楼-- · 2020-09-11 03:11

是的,当用户按下SAVE时会发生消耗。 但是,在编写代码时,将代码放在POST中听起来更正确,但是我需要在实际生成XML的Web服务方法中对数据进行验证?

歪着头看世界
5楼-- · 2020-09-11 03:09

谢谢,但仍然 ;

lukcy2020
6楼-- · 2020-09-11 03:22

感谢尼克,

在我的方法中,如何使用字段符号中的数据?

我创建了具有一个属性的单例类,现在可以在需要的地方读取AUFNR字段。

问候,彼得

一周热门 更多>