SAP HANA问题通过查询中的布尔字段

2020-09-14 18:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我们在使用Sap Hana...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我们在使用Sap Hana数据库的测试环境中遇到问题。 当我们进行结帐的第一步时,就会发生问题。 我们的应用程序是具有6.7.0.3 hybris版本和OOTB配置(带有小程序个性化设置)的Marketplace。 该问题发生在hybris平台拥有的针对产品模型可销售字段的查询中。 SAP建议通过重新定义具有SAP数据库特定定义的属性类型的解决方法,如下所述:

  
       <属性>
          
             
                
                    BOOLEAN 
                
             
          
       
     

  

初始化系统后,此方法无效,并返回与下一个描述类似的错误:

  com.sap.db.jdbc.exceptions.JDBCDriverException:SAP DBTech JDBC:[266]:不一致的数据类型:BOOLEAN类型与DECIMAL类型不兼容。:第1列第187行(位置186)
      在com.sap.db.jdbc.exceptions.SQLExceptionSapDB._newInstance(SQLExceptionSapDB.java:201)
      在com.sap.db.jdbc.exceptions.SQLExceptionSapDB.newInstance(SQLExceptionSapDB.java:45)
      在com.sap.db.jdbc.packet.HReplyPacket._buildExceptionChain(HReplyPacket.java:934)
      在com.sap.db.jdbc.packet.HReplyPacket.getSQLExceptionChain(HReplyPacket.java:130)
      在com.sap.db.jdbc.packet.HPartInfo.getSQLExceptionChain(HPartInfo.java:39)
      在com.sap.db.jdbc.ConnectionSapDB._receive(ConnectionSapDB.java:3079)
      在com.sap.db.jdbc.ConnectionSapDB.exchange(ConnectionSapDB.java:1642)
      在com.sap.db.jdbc.PreparedStatementSapDB._prepare(PreparedStatementSapDB.java:2745)
      在com.sap.db.jdbc.PreparedStatementSapDB._doParse(PreparedStatementSapDB.java:2667)
      在com.sap.db.jdbc.PreparedStatementSapDB。(PreparedStatementSapDB.java:132)
      在com.sap.db.jdbc.PreparedStatementSapDBFinalize。(PreparedStatementSapDBFinalize.java:37)
      在com.sap.db.jdbc.PreparedStatementSapDBFinalize.newInstance(PreparedStatementSapDBFinalize.java:23)
      在com.sap.db.jdbc.ConnectionSapDB._prepareStatement(ConnectionSapDB.java:2917)
      在com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:254)


  

查询产生错误是在平台上在java文件DefaultMarketplaceCartEntryDao.java上,并且看起来像这样:

 受保护的静态最终字符串FIND_UNSALEBALE_CARTENTRIES_IN_CART ="从{"中选择{A:" + CartEntryModel.PK +"}
          + CartEntryModel._TYPECODE +"作为一个联接" + ProductModel._TYPECODE +"在{A:"上按AS + + CartEntryModel.PRODUCT +"} = {B:"
          + ProductModel.PK +"} JOIN" + CartModel._TYPECODE
          +"作为{A:"上的C + + CartEntryModel.ORDER +"} = {C:" + CartModel.PK +"}}在{B:" + ProductModel.SALEABLE
          +"} = false和{C:" + CartModel.CODE +"} =?"  + CART_CODE;

  

有人知道解决方法或解决方案吗?

谢谢。

4条回答
bbpeas
2020-09-14 19:10

那不是异常抛出,但在sap初始化时,hana必须创建BOOLEAN类型可销售的字段,如在SAP数据库的类型声明中指出的那样,但仍创建DECIMAL之类的字段。 之后,该查询无法运行并引发异常,因为它无法将DECIMAL与BOOLEAN值进行比较。 最后,在声明时使用redeclare属性不会更改数据库字段类型,这是核心问题。

一周热门 更多>