OData中的增量模式

2020-09-26 10:50发布

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

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


你好

在"数据管理"集成指南中 https://help.sap.com/http.svc/rc/4d660f95f99b41a3a66283a7dff0e160/1702%20YMKT/zh-CN/loio339d4f548e6a5176e10000000a4450e5.pdf 提到可以使用IC_UPDATE_MODE将更新模式设置为"无" ,"完整"或"增量"。

但是我有一个印象,这仅适用于CSV和RFC。 OData中的属性名称是什么?

用例:我有一个用户在网站上填写了两次表单,一次使用电子邮件以及姓和名,一次只使用电子邮件。 第二次互动会使我从第一次互动中获得的名字和姓氏变成空白...

在csv上传中,您还可以在Interactions模板中为联系人数据添加所有这些其他字段,例如 名字,姓氏等。它们也在CUAND_CE_IA_RT中; 但是如何用OData填充这些内容? 在结构中,例如 FirstName在Interaction中不是有效的属性,仅在Contact ...中是有效的,并且没有增量模式,当我同时上传交互和联系人数据时,我遇到的问题是字段为空:

谢谢

Joyca

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

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


你好

在"数据管理"集成指南中 https://help.sap.com/http.svc/rc/4d660f95f99b41a3a66283a7dff0e160/1702%20YMKT/zh-CN/loio339d4f548e6a5176e10000000a4450e5.pdf 提到可以使用IC_UPDATE_MODE将更新模式设置为"无" ,"完整"或"增量"。

但是我有一个印象,这仅适用于CSV和RFC。 OData中的属性名称是什么?

用例:我有一个用户在网站上填写了两次表单,一次使用电子邮件以及姓和名,一次只使用电子邮件。 第二次互动会使我从第一次互动中获得的名字和姓氏变成空白...

在csv上传中,您还可以在Interactions模板中为联系人数据添加所有这些其他字段,例如 名字,姓氏等。它们也在CUAND_CE_IA_RT中; 但是如何用OData填充这些内容? 在结构中,例如 FirstName在Interaction中不是有效的属性,仅在Contact ...中是有效的,并且没有增量模式,当我同时上传交互和联系人数据时,我遇到的问题是字段为空:

谢谢

Joyca

付费偷看设置
发送
10条回答
clasier
1楼 · 2020-09-26 11:17.采纳回答

乔伊斯,你好

我们开了一张支持票,以澄清有关OData服务更新模式的困惑。 OData交互导入的更新模式为" C"。 请参阅以下来自SAP支持的答案:

尊敬的客户,

通过OData加载数据时,我们使用IC更新模式C。这意味着我们首先以更新模式N调用联系确定,但是如果客户不存在,我们将再次以D(增量)调用。 这将导致创建联系人(这就是为什么将其称为C)的原因。 如果要将更新模式始终设置为N(因为不想创建联系人),则可以使用BAdI CUAN_CE_IA_UPLOAD。 如果您没有真正使用检查,请不要使用该示例中包含的检查,因为它们会降低导入速度。

最诚挚的问候,

舒尔曼·舒尔夫

槿木_熙
2楼-- · 2020-09-26 10:59

您好,Akıl

有一个BAdI可以适应即将来临的交互,因此您可以根据IA_TYPE进行一些更改 互动方式的相关方法BAdI(由于我目前无法访问我们的Hybris DEV系统,目前无法提供确切的名称)。 但是,在这种BAdI方法中,对于交互而言,所有交互联系人详细信息都将为空,因为它们在交互OData服务中都是空的。

但是,我想我现在同意Stefan的观点。 意思是,除了源系统中的交互OData服务之外,我宁愿使用交互接触OData服务。

问候

南山jay
3楼-- · 2020-09-26 11:08

Joyce,

适合您的情况的方法是将首次呼叫的联系数据和交互数据上载到系统。

如果您可以确保在第二次呼叫中客户主数据已经存在于系统中,则在这种情况下不必再次上载客户主数据。 只需使用已知的客户ID和ID_ORIGIN上传互动。 系统会将互动链接到正确的联系人。

最好的问候

Maik

小灯塔
4楼-- · 2020-09-26 11:09

嗨乔伊斯,

我在下面回答了您的问题:

1--您无法通过OData调用本身中的属性来设置用于OData的更新模式,默认情况下始终为" C"

-完全是

2- C表示通过OData导入"联系人"数据时,系统首先检查是否已存在具有此ID和IDOrigin的联系人。 如果不是,则创建新的联系人。 但是,如果确实存在,那该怎么办?

-然后,系统仅导入交互作用,这意味着它的行为就像IC_UPDATE_MODE为N(无论如何都不更新联系人详细信息)

如果未找到联系人,则系统将创建一个新联系人,并使用传入交互的联系人数据填充字段。 但是这些字段不应为空,因为在这种情况下,系统的行为就像IC_UPDATE_MODE为D一样。

所以对于最后一种情况,我不知道怎么回事,因为OData服务如果找到具有相同IDOrigin和ID的联系人,就不要碰您的联系人,更不用说空字段覆盖现有联系人数据了

亲切的问候

一周热门 更多>