点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已将UI5应用程序从HANA 1.0 SP06导入到HANA 2.0 SP02中,以查看该应用程序是否可以与HANA 2.0 SP02很好地配合使用。 在应用程序中,我们使用带有自定义出口的XSODATA调用将值插入表中。 在HANA 2.0 SP02中测试应用程序时,XSODATA调用抛出以下错误
----------------------------
sap-ui-core.js:88 2019-01-28 12:17:14发生以下问题:HTTP请求失败400,错误请求,{"错误":{"代码":"","消息" :{" lang":" zh-cn"," value":"数据库访问异常"}," innererror":{" errordetail":{" DETAILS":" dberror(Connection.prepareStatement):259-无效的表名 :在架构XXX中找不到表/视图#NEW_vsegmentType140012385857792:第1行第70行(在pos 69)-createSegmentUsing@/XXX/xsjslib/segmentc/SegmentCreate.xsjslib:32 \
--------------------------
下面是XSJSLIB函数
函数createSegmentUsing(param)
{试试{var sql,pstmt,userName = $ .session.getUsername();
//做一些操作
pstmt = param.connection.prepareStatement('update"'+ param.afterTableName +'" SET'+'EXT_SGMT_ID =" XXX"。" XXX odata.txt .db :: SEQ_SGMT_EXT"。NEXTVAL,CREATED_ON = CURRENT_UTCTIMESTAMP,CREATED_BY = ?, CHANGED_ON = CURRENT_UTCTIMESTAMP,CHANGED_BY = ?, DELETE_FLAG =?');
pstmt.setString(1,userName);
pstmt.setString(2,userName);
pstmt.setString(3,'N');
pstmt.executeUpdate();
pstmt.close();
sql ='INSERT INTO" SMA"。" sma.db :: SGMT.TBL_USR_SEGMENT" SELECT * FROM" SMA"。"'+ param.afterTableName +'"';
pstmt = param.connection.prepareStatement(sql);
pstmt.executeUpdate();
pstmt.close(); }
catch(e){返回{HTTP_STATUS_CODE:e.code,ERROR_MESSAGE:'数据库访问异常',DETAILS:e.message +"-" + e.stack}; }
--------------------------------------------------- ------------
从日志中说,找不到作为PARAM.AFTERTABLENAME的一部分创建的临时表。
此错误与HANA 2.0 SP02有关吗? XSODATA出口处理方面有什么变化吗?
odata.txt (1.8 kB)
这是退出之前还是之后的替代? 这是一个创建操作吗? 不同的出口类型确实使用不同的接口。 例如,afterTableName用于CREATE和UPDATE,而beforeTableName用于UPDATE和DELETE。
https://help.sap.com/查看器/4505d0bdaf4948449b7f7379d24d0f0d/2.0.03/zh-CN/03735142bfd647c2a016fcd9359f3348.html
问题是,从根本上说,在迁移到HANA 2.0甚至迁移到XSA时,退出工作的方式没有改变。
嗨,我很难遵循随机替换的代码。 原始代码中的引号是否未转义?
嗨,托马斯,
这是使用自定义退出以按顺序更新PK的结果(实际上,我认为使用自定义退出进行PK生成完全是hack,但是@ sap/xsodata根本无法处理IDENTITY列并创建损坏的语句 )。
xsodata:
jsutils.xsjslib:
Hana 1 XS引擎内部的Neo上使用了完全相同的自定义出口。
该功能不受支持的消息来自我认为的HDB引擎,该消息曾经在Neo中起作用。 您对此有何看法?
最好的问候,亚历克斯
更新:已解决。 在CF上,我使用了列表,在Neo上使用了行表。 可变列表不允许插入/更新。 切换到行表使其生效����
一周热门 更多>