CPI-DS中的增量负载

2020-09-13 18:31发布

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

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


您好,CPI-DS专家

我是DS的新手,希望执行Delta加载的任务(使用预加载和后加载脚本)。我使用表将源DATASTORE作为ECC。对于初始运行,我从ECC那里得到的记录很少。 我在ECC中更改了一条记录,然后再次执行了任务。 现在,我获得了所有记录(也有更改的记录),因为我只想在第二次运行中查找单个更改的记录。

在第二个 run.Is 中,有人可以从ECC处获取仅修改过的记录吗? 需要在ECC或DS中进行管理。

预先感谢

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

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


您好,CPI-DS专家

我是DS的新手,希望执行Delta加载的任务(使用预加载和后加载脚本)。我使用表将源DATASTORE作为ECC。对于初始运行,我从ECC那里得到的记录很少。 我在ECC中更改了一条记录,然后再次执行了任务。 现在,我获得了所有记录(也有更改的记录),因为我只想在第二次运行中查找单个更改的记录。

在第二个 run.Is 中,有人可以从ECC处获取仅修改过的记录吗? 需要在ECC或DS中进行管理。

预先感谢

付费偷看设置
发送
2条回答
悠然的二货
1楼-- · 2020-09-13 19:12

通常,CPI-DS需要外部记录已更改的数据,它并不能独立保存。 数据永远不会真正存在于CPI-DS中。

使用表格,CPI-DS将需要某种更改历史记录才能使用。 例如,如果表中有一个更改日期列,我们可以使用它来过滤以仅记录自上次执行作业以来已更新的记录。 为此,我们具有save_data()和get_data()函数。 在加载后脚本中,使用save_data(systime()),它将保存该作业的结束时间以用于下一次执行。 在数据流的过滤器中,必须根据上次更改的日期/时间进行过滤,并使用get_data()作为过滤条件。

在撰写本文时,帮助门户网站对我不可用,但是此用例在CPI-DS文档中进行了描述。

最诚挚的问候,
Jeff K

小熊yu生菜
2楼-- · 2020-09-13 19:23

这应受支持,并提供了说明此处

创建以下预加载脚本:

#开始日期
 如果(get_data('')="或$ G_RESET ='Y')
   $ G_STARTDATE = to_date('1900-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss');
 其他
   $ G_STARTDATE = to_date(get_data(''),'yyyy-mm-dd hh24:mi:ss');

 # 结束日期
 如果($ G_ENDDATE为空)
   $ G_ENDDATE = sysutcdate();

 print('使用查询时间为[$ G_STARTDATE]至[$ G_ENDDATE]'); 

创建以下后加载脚本:

 print('保存下一个开始日期的结束日期:[$ G_ENDDATE]');
 save_data('',to_char($ G_ENDDATE,'yyyy-mm-dd hh24:mi:ss')); 

然后,您可以基于$ G_STARTDATE和$ G_ENDDATE的值在日期/时间列上实施过滤器。

此致

Jeff K

一周热门 更多>