SAP CPI-SFSF Odata就业错误

2020-08-30 00:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们正在使用SCPI集成...

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

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


嗨,

我们正在使用SCPI集成器在Web门户和SFSF之间进行集成。 在SCPI中,我们公开了具有不同操作的WS。 在不同的操作中,我们发布一个以注册合同(不知道结束日期),因此我们总是将结束日期发送到将来(2999-12-31T00:00:00.00Z),而我们使用WS的另一种操作 这样他们就可以在知道结束日期后发送结束日期。

我详细解释了发生的错误的示例:

-首先,我们将这些数据发送到portlet EmpEmployment:
-雇用日期(与合同开始时相对应),例如 2019年9月5日
-终止日期将在SFSF中自动更新(我们不从SCPI发送此值),将portlet WorkOrder的合同结束日期作为值。
-其次,我们将该数据发送至 WorkOrder portlet:
-合同开始日期(发送到WS的日期),例如 2019年9月5日
-合同终止日期(我们默认发送31-12-2999)

此操作后,将为这些portlet保留这些值
EmpEmployment
合同日期-> 09-05-2019
结束日期-> 31-12-2999
WorkOrder
开始日期-> 2019年9月5日
结束日期-> 31-12-2999

下一个用于定义合同终止日期的WS操作将遵循以下步骤。

我们使用其发送到WS的终止日期的值来更新WorkOrder portlet,例如:
EmpEmployment
合同日期-> 09-05-2019
终止日期-> 31 -12-2999
WorkOrder
开始日期-> 09-05-2019
结束日期-> 13-05-2019

仅在此集成之后,SFSF便会自动更新EmpEmployment portlet的endDate字段,并且数据将保持不变(使用上一步中发送的WorkOrder portlet的结束日期值更新该字段):

就业机会
雇用日期-> 09-05-2019
结束日期-> 13-05-2019
工作单
开始日期-> 09-05-2019
>结束日期-> 13-05-2019

在下一步中,如果他们发送新合同的注册,则会发生以下情况:
-我们将数据发送到portlet EmpEmployment:
-新合同日期
-终止日期(将
-我们将数据发送到Portlet WorkOrder:
-合同开始日期(他们发送到WS的日期),例如 15-06-2019
-合同结束日期(我们默认发送31-12-2999)

EmpEmployment <合同>日期-> 15-06-2019
终止日期-> 13-05-2019(此时由于您不能再雇佣Employment而发生错误) 超过终止日期)
WorkOrder
开始日期-> 15-06-2019
结束日期-> 31-12-2999

一旦执行了集成并且发生了错误,SFSF将自动更新终止字段,并且数据将是这些:

就业
合同日期-> 15-06-2019
结束日期-> 31-12-2999
WorkOrder
开始日期-> 15-06-2019
结束日期-> 31-12-2999

为解决该错误,我们认为有以下选择:

-使用业务规则从SCPI而不是从SFSF更新EmpEmployment终止字段。
这是不可能的,因为在SFSF Odata API中,该字段被定义为upsertable:false,并且当我们尝试更新集成时 失败。

-使用SFSF中的业务规则而不是SCPI更新两个Employloyment字段。
这是不可能的,因为要注册合同,必须确保Employloyment的雇用日期必须等于WorkOrder合同的开始日期。

我们还尝试使用Portlet EmpEmploymentTermination更新字段,但是发生以下错误:

&& NO_OVERWRITE &&令牌不支持该字段:事件原因。失败的记录信息

我们还尝试将SFSF中创建的不同event_reason发送到EmpEmploymentTermination,我们得到以下错误:

XXXXXXX是临时工。 isContingentWorker应该只有Y/Yes/T/True。

在同一操作中发送合同的开始日期和结束日期是不可行的,因为从原籍申请开始,他们不知道哪个日期将是合同的结束日期。 (这就是为什么在合同注册操作中,我们默认将日期发送为01-01-2999)。

有什么方法可以从SCPI更新EmpEmployment portlet的endDate字段而不会产生错误?

最诚挚的问候。

1条回答
xfwsx85
2020-08-30 00:46

Hello Cesar,

您需要添加新的雇佣portlet片段,其开始日期为所需的enddate + 1,并终止员工。

致谢,

Sriprasad Shivaram Bhat

一周热门 更多>