在EventHandler中升级BO实例

2020-09-07 09:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个嵌入式组件,需要向上插入...

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

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


我有一个嵌入式组件,需要向上插入BO实例-如果给定的备用键存在,则BO值将被更新,如果没有,则创建一个新实例。 EC处于隐藏状态-仅接收数据,无需用户输入即可执行upsert。

我已经创建了如下所示的EventHandler,执行以下步骤:

1。 ReadOrCreate BO操作使用BO的备用键来获取/创建实例
2。 一组数据操作,这些操作将映射到EC Inport的字段分配给BO
3根上的DataField。 最后,执行窗口操作以保存实例

对于create来说,这非常有效,但是,当它获取现有记录以进行更新时,只有一个字段会被更新-ActivityUUID。 其他所有字段均保持以前的值。 我不知道为什么!

以下是设置的屏幕截图:

数据模型:

ReadOrCreate操作:

(分配给ActivityUUID的)分配可以很好地用于创建或更新!

但是,所有其他(例如下面的ANI)仅适用于创建:

有人对我可能会出错的地方有任何想法吗?

谢谢,
西蒙(Simon)

(16.9 kB)
7条回答
Bunny_CDM
2020-09-07 09:39

嗨,安德鲁·布兰克利

感谢您的回复-以下是更多背景信息:

我正在使用存储电话数据的自定义BO(CTI_Data),其工作方式如下:

1。 通过标准的C4C现场活动中心打进电话。 我为此添加了一个EC,用于从活动中心的公共出口接收数据。 EC链接到自定义CTI_Data BO

2。 来电始终具有票证ID,无论是新的还是现有的(例如,呼叫转移或呼叫者已在电话中键入其现有票证ID)

3。 CTI_Data BO具有票证ID作为备用密钥。 如果有新的票证通过,我们只需创建一个新记录并在其中存储所有电话数据。 如果通话中存在现有票证,我们想用该票证的新电话数据替换所有旧电话数据。

4。 因此,我的EC EventHandler应该执行以下操作:
-使用TicketID进行ReadOrCreate从CTI_Data BO中获取现有的TicketID记录(如果存在),或者如果不存在则使用该TicketID创建新记录
-然后将字段映射到EC入口 并在绑定到CTI_Data BO的字段上分配它们

如上所述,creates可以正常工作,但更新仅更新ActivityUUID!

将添加一些属性的屏幕截图

谢谢

Simon

一周热门 更多>