更新业务合作伙伴地址

2020-08-13 21:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我在更新文档地址时遇到问题。 ...

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

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


我在更新文档地址时遇到问题。

我需要做什么:

我需要确保在生成单据(例如销售订单,客户发票,客户发票申请)时,对发件人-收件地址进行验证。 验证过程返回一个有效地址,我的计划是在运行时修复无效地址,以保存正确的地址。

我知道AddressSnapshot对象一旦保存便是只读的,所以我的计划是在保存AddressSnapshot之前进行此更改。 但是,尽管ABSL允许我更新"地址"字段。 更改永远不会保存!!!

具体来说,我需要能够更改诸如邮政编码/地区/城市名称的值。

我尝试过的事情:

我尝试将代码放入扩展对象AddressSnapshot的所有事件中

  • 节点根:AfterModify,BeforeSave
  • 节点邮政地址:AfterModify,BeforeSave
  • 节点格式的地址:AfterModify,BeforeSave

我还尝试将代码放置在扩展对象业务合作伙伴的BeforeSave事件中。

在所有情况下,正如我之前提到的,即使我能够在保存对象之前修改值。 如果我查看实际保存的对象,就看不到所做的更改(我看到的是旧值)。

我还尝试对使用该地址的文档的OnSave事件进行验证,并且看到一条消息,指出AddressSnapshot已保存。 我了解这一点,但是,至少有什么方法可以生成一个新的AddressSnapshot吗?

我的最终测试包括一个放置在自定义对象动作中的过程。 我检索了整个业务合作伙伴,然后验证了地址,但是同样,我无法保存所做的更改。

有没有办法做到这一点?

先谢谢了。

4条回答
DafaDDDa
2020-08-13 22:32 .采纳回答

Hello Hector,

我设法使用下面的代码在 AP.CRM.Global:SalesOrder

的 before.save 上更新了BP地址。
 this.BillToParty.Party.BusinessPartner.AddressInformation.Address.DefaultPostalAddressRepresentation.GetFirst()。CityName =" Hector"; 

请注意,这是一个快速测试,我得到的第一条记录只是为了向您展示如何到达那里。

我添加了新的SO,并更新了BP的地址:

但是,SO快照仍然保留了旧的地址信息-您现在可以考虑如何使用更新的地址来更新最近创建的SO。

HTH,
Thiago。

一周热门 更多>