点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
因为HANA现在也直接在数据库过程中支持Opencypher(请参阅我的博客文章" #sitPOTT:HANA和BEER的某些东西"从2019年8月开始的更新 https://blogs.sap.com/2019/06/05/sitpott-something-with-hana-and-beer /),我想测试在SAP Cloud Platform,ABAP环境(Steampunk)中的AMDP中是否也可以使用Opencypher。
前提条件
1。)我能够直接在AMDP中读取边缘表(或更好的CDS视图)
方法read_edge_table 通过HDB的数据库过程 语言SQLSCRIPT 选项只读 使用zse38_spfli_edge。 et_path =从zse38_spfli_edge中选择airport_from_id,airport_to_id; 终结法。
2。)我可以在AMDP中调用图形函数
METHOD get_shortest 通过HDB的数据库过程 语言图 选项只读 使用zcl_se38_graph => graph。 图g =图(" ZCL_SE38_GRAPH => GRAPH"); 顶点v_from =顶点(:g,:i_airport_from_id); 顶点v_to =顶点(:g,:i_airport_to_id); WeightedPathp_path =最短路径(:g,:v_from,:v_to); et_path =选择:part.airport_from_id,:part.airport_to_id 边缘中的foreach部分(:p_path); 终结法。
现在有趣的部分:我可以在AMDP中输入Opencypher,甚至可以正确检查Cypher语法,但是一旦语句完成(并且在语法上正确),我就会收到一个语法错误,指出" SAPABAP"无法明确指定。
METHOD call_cypher 通过HDB的数据库过程 语言SQLSCRIPT 选项为只读。 et_path =从opencypher_table中选择*(GRAPH WORKSPACE" ZCL_SE38_GRAPH => GRAPH" QUERY'match(from)-[e]->(to)从.AIRPORT_ID作为AIRPORT_FROM_ID返回,到.AIRPORT_ID作为AIRPORT_TO_ID'); 终结法。
如果我直接在常规的HANA SQL语句中调用模式(正确),则会引发相同的错误:
et_path =从" SAPABAP"中选择airport_from_id和airport_to_id。zse38_spfli_edge;
但是在我的Opencypher示例中,我仅将模式称为隐式。
这是编译器/内核错误吗? 是否仅在Steampunk或S/4HANA上也会发生此错误? 有没有可能的解决方法?
opencypher.jpg (33.9 kB)
您好,Uwe,
他们发现了一个错误(感谢向我们指出此错误),该错误将得到修复。
最诚挚的问候,
Andre
如果您需要Beta测试仪,请给我打电话;-)
您好,Uwe,AMDP同事会来看看。
最好的问候,托马斯
一周热门 更多>