执行数据库查询时出错:调用XSJSLIB函数进行创建操作的xsodata

2020-09-02 08:16发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我已将UI5应用程序...

         点击此处--->   EasySAP.com群内免费提供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)
3条回答
Tong__Ming
2020-09-02 08:54

嗨,我很难遵循随机替换的代码。 原始代码中的引号是否未转义?

一周热门 更多>