查询的可选选择条件

2020-09-14 09:41发布

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

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


尊敬的专家,

我们如何为[A]和[B]之间的[字段]的可选选择条件生成查询? 例如,我有如下查询,我为查询输入了3个选择条件。

当前,如果用户错过任何选择标准中的值,SAP将返回"无结果"

因此,即使一个或所有选择条件都没有值,我也希望查询返回结果。

我尝试了几种方法,但只知道文档的到期日期

1)T0.DocDueDate> ='[[%1]'或'[%1]'=''AND T0.DocDueDate <='[%2]'或'[%2]'=''

我认为(> =/<=)子句不适用于卡代码和项目代码,因为当我将两者都写为1时,结果不正确。

位置
 ([%1]和[%2]之间的T0.DocDueDate)
 和
 (T0.CardCode在[%3]和[%4]之间)
 和
 (T1.ItemCode在[%5]和[%6]之间)
 

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

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


尊敬的专家,

我们如何为[A]和[B]之间的[字段]的可选选择条件生成查询? 例如,我有如下查询,我为查询输入了3个选择条件。

当前,如果用户错过任何选择标准中的值,SAP将返回"无结果"

因此,即使一个或所有选择条件都没有值,我也希望查询返回结果。

我尝试了几种方法,但只知道文档的到期日期

1)T0.DocDueDate> ='[[%1]'或'[%1]'=''AND T0.DocDueDate <='[%2]'或'[%2]'=''

我认为(> =/<=)子句不适用于卡代码和项目代码,因为当我将两者都写为1时,结果不正确。

位置
 ([%1]和[%2]之间的T0.DocDueDate)
 和
 (T0.CardCode在[%3]和[%4]之间)
 和
 (T1.ItemCode在[%5]和[%6]之间)
 
付费偷看设置
发送
4条回答
绿领巾童鞋
1楼 · 2020-09-14 10:09.采纳回答

嗨,

尝试一下,

(((T0.DocDueDate> ='[%1]'或'[%1]'='')AND(T0.DocDueDate <='[%2]'或'[%2]'='' ))

AND

((T0.CardCode> ='[%3]'或'[%3]'='')AND(T0.CardCode <='[%4]'或'[%4]'='' ))

(((T1.ItemCode> ='[%5]'或'[%5]'='')AND(T1.ItemCode <='[%6]'或'[%6]'='' ))

此致

Nagarajan

愤怒的猪头君
2楼-- · 2020-09-14 10:06

尊敬的Nagarajan,

谢谢您的帮助。

尝试过并且有效。

吹牛啤
3楼-- · 2020-09-14 09:56

嗨,

 T0.CardCode在[%3]和[%4]之间

与以下内容完全相同:

 T0.CardCode> = [%3]和T0.CardCode <= [%4] 

但是第二种语法确实允许您使用OR,因此允许用户将其中一个参数留空

OR是您问题的答案,但是在使用OR时,您需要正确使用方括号。 只需在不同参数之间用OR替换AND:

位置(((T0.DocDueDate> ='[%1]'或'[%1]'=''))AND(T0.DocDueDate <='[%2]'或'[%2]'='  '))
       要么
       (((T0.CardCode> ='[%3]'或'[%3]'='')AND(T0.CardCode <='[%4]'或'[%4]'=''))
       要么
       (((T1.ItemCode> ='[%5]'或'[%5]'='')AND(T1.ItemCode <='[%6]'或'[%6]'=''))

如果这不能提供预期的结果,请举例说明它如何不符合您的要求?

此致

Johan

N-Moskvin
4楼-- · 2020-09-14 10:06

尊敬的Johan,

谢谢您的建议。

我尝试过,但是每个条件之间的'OR'返回结果的全部。

更改为" AND",就像Nagarajan建议的一样,并且有效。

一周热门 更多>