SAP B1查询已购买业务伙伴的所有联系人

2020-09-07 22:24发布

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

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


嗨,

我需要创建一个SAP B1查询,该查询将列出最近三年进行过购买的业务合作伙伴卡的所有联系人。

我们需要以下数据:

从OCRD-名片名称,地址,城市,电话1
从OCPR-姓名,电话1,电子邮件(所有与OCRD的CardCode匹配的联系人)
当OCRD的CardCode在过去三年中有发票DocDate时

我做了什么:

选择唯一的T0。[CardName],T1。[Address] +','+ T1。[City],T1。[Phone1],T2。[Name],T2。[Tel1],T2。[E_MailL] FROM OINV T0内部JOIN OCRD T1 ON T0。[CardCode] = T1。[CardCode]内部JOIN OCPR T2 ON T0。[CntctCode] = T2。[CntctCode] WHERE year(T0。[DocDate])> = year(getdate( ))-3

这部分起作用。 它不显示所有业务伙伴的联系方式,但仅显示其中一些联系方式,我想由于内部联接的局限性,它只需要最近三年发票中实际列出的联系方式。

我尝试使用左/右外部联接组合,但是并没有太大变化,并不是所有的联系人都显示了。

任何人都可以帮忙吗?

谢谢!

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

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


嗨,

我需要创建一个SAP B1查询,该查询将列出最近三年进行过购买的业务合作伙伴卡的所有联系人。

我们需要以下数据:

从OCRD-名片名称,地址,城市,电话1
从OCPR-姓名,电话1,电子邮件(所有与OCRD的CardCode匹配的联系人)
当OCRD的CardCode在过去三年中有发票DocDate时

我做了什么:

选择唯一的T0。[CardName],T1。[Address] +','+ T1。[City],T1。[Phone1],T2。[Name],T2。[Tel1],T2。[E_MailL] FROM OINV T0内部JOIN OCRD T1 ON T0。[CardCode] = T1。[CardCode]内部JOIN OCPR T2 ON T0。[CntctCode] = T2。[CntctCode] WHERE year(T0。[DocDate])> = year(getdate( ))-3

这部分起作用。 它不显示所有业务伙伴的联系方式,但仅显示其中一些联系方式,我想由于内部联接的局限性,它只需要最近三年发票中实际列出的联系方式。

我尝试使用左/右外部联接组合,但是并没有太大变化,并不是所有的联系人都显示了。

任何人都可以帮忙吗?

谢谢!

付费偷看设置
发送
3条回答
Bunny_CDM
1楼-- · 2020-09-07 23:14

亲爱的马里斯,

您的查询满足您的要求。 最好避免加入OCPR表获取联系代码。 如果某个BP发出了发票,但是在OCRD表中未插入其联系人姓名,则该BP可能不会在您的查询中列出。

选择唯一的T0。[CardName],T1。[Address] +','+ T1。[City],T1。[Phone1],T2。[Name],T2。[Tel1],T2。[E_MailL] ,(从OCPR t2中选择CntctCode,其中t2.CardCode = t0.CardCode)CntctCode
来自OINV T0内部JOIN OCRD T1 ON T0。[CardCode] = T1。[CardCode] WHERE year(T0。[DocDate])> = year(getdate())-3

hongfeng1314
2楼-- · 2020-09-07 23:01

感谢Prasannan,但这不起作用,因为子查询返回多个值(因为每个卡中有多个联系人)。

也许您还有其他想法?

谢谢。

槿木_熙
3楼-- · 2020-09-07 23:14

尝试一下:

选择T0。" CardCode",T0。" CardName",T0。" Address",T0。" 城市",T1。" CntctCode",T1。"名称",T1。" Tel1",T1。" E_MailL"来自OCRD T0内联OCPR T1 ON T0。" CardCode" = T1。" CardCode"

< p> WHERE T1。" CntctCode" IN(从OINV S0 WHERE S0中选择DISTINCT S0。" CntctCode"。" DocDate" ='20190531')

只需替换粗体/斜体 符合您过去三年的病情。

一周热门 更多>