使用Web服务通过ABSL删除FulfillmentBlockingReasonCode

2020-09-08 13:29发布

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

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


您好,专家

我们当前正在使用标准的Web服务ManageSalesOrderIn来修改现有销售订单中的某些字段。 特别是,我们需要将FulfillmentBlockingReasonCode(交货块)和InvoiceBlockingReasonCode(发票块)的值更改为EMPTY。

因此,例如,如果SO中的"传递块"设置为"信用额度",则在通过ABSL发送Web服务请求之后,该请求必须为空白/空。

我们已经尝试了几种通过Web服务实现此目标的方法(包括使用各种操作代码以及空白字符串),但是到目前为止,没有一种方法可行。 据我们所知,ABSL中没有VOID值。 但是,使用第三方应用程序(如SoapUI)运行Web服务并将阻止代码保留为空白(例如,发送XML )会成功(修改后的销售订单中的字段变为空)。 不幸的是,在这种情况下,使用第三方应用程序是不可能的,但是,它确实证明了Web服务本身能够做到这一点,只需通过ABSL代码/事件/操作即可完成。

我们在"附件"文件夹中提供了一些屏幕截图,进一步突出了我们希望实现的目标。

感谢您的帮助,

François-Xavier

(49.5 kB)

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

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


您好,专家

我们当前正在使用标准的Web服务ManageSalesOrderIn来修改现有销售订单中的某些字段。 特别是,我们需要将FulfillmentBlockingReasonCode(交货块)和InvoiceBlockingReasonCode(发票块)的值更改为EMPTY。

因此,例如,如果SO中的"传递块"设置为"信用额度",则在通过ABSL发送Web服务请求之后,该请求必须为空白/空。

我们已经尝试了几种通过Web服务实现此目标的方法(包括使用各种操作代码以及空白字符串),但是到目前为止,没有一种方法可行。 据我们所知,ABSL中没有VOID值。 但是,使用第三方应用程序(如SoapUI)运行Web服务并将阻止代码保留为空白(例如,发送XML )会成功(修改后的销售订单中的字段变为空)。 不幸的是,在这种情况下,使用第三方应用程序是不可能的,但是,它确实证明了Web服务本身能够做到这一点,只需通过ABSL代码/事件/操作即可完成。

我们在"附件"文件夹中提供了一些屏幕截图,进一步突出了我们希望实现的目标。

感谢您的帮助,

François-Xavier

(49.5 kB)
付费偷看设置
发送
4条回答
蓋茨
1楼 · 2020-09-08 14:12.采纳回答

嗨,

我找到了这个话题:

https://answers.sap.com/questions/11996748/how-to-send-empty-tags-via-soap-webservice-from-by.html

May的答案是变通办法1,但是还有第二种变通办法,就是通过重载WSDL来实现,这也很好。

感谢您的回答!

干杯

FX

愤怒的猪头君
2楼-- · 2020-09-08 14:12

嗨Praveen,

感谢您的回复!

我们已经测试过,但尚未使用clear()函数进行管理。 您有工作样本吗?

谢谢

FX

四川大学会员
3楼-- · 2020-09-08 13:48

您好François-Xavier

您可以尝试使用清除功能,看看是否可行。

例如 :subrequest.FullfillmentBlockingReasonCode.Clear();

致谢

Praveen

My梦
4楼-- · 2020-09-08 14:07

您好,François-Xavier,

您一定要在absl中调用Web服务吗?

我的意思是说它是否仅在Sales中 订购xbo after-modify事件,它确实具有明确的动作。

例如:this.FulfillmentBlockingReasonCode.Clear();

所以,我想建议另一个解决方法,包括Web服务。

在当前的SalesOrder Web服务更新调用absl中,不要直接将空白值设置为FulfillmentBlockingReasonCode。

使用一个扩展字段并将该值更新为" true"或类似的内容。

然后在Sales Order xbo after-modify事件中,如果扩展名等于" true",则触发此代码。

this.FulfillmentBlockingReasonCode.Clear();

注意 ,

可能

一周热门 更多>