尝试使用参数创建BP列表的SAP查询的新增功能

2020-09-24 16:15发布

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

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


这是查询,仅当我们输入CreateDate和Slp Name时,我们才不返回所有结果。 它正在过滤掉一些。

选择DISTINCT T0。[CardCode],T0。[CardName],T2。[State],T1。[SlpName]作为"区域经理",T3。[GroupName]作为"客户组",T0。[CreateDate] AS'创建日期',T0。[U_U_Lead_Type]来自OCRD T0内连接OSLP T1在T0上。[SlpCode] = T1。[SlpCode]内连接CRD1 T2在T0上。[CardCode] = T2。[CardCode]内连接OCRG T3 在T0。[GroupCode] = T3。[GroupCode]上(T1。[SlpName] = [%0])和T0。[CardType] = [%1]和T0。[CardCode]不喜欢'E%'和( T0。[CreateDate]> = [%2]和T0。[CreateDate] <= [%3])

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

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


这是查询,仅当我们输入CreateDate和Slp Name时,我们才不返回所有结果。 它正在过滤掉一些。

选择DISTINCT T0。[CardCode],T0。[CardName],T2。[State],T1。[SlpName]作为"区域经理",T3。[GroupName]作为"客户组",T0。[CreateDate] AS'创建日期',T0。[U_U_Lead_Type]来自OCRD T0内连接OSLP T1在T0上。[SlpCode] = T1。[SlpCode]内连接CRD1 T2在T0上。[CardCode] = T2。[CardCode]内连接OCRG T3 在T0。[GroupCode] = T3。[GroupCode]上(T1。[SlpName] = [%0])和T0。[CardType] = [%1]和T0。[CardCode]不喜欢'E%'和( T0。[CreateDate]> = [%2]和T0。[CreateDate] <= [%3])

付费偷看设置
发送
5条回答
Nan4612
1楼 · 2020-09-24 16:58.采纳回答

嗨,

如果您使用CRD1表,它将状态从票据移至字段并运送至字段。 您必须添加条件才能从船运至或开票至。 否则,记录将重复。

此致

Nagarajan

小c菟菟
2楼-- · 2020-09-24 16:55

嗨安东尼,

内部联接也将有效地限制结果。 如果您仔细检查了预期的52条引线是否均在给定的参数之内,则以下测试应返回52条记录。 请尝试一下:

选择T0。[CardCode]
 ,T0。[CardName]
 -,T2。[州]
 ,T1。[SlpName] AS"区域经理"
 -,T3。[GroupName] AS'Customer Group'
 ,T0。[CreateDate] AS'Date Created'
 ,T0。[U_U_Lead_Type]
 从OCRD T0
      内联接OSLP T1开启T0。[SlpCode] = T1。[SlpCode]
      --INNER JOIN CRD1 T2开启T0。[CardCode] = T2。[CardCode]
      --INNER JOIN OCRG T3开启T0。[GroupCode] = T3。[GroupCode]
 WHERE ISNULL(T1。[SlpName],'')喜欢'%[%0]%'
   AND T0。[CardType] ='[%1]'
   AND T0。[CardCode]不喜欢" E%"
   AND T0。[CreateDate]在[%2]和[%3]之间

请注意我如何注释掉某些行。 如果此测试仍未返回预期的线索,请使用此方法,首先注释掉最后一个参数,然后注释掉倒数第二个,最后注释倒数第二个。 每次运行查询,然后分析结果集以查看哪些记录不在给定参数之内。

此致

Johan

Baoming ROSE
3楼-- · 2020-09-24 17:02

嗨安东尼,

您的查询具有不同的条件和参数,例如1)销售人员,2)BP类型,3)BP编号(不以" E"开头)和4)创建日期范围。

这些条件是否正确,还是您可以指定为什么返回的结果不正确或不完整?

谢谢

Jimmy

Bunny_CDM
4楼-- · 2020-09-24 16:48

Jimmy Liang,

条件正确。

结果是,如果我们选择Type = Lead,则将销售人员留空,然后选择我们的日期范围。 它并没有拉出该范围内的所有线索,并且确实拉出了其中的一些记录。

bbpeas
5楼-- · 2020-09-24 17:02

嗨安东尼,

通过将销售人员留空,您可以有效地搜索未确定销售人员的销售线索。

请尝试以下操作:

 SELECT DISTINCT T0。[CardCode]
               ,T0。[CardName]
               ,T2。[州]
               ,T1。[SlpName] AS'区域经理'
               ,T3。[GroupName] AS"客户组"
               ,T0。[CreateDate] AS"创建日期"
               ,T0。[U_U_Lead_Type]
 从OCRD T0
      内部联接OSLP T1到T0。[SlpCode] = T1。[SlpCode]
      内联接CRD1 T2接通T0。[CardCode] = T2。[CardCode]
      内联接OCRG T3在T0上。[GroupCode] = T3。[GroupCode]
 WHERE ISNULL(T1。[SlpName],'')LIKE'%[%0]%'
   AND T0。[CardType] ='[%1]'
   AND T0。[CardCode]不喜欢" E%"
   AND T0。[CreateDate]在[%2]和[%3]之间

致谢

Johan

一周热门 更多>