大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU)。依照“官方”的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA本身还在不断成长中,会遇到各种奇葩问题导致打包出来的DU在新环境中import 失败。那些失败Error Message trace,对于开发人员基本上没什么帮助。

并且在项目开发过程中,总会有些队友会不按常理出牌,终于导致项目DU无法使用,特别是在測试资源匮乏的情况下,非常多问题不能及时暴露。当你看到满屏幕的错误,你还有信心和耐力分析下去哇?看HANA Trace?你知道怎么设置么?

在这里整理一些常见问题来给大家一些启示。

View(视图)的建立不加depends_on_xx

问题分析:

在使用hdbview时,有些伙伴们习惯把在console中query语句直接黏贴到hdbview中完毕了事。并且这种hdbview在单独Activate时,毫无问题都能够Activate成功。而导出的DU想往新环境中部署就出问题。

在单独创建时,全部引用的table、view都已经存在,Activate肯定成功。并且在开发过程,基本上不会遇到先后关系,你引用的永远是存在的table、view。比方以下的样例我们称它为viewA,那么viewA-> com.sap.test.tables::02_HDB_DEPARTMENT_VIEW。而在DU导入过程中HANA会进行优化处理,对objects进行Activate顺序的先后处理,这样就非常easy发生viewA先与com.sap.test.tables::02_HDB_DEPARTMENT_VIEW创建。DU导入失败,假设整个项目中view都没有加dependence信息,那就满眼的Error,请问怎样下手。并且改动了一处,根本不解决这个问题,看不出效果。非常多人就此放弃分析…

解决方式:

schema="MYSCHEMA";

query="SELECT * FROM \"MYSCHEMA\".\"com.sap.test.tables::02_HDB_DEPARTMENT_VIEW\"";

depends_on_view=["com.sap.test.tables::02_HDB_DEPARTMENT_VIEW"];

创建、改动hdbview必须检查depends_on_view和depends_on_table。能够写个python脚本去检查或跟新这些代码,在每一个伙伴提交代码前都执行一次。或者就依靠CI环境高速反馈问题,拖的时间越久越难分析。

使用Calculation View用call却不用select

问题分析:

创建Calculation View,一般在Activate后会在_SYS_BIC下生成一个package/viewname/proc这样一个procedure。非常多“用心研究”的伙伴发现都发现这个procedure,假设在另外一个Calculation View直接call这个procedure写起代码更简单,而且他自己新创建的这个Calculation View,Activate全然没有问题,开心的不得了,还把这个新发现分享给其它同仁。

结果打包出来的DU重新嗝屁了。问题原因同上,Calculation View没有显示的写出dependency的信息,HANA自身会依据你object的代码分析出来Calculation View A依赖于Calculation View B,前提是你得按游戏规则出牌,你得用select Calculation View B with parameters

解决方式:

vals = SELECT * FROM "_SYS_BIC"."mytest/cv_test_filtergroupid"(placeholder."$$In_Filter_Group_ID$$"=>:In_Filter_Group_ID);

Calculation View的使用必须用Select

the circle dependence(循环引用)问题

问题现象:

在Activate All或者导入DU时,出现循环引用。

在HANA中循环引用分两种

1. Object 自身的循环引用

A->B->C->A,这种循环发生的情况比較少,但不代表没有。

2. Object Type间的循环引用

这个情况发生在procedure和hdbprocedure中,比方procA –> hdbprocB -> procC,这样就会出现循环引用。

解决方式:

dot -Tpdf <file_name> -O

把这些信息可视化,dot是一个开源的免费的可视化工具,然后找到循环引用的地方。

假设是procedure的问题,能够升级到HANA SP8,或者转化为同一种object type。

SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发的更多相关文章

  1. “多团队大规模”开发模式 - 基于SAP HANA平台的多团队产品研发

    应用SAP HANA “官方”开发模式的伙伴们在转到“多团队大规模”开发模式时会遇到各式各样的心理不适应的状况,各种纠结.比如GIT Repository和HANA Repository冲突什么的. ...

  2. SAP HANA 开发模式 - 基于SAP HANA平台的多团队产品研发

    “基本”开发模式 Windows: Unix/Linux: 在基本模式下我们可以通过regi来进行激活我们的object.Regi是一个类git功能的,方便和HANA repository交互的一个命 ...

  3. 基于SAP HANA平台的多团队产品研发

    工欲善其事必先利其器.要提高多团队的开发效率,而且还是在SAP HANA平台上,建议大家还是本着“慢就是快”的原则,不要急功近利,在没有准备好团队开发的架构时就匆忙开始功能的开发.匆忙功能开发就算了, ...

  4. 【ABAP系列】SAP ABAP 开发中的SMARTFORMS 参数

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 开发中的SMA ...

  5. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

  6. MyBatis 项目开发中是基于 XML 还是注解?

    只要你对 MyBatis 有所认识和了解,想必知道 MyBatis 有两种 SQL 语句映射模式,一种是基于注解,一种是基于XML. 基于 XML <mapper namespace=" ...

  7. drf开发中常见问题

    开发常见问题及解决 问题: 一.本地系统不能重现的bug 二.api接口出错不能及时的发现或难找到错误栈 三.api文档管理问题 四.大量的url配置造成url配置越来越多难以维护 五.接口不及时去更 ...

  8. Android开发中常见问题分析及解决

    最近公司有新的业务需求,需要开发一款APP,因为我开发过Android APP(我想告诉他们,那是4年前的事了,嘤嘤嘤),就把开发任务交给我了,当然也不是我一个人啦,让我组开发小组,说白了,就是让我来 ...

  9. Ionic开发中常见问题和解决方案记录

    1npm按装包失败 更换源:npm config set registry https://registry.npm.taobao.org 或者使用cnpm sudo npm install -g c ...

随机推荐

  1. C语言cgi(1)

    1Columbia Universitycs3157 – Advanced ProgrammingSummer 2014, Lab #2, 60ish pointsJune 9, 2014Follow ...

  2. jQuery Ajax: $.post请求示例

    jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...

  3. win7,win8取得管理员权限 .reg文件

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="获取管理员所有权" " ...

  4. bat脚本命令

    注:本文转载地址 http://www.cnblogs.com/yefengmeander/archive/2011/12/01/2887978.html 1.Echo 命令  打开回显或关闭请求回显 ...

  5. error C2248: “CObject::operator =”: 不可访问 private 员(于“CObject”类声明)

    MFC如果编码错误: 演出:error C2248: "CObject::operator =": 不可访问 private 员(于"CObject"类声明) ...

  6. hadoop-1.1.2 在Windows环境下的部署

    1:先安装Cygwin 参考http://blog.csdn.net/wind520/article/details/9223003 2:下载 3:解压在C:\cygwin\hadoop1 4:配置 ...

  7. 关与 Visual.Assist.X.V10.7.1912的Crack破解补丁(vs 番茄插件的key破解方法)

    在win7系统下, 我用的是vs2012版本号. Visual Assist沿用了快10年的界面,最终有了更新,变得更加适合Win8 以及 VS2012的主题风格了 ,这也是以后软件的发展趋势,仅仅是 ...

  8. 谈谈CListCtrl 扩展风格设置方法-SetExtendedStyle和ModifyStyleEx 比較

    谈谈CListCtrl 扩展风格设置方法 --------------------------------------SetExtendedStyle和ModifyStyleEx 比較 对于刚開始学习 ...

  9. 相关Jquery Validator采用

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs& ...

  10. UVa 572 Oil Deposits(DFS)

     Oil Deposits  The GeoSurvComp geologic survey company is responsible for detecting underground oil ...