帮助查询针对发票的已应用交易

2020-09-22 21:26发布

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

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


全部

我正在根据佣金报告(基于发票的付款以及现有的贷项)进行工作。

我想获得给定日期范围内给定发票的所有已应用交易。

我能够从下面的查询中找出如何获取日期范围内的付款金额(请参阅查询1),并且似乎可以使用。 但是,它不会返回源自贷项凭证的应用金额。

下面的查询2返回与发票有关的已应用部分金额,但未提供其来源或未从贷方中应用的指示。

我真正想要的是一个日期范围内所有已应用交易的列表,以及它们的来源(如果来自给定发票的贷方,付款等)。 换句话说,我非常想模仿在从发票窗口的弹出菜单中选择"应用的交易"时出现的"应用的交易"窗口中的数据。

我希望我已经说清楚了。 谁能给我一个方向或提示?

谢谢

标记

*************************************************** ******

查询1:

选择
T2。[DocNum]发票编号,
isnull(sum(T1。[BfDcntSum]),0.00)as PmntsToDateWithin在FROM HEARTWOOD.DBO.ORCT T0内部联接HEARTWOOD.DBO.RCT2 T1中 ON T0。[DocEntry] = T1。[DocNum]
左外连接HEARTWOOD.DBO.OINV T2 ON T1。[DocEntry] = T2。[DocEntry]和T0。[CardCode] = T2。[CardCode]
T2上的内连接HEARTWOOD.DBO.OSLP T3。[SlpCode] = T3。[SlpCode]
T2上的内连接HEARTWOOD.DBO.OACT T4。[CtlAccount] = T4。[AcctCode]
在哪里T2。 [已取消] ='N'和T0。[已取消] ='N'
和T0.DocDate在'1/1/2018'和'3/27/2018'
之间,与isull(T2.U_HWC_SSOrderID, ")<>"
按T2分组。[DocNum]

*************************************************** ***************************************

查询2:

选择t2.DocNum,t1.ReconNum,t1.ReconDate,t1.Total,
sum(t1.Total)-sum(t0.reconsum)作为'未清金额',
t0.reconsum
来自OITR t1
t1上的内部联接ITR1 t0.reconnum = t0.reconnum
t2上的内部联接OINV t2.TransId = t0.TransId
其中t2.DocNum = 69351
和isull(T2 .U_HWC_SSOrderID,'')<>''
按t2.DocNum,t1.ReconNum,t1.ReconDate,t1.Total,t0.reconsum分组

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

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


全部

我正在根据佣金报告(基于发票的付款以及现有的贷项)进行工作。

我想获得给定日期范围内给定发票的所有已应用交易。

我能够从下面的查询中找出如何获取日期范围内的付款金额(请参阅查询1),并且似乎可以使用。 但是,它不会返回源自贷项凭证的应用金额。

下面的查询2返回与发票有关的已应用部分金额,但未提供其来源或未从贷方中应用的指示。

我真正想要的是一个日期范围内所有已应用交易的列表,以及它们的来源(如果来自给定发票的贷方,付款等)。 换句话说,我非常想模仿在从发票窗口的弹出菜单中选择"应用的交易"时出现的"应用的交易"窗口中的数据。

我希望我已经说清楚了。 谁能给我一个方向或提示?

谢谢

标记

*************************************************** ******

查询1:

选择
T2。[DocNum]发票编号,
isnull(sum(T1。[BfDcntSum]),0.00)as PmntsToDateWithin在FROM HEARTWOOD.DBO.ORCT T0内部联接HEARTWOOD.DBO.RCT2 T1中 ON T0。[DocEntry] = T1。[DocNum]
左外连接HEARTWOOD.DBO.OINV T2 ON T1。[DocEntry] = T2。[DocEntry]和T0。[CardCode] = T2。[CardCode]
T2上的内连接HEARTWOOD.DBO.OSLP T3。[SlpCode] = T3。[SlpCode]
T2上的内连接HEARTWOOD.DBO.OACT T4。[CtlAccount] = T4。[AcctCode]
在哪里T2。 [已取消] ='N'和T0。[已取消] ='N'
和T0.DocDate在'1/1/2018'和'3/27/2018'
之间,与isull(T2.U_HWC_SSOrderID, ")<>"
按T2分组。[DocNum]

*************************************************** ***************************************

查询2:

选择t2.DocNum,t1.ReconNum,t1.ReconDate,t1.Total,
sum(t1.Total)-sum(t0.reconsum)作为'未清金额',
t0.reconsum
来自OITR t1
t1上的内部联接ITR1 t0.reconnum = t0.reconnum
t2上的内部联接OINV t2.TransId = t0.TransId
其中t2.DocNum = 69351
和isull(T2 .U_HWC_SSOrderID,'')<>''
按t2.DocNum,t1.ReconNum,t1.ReconDate,t1.Total,t0.reconsum分组

付费偷看设置
发送
1条回答
callcenter油条
1楼-- · 2020-09-22 21:33

马克,

关于第一个查询的想法马上就来了:您正在使用付款表ORCT启动FROM子句。 这意味着所有结果都必须支付。

如果查询的基本前提是找出发票的付款方式(通过付款或贷方通知单),则应从OINV开始,并外部联接所有表格,如OCRT和ORIN。 同样重要的是,您可以外部联接所有不只与OINV联接的任何其他表。

从OINV T2
 T2上的INNER JOIN OSLP T3。[SlpCode] = T3。[SlpCode]/* <-没关系*/
 左外连接RCT2 T1在T2上。[DocEntry] = T1。[DocEntry]
 T0上的内部联接ORCT T1。[DocEntry] = T1。[DocNum]和T2。[CardCode] = T0。[CardCode]/* <-这不行,应该是外部联接*/

此致

Johan

一周热门 更多>