2020-09-13 16:12发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
如何通过服务层中的Odata过滤器在Date和To_Date之间过滤日期?
从 SomeTable 中选择*,其中 Col1 和 Col2之间的 EnteredDate ;
谢谢
Rahul Jain
你好拉胡尔,
为什么您从价值而不是财产开始? 尝试将其转换为
$ filter = EnteredDate lt Col1和EnteredDate gt Col2
收件人
$ filter = Col1 gt EnteredDate和Col2 lt EnteredDate
例如:
我通过请求查询发票(SBODEMOGB模式)
https://地址:50000/b1s/v1/Invoices?$ select = CardCode,DocNum,DocDate,DocDueDate
并获得以下信息:
{ " odata.metadata":" https://192.168.200.50:50000/b1s/v1/$metadata#Invoices", "值":[ { " DocNum":1 " DocDate":" 2006-01-22", " DocDueDate":" 2006-02-21", " CardCode":" C20000" }, { " DocNum":2 " DocDate":" 2006-01-27", " DocDueDate":" 2006-02-26", " CardCode":" C30000" }, { " DocNum":3, " DocDate":" 2006-02-11", " DocDueDate":" 2006-04-11", " CardCode":" C40000" }, .... { " DocNum":20, " DocDate":" 2006-06-11", " DocDueDate":" 2006-08-11", " CardCode":" C23900" } ], " odata.nextLink":"/img/b1s/v1/发票?$ select = CardCode,DocNum,DocDate,DocDueDate&$ skip = 20" }
现在,如果我以您的方式应用过滤器:
https://地址:50000/b1s/v1/Invoices?$ select = CardCode,DocNum,DocDate,DocDueDate&$ filter ='20060130'gt DocDate和'20060130'lt DocDueDate
我得到一个空的答复:
{ " odata.metadata":" https://192.168.200.50:50000/b1s/v1/$metadata#Invoices", "值":[] }
但是如果我将其反转并首先设置属性:
https://地址:50000/b1s/v1/Invoices?$ select = CardCode,DocNum,DocDate,DocDueDate&$ filter = DocDate lt'20060130'和DocDueDate gt'20060130'
我有两张发票:
{ " odata.metadata":" https://192.168.200.50:50000/b1s/v1/$metadata#Invoices", "值":[ { " DocNum":1 " DocDate":" 2006-01-22", " DocDueDate":" 2006-02-21", " CardCode":" C20000" }, { " DocNum":2 " DocDate":" 2006-01-27", " DocDueDate":" 2006-02-26", " CardCode":" C30000" } ] }
希望这是它对您不起作用的原因
@SergeiTravkin感谢您回复我的主题! 它没有用,我已经演示了解释我的问题的视频,请您调查一下!!! 并提出一些解决方案! - Google云端硬盘链接
嗨Rahul,
您可以使用以下过滤器来获取日期之间的发票(不包括过滤器日期):
https://地址:50000/b1s/v1/Invoices?$ select = DocEntry,CardCode,DocDate&$ filter = DocDate gt'20160101'和DocDate lt'20160105'
或以下内容可获取包含日期的发票:
https://地址:50000/b1s/v1/Invoices?$ select = DocEntry,CardCode,DocDate&$ filter = DocDate ge'20160101'和DocDate le'20160105'
最多设置5个标签!
你好拉胡尔,
为什么您从价值而不是财产开始? 尝试将其转换为
收件人
例如:
我通过请求查询发票(SBODEMOGB模式)
并获得以下信息:
现在,如果我以您的方式应用过滤器:
我得到一个空的答复:
但是如果我将其反转并首先设置属性:
我有两张发票:
希望这是它对您不起作用的原因
@SergeiTravkin感谢您回复我的主题! 它没有用,我已经演示了解释我的问题的视频,请您调查一下!!! 并提出一些解决方案! - Google云端硬盘链接
谢谢
Rahul Jain
嗨Rahul,
您可以使用以下过滤器来获取日期之间的发票(不包括过滤器日期):
或以下内容可获取包含日期的发票:
一周热门 更多>