SAP ECC6 中使用CDS常见问题总结

情景描述

很多2014年之后到2018年之前上SAP的公司应该基本选择了ECC ON HANA的架构模式,而且ECC的增强级别一般到了EHP7或EHP8,基本上支持CDS的使用。

但ECC毕竟是太老旧了,对CDS的支持只能说是基本支持,有很多地方都不完美。例如:

1)SE11中查看CDS的结构,完全忽视CDS里主键字段的申明,全部字段都显示成了主键;

SAP ECC6 中使用CDS常见问题总结
SAP ECC6 中使用CDS常见问题总结

2)使用了CASE语句的CDS,在SE16N中查看数据时也全部字段都是显示为主键,需要勾选“可滚动的关键列”才能在SE16N里滚动水平滚动条;

SAP ECC6 中使用CDS常见问题总结
SAP ECC6 中使用CDS常见问题总结

3)SE16N显示带参数的CDS直接DUMP提示SAPSQL_PARSE_ERROR;

SAP ECC6 中使用CDS常见问题总结

4)CDS里计算比较长的小数位数直接报语法错误;

SAP ECC6 中使用CDS常见问题总结

5)S4里至少是可以在SE11显示CDS的源代码了,但ECC里连看CDS源代码都不行,必须要Eclipse

SAP ECC6 中使用CDS常见问题总结

6)即便在Eclipse里,CDS也是显示在ABAP DDL Sources下,而不是Core Data Service下

原因及思考

原因可能是使用ECC on HANA的公司的ABAP版本、SAP内核及HANA版本太低,有很多新的特性不支持。

以下是SCN社区上的对这类问题的两句回答:

Are you talking about the display of keys in SE11 ? You should just ignore it. For CDS only your marked keys are keys!

Do not use SE11 any more, the information visible there is missleading in several cases.

那么,在ECC on HANA的架构下,我们是不是就不用CDS了呢?

用还是可以用的,比如可以用CDS模仿S4创建ZACDOCA,ZMATDOC之类的视图,对应很多取数、计算、排查问题的场景来说,帮助还是非常大的。

例如,让你算物料的期初成本、本期发出、本期收入、期末成本,按照传统的思维,如果单纯用ABAP写的话就得把MKPF和MSEG加载到应用服务器,出库的乘以负一、处理一下过账期间字段,然后COLLECT加总,贼拉麻烦不说,对服务器、网络、客户端资源的占用都是非常大的。

所以,先写个CDS,然后ABAP里一条SQL进行SUM就完事了,所谓计算下沉到HANA、几亿行数据只取一行汇总数。

SAP ECC6 中使用CDS常见问题总结

本文作者: GavinDong

版权属于: GavinDong博客

文章链接: https://gavindong.com/8594.html

如果使用过程中遇到问题,可 **点击此处** 交流沟通。

版权所有,转载时必须以链接形式注明作者和原始出处及本声明。

(1)

相关文章