点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好朋友
我正面临着从存储过程中的2个计算视图读取数据的情况。 这些计算视图位于几个计算视图层之上,即在此计算视图之前,我们有6-7层计算视图。
我正在此最终计算视图上触发选择查询,并基于某些参数(例如公司代码和会计期间)获取一些信息。 有时会发生什么情况,即使没有找到具有给定选择标准的记录,那么此计算视图也需要大约2-3分钟才能返回0行,这是没有意义的。
我需要您的帮助,以找到一种方法来检查我的计算视图中是否存在针对此选择条件的单行,然后仅触发常规选择查询,否则将不触发选择查询以发现记录为零
伪:
在最终计算视图中检查给定公司代码和会计期间的单个记录。
如果是
然后
针对给定的公司代码和会计期间为给定的计算视图触发原始选择查询。
其他。
返回0
end;
我们不应该使用count(*),因为这将再次花费相同的不必要处理时间,并在2-3分钟后给我零。 我记得我曾经使用过-在我的假期期间从dbtable中选择single(*)。 这非常有用,因为它过去只是去检查一行是否存在然后退出。
这将帮助我节省不必要的支出处理时间,使我零记录。
干杯
Gaurav
平台:SAP HANA 2.0 SP2
Gaurav,你好
可能有很多方法可以实现。以下是我的想法。
1。创建一个仅包含Company,Fiscal和sum(Key Figure)的另一个Calculation视图以进行验证。假设在任何给定的数据中,Sum(Key Figure)在实例中返回<> 0 true或count(company)> 1 组合。 但这会在您的系统中生成其他建模对象。
2.as 我们知道我们可以在计算视图中查询任意级别的节点,确定哪个Calc视图-Node be 对于在过程中对该节点进行验证和查询很有用。 这样可以减少您的运行时间。
谢谢
Sateesh
嗨,Sateesh,
方法1将再次取决于我的最终计算视图,因为此子计算视图仅包含公司代码,会计期间将仅从我的最终计算视图中得出。 再次需要相同的时间,因为基础视图是相同的。
谢谢
Gaurav
Gaurav,
似乎更多是在分析关键数据以满足您的需求。 在这里我可能会帮不上忙。如果万一可以确定从任意时间对象中得出财政期间的逻辑,就可以使用表函数。
但是,我的理解是拥有6-7个具有大量数据的计算视图 提供给主计算视图绝对是耗时的! 您可能需要Planviz,看看是否可以找到调整性能的线索。
谢谢
Sateesh
一周热门 更多>