首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何减少AMDP法的计算量?

如何减少AMDP法的计算量?
EN

Stack Overflow用户
提问于 2021-12-17 17:59:11
回答 1查看 573关注 0票数 0

我们如何在AMDP方法中实现像下面这样的逻辑减少。

代码语言:javascript
复制
lv_total = reduce tslxx9( init x type tslxx9 for lwa_out in lt_out
                              where ( companycode     = <lf_wa>-bukrs and
                                      ryear           = <lf_wa>-year  and
                                      currency        = <lf_wa>-currency
                                    )
                                      next x = x + lwa_out-amount ).
EN

回答 1

Stack Overflow用户

发布于 2021-12-20 10:14:12

对SQLScript的直接转换将是对带有GROUP子句和SUM聚合函数的局部表变量执行SELECT。就像这样:

代码语言:javascript
复制
  METHOD sum_amdp BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT.
     lv_total = SELECT SUM( amount )
       FROM :it_out
       WHERE companycode = :lf_wa.bukrs
         AND ryear = :lf_wa.year
         AND currency = :lf_wa.currency
       GROUP BY companycode, ryear, currency;
  ENDMETHOD.

当然,在AMDP中实现这个方法是毫无意义的,因为它甚至不访问数据库。但它演示了SQLScript如何能够对变量执行复杂的SQL语句。这只有在一个更大的SQLScript方法的上下文中才有意义,该方法可以处理刚执行的数据库查询中的数据,也可以为将要执行的数据库查询准备数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70397108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档