按行查询发票,连接订单(ORDR)和运输单据(ODLN)

2020-09-10 17:52发布

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

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


尊敬的专家,

我正在对SAP B1进行查询,该查询可以向我显示我公司的发展速度。我需要一个查询,以按时间段显示我正在制作的发票,我需要将其连接起来 他的订单和运输单据。

查询有效,有时我放了一些发票,不知道为什么。

您能帮我吗? 查询如下

SELECT Distinct(T0.DocNum)AS'发票',t0.taxdate AS'发票日期',T0.CARDCODE,T0.CARDNAME,t9.country,T1.ITEMCODE,T1.DSCRIPTION,T1.Quantity,T1。 Price,T1.TotalSumSy,t4.docnum为" Ordine cliente",t5.docnum为" DDT",T5.Docdate为" Data DDt",t4.cardcode,T4.CardName,T6.DOCTYPE
FROM [dbo] 。[OINV] T0左联接[dbo]。[INV1] T1接通T0.DocEntry = T1.DocEntry
左联接[dbo]。[DLN1] T2接通T1.BaseEntry = T2.DocEntry和T1.BaseLine = T2 .LineNum
左联接[dbo]。[RDR1] T3在T2.BaseEntry = T3.DocEntry和T2.BaseLine = T3.LineNum
左联接[dbo]。[ORDR] T4在T4.DocEntry = T3 .DocEntry
左联接[dbo]。[ODLN] T5上T5.DocEntry = T2.DocEntry
左联接[dbo]。[OCLG] T6上T6.DocNUM = T4.docnum
左联接OCRD T9 ON T9。[CardCode] = T0。[CardCode] left JOIN RIN1 T11 ON T11.BaseEntry = T0.DocEntry AND T11。 BaseLine = T1.LineNum和T11.BaseType ='13'
其中T0。[taxDate]> ='[%0]'和T0.TAXDATE <='[%1]'和t11.itemc ode为null和(t6.doctype = 17或t6.doctype为null)

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

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


尊敬的专家,

我正在对SAP B1进行查询,该查询可以向我显示我公司的发展速度。我需要一个查询,以按时间段显示我正在制作的发票,我需要将其连接起来 他的订单和运输单据。

查询有效,有时我放了一些发票,不知道为什么。

您能帮我吗? 查询如下

SELECT Distinct(T0.DocNum)AS'发票',t0.taxdate AS'发票日期',T0.CARDCODE,T0.CARDNAME,t9.country,T1.ITEMCODE,T1.DSCRIPTION,T1.Quantity,T1。 Price,T1.TotalSumSy,t4.docnum为" Ordine cliente",t5.docnum为" DDT",T5.Docdate为" Data DDt",t4.cardcode,T4.CardName,T6.DOCTYPE
FROM [dbo] 。[OINV] T0左联接[dbo]。[INV1] T1接通T0.DocEntry = T1.DocEntry
左联接[dbo]。[DLN1] T2接通T1.BaseEntry = T2.DocEntry和T1.BaseLine = T2 .LineNum
左联接[dbo]。[RDR1] T3在T2.BaseEntry = T3.DocEntry和T2.BaseLine = T3.LineNum
左联接[dbo]。[ORDR] T4在T4.DocEntry = T3 .DocEntry
左联接[dbo]。[ODLN] T5上T5.DocEntry = T2.DocEntry
左联接[dbo]。[OCLG] T6上T6.DocNUM = T4.docnum
左联接OCRD T9 ON T9。[CardCode] = T0。[CardCode] left JOIN RIN1 T11 ON T11.BaseEntry = T0.DocEntry AND T11。 BaseLine = T1.LineNum和T11.BaseType ='13'
其中T0。[taxDate]> ='[%0]'和T0.TAXDATE <='[%1]'和t11.itemc ode为null和(t6.doctype = 17或t6.doctype为null)

付费偷看设置
发送
3条回答
lukcy2020
1楼-- · 2020-09-10 18:18

您好

也许您有没有以前文档的销售发票,或直接从销售订单复制的销售发票。

为获得所有结果,我建议您运行三个查询,一个用于 包含交付和订单的发票,另一个包含订单和发票的发票,最后一个包含不带先前文档的发票。

当您拥有三个查询时,将它们与UNION ALL结合在一起,即可在一个查询中获得所有结果。/p>

亲切的问候

阿古斯丁

天桥码农
2楼-- · 2020-09-10 18:07

谢谢奥古斯丁,你一直很友善!

我了解您在说什么,但不是该功能的专家,您可以在该查询中提供示例吗?

谢谢

3楼-- · 2020-09-10 18:10

尝试一下:

/*从OINV选择T0.DOCDATE */
 声明@date_start datetime
 声明@date_finish日期时间
 设置@date_start ='[%0]'
 设置@date_finish ='[%1]'
 选择* FROM
 (
 SELECT Distinct(T0.DocNum)AS'发票',t0.taxdate AS'发票日期',T0.CARDCODE,T0.CARDNAME,t11.country,T1.ITEMCODE,T1.DSCRIPTION,T1.Quantity,T1.Price,T1  .TotalSumSy,t4.docnum为'Ordine cliente',t5.docnum为'DDT',T5.Docdate为'Data DDt',t4.cardcode,T4.CardName
 FROM [dbo]。[OINV] T0左联接[dbo]。[INV1] T1 ON T0.DocEntry = T1.DocEntry
 内部联接[dbo]。[DLN1] T2在T1.BaseEntry = T2.DocEntry和T1.BaseLine = T2.LineNum AND T1.basetype = 15上
 内部联接[dbo]。[RDR1] T3在T2.BaseEntry = T3.DocEntry和T2.BaseLine = T3.LineNum AND T2.basetype = 17上
 内部联接[dbo]。[ORDR] T4在T4.DocEntry = T3.DocEntry
 内联接[dbo]。[ODLN] T5在T5.DocEntry = T2.DocEntry
 左联接CRD1 T10在T10上。[CardCode] = T0。[CardCode] AND T10.adresType ='B'
 左联接OCRY T11到T10。[国家/地区] = T11。[代码]
 T0。[taxDate]> = @date_start和T0.TAXDATE <= @ date_finish
 全部合并
 SELECT Distinct(T0.DocNum)AS'发票',t0.taxdate AS'发票日期',T0.CARDCODE,T0.CARDNAME,t11.country,T1.ITEMCODE,T1.DSCRIPTION,T1.Quantity,T1.Price,T1  .TotalSumSy,t4.docnum AS'Ordine cliente',null,null,t4.cardcode,T4.CardName
 FROM [dbo]。[OINV] T0左联接[dbo]。[INV1] T1 ON T0.DocEntry = T1.DocEntry
 内连接[dbo]。[RDR1] T3在T1.BaseEntry = T3.DocEntry和T2.BaseLine = T3.LineNum AND T2.basetype = 17上
 内部联接[dbo]。[ORDR] T4在T4.DocEntry = T3.DocEntry
 左联接CRD1 T10在T10上。[CardCode] = T0。[CardCode] AND T10.adresType ='B'
 左联接OCRY T11到T10。[国家] = T11。[代码]
 T0。[taxDate]> = @date_start和T0.TAXDATE <= @ date_finish
 全部合并
 SELECT Distinct(T0.DocNum)AS'发票',t0.taxdate AS'发票日期',T0.CARDCODE,T0.CARDNAME,t11.country,T1.ITEMCODE,T1.DSCRIPTION,T1.Quantity,T1.Price,T1  .TotalSumSy,null为'Ordine cliente',null为'DDT',null为'Data DDt',t0.cardcode,T0.CardName
 来自[dbo]。[OINV] T0
 左联接CRD1 T10在T10上。[CardCode] = T0。[CardCode] AND T10.adresType ='B'
 左联接OCRY T11到T10。[国家/地区] = T11。[代码]
 T0。[taxDate]> = @date_start和T0.TAXDATE <= @ date_finish
 )S0
 

一周热门 更多>