【问题标题】:Error in the SAP B1 hana query. invalid number: [6930] attribute value is not a number;SAP B1 hana 查询中的错误。无效数字:[6930] 属性值不是数字;
【发布时间】:2021-03-29 03:57:28
【问题描述】:

错误:无法执行 'SELECT T0."DocNum" , T0."Status", T0."CreateDate", T0."U_CardCode", T0."U_CardName", T0."U_RFQNo", ...'在 34 毫秒 796 微秒内。 SAP DBTech JDBC:[339]:无效数字:[6930] 属性值不是数字;[此处]int(jf(isnull("U_Job_No"), ' ', "U_Job_No")) = 8000302, U_Job_No = '' [字符串] null,docid 1,NDB:

这是我的查询

SELECT T0."DocNum" , T0."Status", T0."CreateDate", T0."U_CardCode", T0."U_CardName", T0."U_RFQNo", T0."U_RFQDate", 
T0."U_RFQTitl", T0."U_InqRefNo", T0."U_Division",T1."DocNum", T1."DocType", T1."DocDate", T1."CardCode", T1."CardName", T1."NumAtCard", 
T1."DocStatus", T1."CANCELED", T1."Comments",T5."DocNum" ,T7."DocNum",T9."DocNum",T3."DocNum"  
FROM "POGLIVEDB"."@INSP_OSINQ"  T0  
LEFT JOIN OQUT T1 ON T0."DocNum" = T1."U_Job_No"
LEFT JOIN QUT1 T2 ON T2."DocEntry"= T1."DocEntry"
LEFT JOIN OPOR T3 ON T3."U_Job_No" = T0."DocNum" 
LEFT JOIN RDR1 T4 on T4."BaseEntry"= T2."DocEntry" and T2."LineNum"=T4."BaseLine" 
LEFT JOIN ORDR T5 on T5."DocEntry"= T4."DocEntry" 
LEFT JOIN DLN1 T6 on T6."BaseEntry"= T4."DocEntry" and T4."LineNum"=T6."BaseLine" 
LEFT JOIN ODLN T7 on T7."DocEntry"= T6."DocEntry" 
LEFT JOIN INV1 T8 on T8."BaseEntry"= T6."DocEntry" and T6."LineNum"=T8."BaseLine" 
LEFT JOIN OINV T9 on T9."DocEntry"= T8."DocEntry"
 

【问题讨论】:

  • 初步浏览 - 无法访问数据 - 看起来是数据质量问题。首先提取一个不同的值列表 OQUT.U_Job_No 并检查它们都是数字 - SAP DB 技术消息建议否则

标签: sql hana


【解决方案1】:

要格式化的SQL

--P.s Always organize the indented queries, try this, and verify your type for U_Job_No
SELECT 
    T0."DocNum" ,
    T0."Status", 
    T0."CreateDate", 
    T0."U_CardCode",
    T0."U_CardName",
    T0."U_RFQNo",
    T0."U_RFQDate", 
    T0."U_RFQTitl", 
    T0."U_InqRefNo",
    T0."U_Division",
    T1."DocNum", 
    T1."DocType",
    T1."DocDate",
    T1."CardCode",
    T1."CardName",
    T1."NumAtCard", 
    T1."DocStatus", 
    T1."CANCELED",
    T1."Comments",
    T5."DocNum",
    T7."DocNum",
    T9."DocNum",
    T3."DocNum"  
FROM 
    "POGLIVEDB"."@INSP_OSINQ"  T0  
    LEFT JOIN "OQUT" T1 ON T0."DocNum" = IFNULL(CAST(T1."U_Job_No" AS INTEGER),-1)
    LEFT JOIN "QUT1" T2 ON T2."DocEntry"= T1."DocEntry"
    LEFT JOIN "OPOR" T3 ON IFNULL(CAST(T3."U_Job_No" AS INTEGER),-1)  = T0."DocNum"
    LEFT JOIN "RDR1" T4 on T4."BaseEntry"= T2."DocEntry" and T2."LineNum"=T4."BaseLine" 
    LEFT JOIN "ORDR" T5 on T5."DocEntry"= T4."DocEntry" 
    LEFT JOIN "DLN1" T6 on T6."BaseEntry"= T4."DocEntry" and T4."LineNum"=T6."BaseLine" 
    LEFT JOIN "ODLN" T7 on T7."DocEntry"= T6."DocEntry" 
    LEFT JOIN "INV1" T8 on T8."BaseEntry"= T6."DocEntry" and T6."LineNum"=T8."BaseLine" 
    LEFT JOIN "OINV" T9 on T9."DocEntry"= T8."DocEntry";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多