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 11:08

感谢哈坎,

稍后我将在系统中再次进行测试。

但是为了检查我理解得对:

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

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

因为几个月前在我的第一次测试中,我的第二次呼叫似乎用空格覆盖了我的联系人的名字和姓氏……或者我可能没有正确编写OData示例有效负载; 我想我在第一个电话中写了" FirstName":" Tina",在第二个电话中写了" FirstName":"",而不是一起删除FirstName节点。 那可能就是我空白的原因...

无论如何已经感谢您分享这些有用的信息!

K

Joyca

SAP砖家
3楼-- · 2020-09-26 11:13

嗨,Joyca,

w使用用于导入交互的OData,无法更改联系人数据。 为此,您必须使用数据导入功能或OData来导入联系人。

最好的问候

Stefan

compass1988
4楼-- · 2020-09-26 11:00

我并不是说您不能一起上传IA和IC数据,我只是说您不应该这样做,以避免刚才描述的问题。 如果您参考已存在的IC上载IA,则会将该IA相应地分配给该IC。 但是,如果不存在联系,则会创建一个新的联系,以将IA链接到将来可能指向相关联系人的相关IA。

在加载交互时,是否确定已在您的情况下应用了Delta模式,并且可以检查两个交互是否指向相同的交互联系人(相同的GUID)?

昵称总是被占用
5楼-- · 2020-09-26 11:22

您好,史蒂芬,

感谢您的回答,但我不确定我是否理解。

情况是:有人在我的网站上填写了多个申请表(没有登录用户帐户); 因此,这是联系数据(他填写的字段)和交互数据(他需要小册子或产品或约会之类的事实)的组合。

因此,我的odata类似于:

"互动":

-IA_TYPE:SALES_ORDER

-联系人ID来源:网站

-联系人ID:123456789(某些跟踪代码)

-时间戳记:22/06/2017 12h00

...

"联系人"

-名字:John

-姓:Doe

-电子邮件: john.doe@gmail.com

-IDOrigin:网站

-ID:123456789

-...

然后几分钟后,他填写了另一个表格,但没有填写那么多字段。 像这样的东西:

"互动":

-IA_TYPE:APPOINTMENT

-联系人ID来源:网站

-联系人ID:123456789(某些跟踪代码,仍与同一会话中的跟踪代码相同)

-时间戳记:22/06/2017 13h00

...

"联系人"

-名字:(留空)

-姓氏:(留空)

-电子邮件:(留空)

-IDOrigin:网站

-ID:123456789

然后由于第二次加载; 我原来的名字,姓氏等已被完全删除!

或者在这种情况下,有没有更好的方法来填充id的起源和id?

谢谢

Joyca

吹牛啤
6楼-- · 2020-09-26 11:18

不必为了填充IA负载而从IC表中读取联系人详细信息。 这样做有什么好处?

clever101
7楼-- · 2020-09-26 11:13

嗨乔伊斯,

在您引用的同一文档中,最后有一个标题为14的标题。 在页117上,您可以看到字段IC_UPDATE_MODE的OData属性为空。 此外,关于交互联系数据的那些字段都为空。

我想这意味着,您无法像Stefan所指出的那样,使用交互OData服务使用入站交互更新交互联系数据。

我希望这对您有帮助

最好的问候

一周热门 更多>