你好,SCN社区,
我尝试了我在CD世界的第一步。正如你可能在我的上一篇博客中认识到的,我必须提供一种HANA准备。核心数据服务(CD)在HANA和非HANA两个平台上都可用。
为了解决BRFplus中的一个问题,Carsten Ziegler建议我看一下CD。我必须在新的总分类账上建立一些汇总,以便进行某种统计。这个问题解决了对货币信息指向另一个表的几个金额列求和的问题。BRFplus数据库查找表达式当前不支持这一点。从技术上讲,在分类账的情况下,由于它的表设计,它变得更复杂了。
但是如果你只使用一种单一的货币操作呢?事实上,如果你有同样的问题,另一个表,光盘是肯定的东西,你可以看,去吧给你一个概述我建了一个小例子表:
所有金额字段都参考T000-MWAER(客户默认货币)。现在,我们要对BRFplus表中的每个amount列求和。这给我们带来了以下错误:
为了解决这个问题,我们考虑了一个观点,安娜尔返利机器人,我们明确忘记了货币的细节。这是通过创建一个CDS视图来完成的。但在CD中,我们可以做得更多。我们可以创建一个隐藏货币信息的视图,也可以将所有金额列映射到一个常量定义的货币。我更喜欢最后一个变量,因为我们将货币信息带到BRFplus中,以后不需要将其附加到数据中。但有时您可能不需要货币,因此我为这两种实现提供了示例。
通过使用CAST函数,物联网架构,大数据分析是什么专业,我们将amount类型的值转换为简单的十进制数。
为了将货币信息返回给BRFplus,我们必须规范化所有amount列。这是通过定义一个新的货币键列来实现的。此列带有注释@语义.currencyCode. 为了提供一个常量值作为货币信息,我使用标量值'EUR'并将其转换为适当的类型。然后我们必须将基础表的所有货币字段链接到新的货币键列。为此,我们用@语义.amount.currencyCode并提供currency key列作为属性。
使用其中一个CDS视图,我们可以在BRFplus中完成示例。
如果我们尝试模拟数据库查找表达式,我们会得到如下结果:
示例是在HANA上的SAP NW7.40SP6上编写的在这里,我没有发现很多内置的SQL函数。
当SP8正式发布时,我会检查这一点。
带有高级SQL的CD将是当今应用程序开发中的一个重要功能。它甚至解决了像BRFplus这样已经发布的项目的问题。由于CDS可用于非HANA和HANA(这里有更广泛的功能集),我认为它成为构建HANA就绪解决方案的支柱。
嗨,丹尼尔,
感谢您分享这篇博文。
我完全同意您的观点,CD是新ABAP应用程序的基石,我看到它们越来越多:
很高兴您展示了BRFplus中的一个用例来克服DB查找表达式的限制。这显示了这项技术的潜力。
请注意,软件企业优惠,没有多少ABAP开发人员会知道CD,因为他们中的许多人会认为他们有很好的旧DDIC,物联网概念,所以CD不是那么重要。对于CD新手,我建议阅读Christiaan Edward Swanepoel关于CD的博客:
我喜欢你的博客,你证明了CD不仅对在HANA中创建高质量的语义数据模型很重要,而且在HANA中也有用例简单的ABAP场景也是如此。
事实上,我不知道Eclipse space中的ABAP在你的博客中是否是最佳的,因为在这里,我期待更多的教程,比如上面提到的Chris的教程。但是我们应该让Carsten Ziegler指向这个博客条目,这样他就可以从他的BRFplus/DSM集合链接到这个博客条目。
原因是知道BRFplus的数据库查找表达式的局限性将值得再写一篇博客条目。我喜欢你贴了许多截图到你的博客,但不幸的是,错误信息很难阅读。那么,对于像您这样对这种表达式类型没有太多经验的人,您能解释一下DB查找的问题吗?
干杯,继续写博客,
托比亚斯
嗨,丹尼尔,
非常感谢你用CD视图验证这个想法。感谢你的博客,我们现在也有一些未来项目的参考。我们一定会把它添加到我们的资源列表中。
我同意托比亚斯的观点:继续写博客。
卡斯滕
嗨,丹尼尔,
非常感谢。
我将在我们的BRFplus项目中使用两种解决方案之一-至少在开发环境上。