点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
美好的一天,
尝试使用Database Expert中推荐的SQL时,从SAP Crystal Reports(v 14.1.5.1501)获得以下错误。 对SQL Server使用OLE DB(ADO)。 问题来自表OMLT的左联接并将表名传递给OMLT.TableName ='OACT'
[左加入OMLT,打开( OMLT.PK = OACT.AcctCode AND OMLT.TableName =' OACT')]
有什么主意吗?
SET @objectId = {?ObjectId @}
SET @docEntry = {?DocKey @}
DECLARE @tableHeader AS NVARCHAR(20)
DECLARE @tableLines AS NVARCHAR(20)< br> SELECT @tableHeader = CASE @objectId当'23'然后'OQUT'当'17'然后'ORDR'当'16'然后'ORDN'当'15'然后'ODLN'当'13'然后'OINV' '14'THEN'ORIN'当'203'THEN'ODPI'当'22'THEN'OPOR'当'21'THEN'ORPD'当'20'THEN'OPDN'当'18'THEN'OPCH'当'19 '然后'ORPC'当'204'然后'ODPO'当'540000006'然后'OPQT'结束
SELECT @tableLines = CASE @objectId当'23'然后'QUT1'当'17'然后'RDR1'当' 16'THEN'RDN1'当'15'THEN'DLN1'当'13'THEN'INV1'当'14'THEN'RIN1'当'203'THEN'DPI1'当'22'THEN'POR1'当'21' 当'20'时'RPD1'然后'18'时'PDN1'当'19'然后'RPC1'当'204'然后'DPO1'当'540000006'然后'PQT1'END
/*声明-结束*/
EXEC(
'选择
T0.CreateDate
,T0.DocEntry
,T0.DocNum
,T0.DiscSum
,T0.Do cDate
,T0.DocTotal
,T0.VatSum
,MLT1.Trans
,NNM1.SeriesName
,OACT.AcctCode
,OACT.AcctName
,OADM.CompnyName
,OCPR.Name
,OCRD.CardCode
,OCRD.CardName
,OCRD.LicTradNum
,OITM.InvntItem
,OITM.ItemName
,OOCR.OcrCode < br>,OOCR_1.OcrCode
,OOCR_1.OcrName
,OOCR_2.OcrCode
,OOCR_2.OcrName
,OPRJ.PrjCode
,OPRJ.PrjName
,OUSR。 U_NAME
,OWHS.WhsName
,POR1.Currency
,POR1.DiscPrcnt
,POR1.GTotal
,POR1.ItemCode
,POR1.LineNum
,POR1.Price
,POR1.Quantity
,POR1.VatPrcnt
,UFD1.Descr
从OPOR T0到POR1上的内部连接POR1.DocEntry = T0.DocEntry
内部连接OCRD ON OCRD.CardCode = T0.CardCode
OITM上的内部联接OITM.ItemCode = POR1.ItemCode
OOCR上的左侧联接OOCR.OcrCode = POR1.OcrCode
向左连接OOCR OOCR_2位于OOCR_2上 加入OCPR开启OCPR.CardCode = OCRD.CardCode
左加入OMLT开启( OMLT.PK = OACT.AcctCode和OMLT.TableName ='OACT')
左联接MLT1处于MLT1.TranEntry = OMLT.TranEntry
左联接UFD1处于打开状态(UFD1.FldValue = OITM.U_ItemProprietary AND UFD1.TableId ='OITM')
左侧联接CUFD处于打开状态(CUFD.TableId = UFD1.TableId和CUFD.AliasId ='ItemProprietary')
完全外部联接OADM处于OADM.Code = 1')
(6.8 kb)
发现了问题。 字符串参数需要在动态SQL中用双引号进行转义,例如
打开左侧的OMLT( OMLT.PK = OACT.AcctCode和OMLT.TableName ='' OACT'')
SQL查询在Crystal中工作正常,直到将其包装为" EXEC('select ..."格式)为止。还尝试了各种方式的转换,但没有区别。 p>
这两个字段是完全相同的数据类型。Crystal不喜欢将INT或数字连接到数字文本。您需要将其强制转换为相同的
OMLT.PK = OACT.AcctCode
Ian一周热门 更多>