更新业务合作伙伴地址

2020-08-13 21:55发布

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

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


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

我需要做什么:

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

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

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

我尝试过的事情:

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

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

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

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

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

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

有没有办法做到这一点?

先谢谢了。

         点击此处--->   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
1楼 · 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。

葫芦娃快救爷爷
2楼-- · 2020-08-13 22:44

非常感谢Thiago。

它就像一种魅力。

我能够在BusinessPartner对象的根节点的BeforeSave事件中放置相同的代码

亲切的问候!

小灯塔
3楼-- · 2020-08-13 22:37

赫克托,

肯定发件人地址和发件人地址来自相关各方,因此始终有效吗? 如果要更改地址,则可能应该只更新各个业务伙伴/客户/合作伙伴,而不要尝试在订单本身中设置地址。

刘易斯

clasier
4楼-- · 2020-08-13 22:41

谢谢刘易斯的回应。

我们假定外部生物具有所有有效地址。

我也尝试过更新业务合作伙伴级别的地址,但是效果不佳。 虽然我可以修改这些值,但是通过代码ABSL执行的更新不会保存!

例如,如果我将"更改地址"代码放在BusinessPartner地址的BeforeSave事件中。 地址已更新,但是,当我检索BP时,我的更改不在那里。

一周热门 更多>