SAP BODS:源表和目标表中的行数

2020-09-26 18:59发布

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

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


大家好,

我们正在使用BODS 4.2。 在我们的环境中,我们有一些作业会加载维度表和事实表。 现在,我的任务是在作业完成后立即显示源表和目标表中的行/记录计数(在作业跟踪和表中),并且如果源表和目标表的计数之间存在不匹配, 应该抛出错误

任何人都可以帮助我如何实现这一目标。

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

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


大家好,

我们正在使用BODS 4.2。 在我们的环境中,我们有一些作业会加载维度表和事实表。 现在,我的任务是在作业完成后立即显示源表和目标表中的行/记录计数(在作业跟踪和表中),并且如果源表和目标表的计数之间存在不匹配, 应该抛出错误

任何人都可以帮助我如何实现这一目标。

付费偷看设置
发送
3条回答
木偶小白
1楼 · 2020-09-26 19:24.采纳回答
第一个创建一个表,将其命名为Table_list,然后插入表名
 你想得到的计数
 Sno SRCtablename TRGtablename
 1桌1桌11
 2桌2桌22
 3桌3桌33


 $ count_X = 1;
 $ count_Y = SQL('DATASTORE','从Table_list中选择count(*)');

 而($ count_Y> $ count_X)
 开始
 $ SRCTablename = SQL('DATASTORE','从Table_list中选择SRCtablename,其中Sno = {$ count_X}');
 $ TRGTablename = SQL('DATASTORE','从Table_list中选择TRGtablename,其中Sno = {$ count_X}');

 $ SRC_count = SQL('DATASTORE','从{$ SRCTablename}中选择count(*)');
 $ TRG_count = SQL('DATASTORE','从{$ TRGTablename}中选择count(*)');

 $ diff = $ SRC_count- $ TRG_count;


 if($ diff = 0)
 开始
  $ status ='Y';
 结束
 否则开始
 $ status ='N';
 结束

 $ count_X = $ count_X + 1;
 结束
 

希望此帮助充分。

Nir深蓝
2楼-- · 2020-09-26 19:22

非常感谢您的回复。

是否还有其他方法,例如使用脚本,我可以将其放入BODS作业中,比较源计数和目标计数,然后将此信息加载到表中,以便某些高级员工可以将其用作参考。

您能告诉我应该对多个表使用哪种逻辑吗?
对于单个源表和目标表,我正在使用以下逻辑

$ source_count = sql('DATASTORE','从源表中选择count(*)');
$ target_count = sql('DATASTORE','从目标表中选择count(*)');
$ diff_count = $ source_count-$ target_count;

if($ diff_count = 0)< br>开始$ status ='Y';
结束
否则开始
$ status ='N';
结束

,然后将输出加载到HANA表中。

您能告诉我应该对多个表使用哪种逻辑。 如果您有任何参考链接,文档或任何有用的脚本,请与我分享。



葫芦娃快救爷爷
3楼-- · 2020-09-26 19:22

嗨Parag,

您可以通过在数据流中使用AUDIT功能来实现。

一周热门 更多>