如何根据参数的年份和期间编写SELECT语句

2020-08-17 06:24发布

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

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


很高兴认识您,专家

当程序使用PARAMETERS的会计年度和会计期间并缩小要通过SELECT语句获取的数据时,应使用哪种逻辑?

(我只想获取参数中输入的年份和期间的最新数据。)

例如,表中存在以下值。

不。 LFGJA LFMON DMBTR

1 2019 2 1000

2 2018 12 500

3 2018 10 300

在参数

年份:2019

期间:1

如果输入第二名(2018 12 500)

仅获取和

年份:2019

期间:3

如果输入1号(2019 1 1000)

我想写逻辑,例如只获取。我试图使所有数据早于在参数,SORT中降序输入的年份/期间,并尝试删除重复项,但记录数太大, 所以我在SELECT语句中得到了简短的转储。

以上,谢谢。

佐藤

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

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


很高兴认识您,专家

当程序使用PARAMETERS的会计年度和会计期间并缩小要通过SELECT语句获取的数据时,应使用哪种逻辑?

(我只想获取参数中输入的年份和期间的最新数据。)

例如,表中存在以下值。

不。 LFGJA LFMON DMBTR

1 2019 2 1000

2 2018 12 500

3 2018 10 300

在参数

年份:2019

期间:1

如果输入第二名(2018 12 500)

仅获取和

年份:2019

期间:3

如果输入1号(2019 1 1000)

我想写逻辑,例如只获取。我试图使所有数据早于在参数,SORT中降序输入的年份/期间,并尝试删除重复项,但记录数太大, 所以我在SELECT语句中得到了简短的转储。

以上,谢谢。

佐藤

付费偷看设置
发送
7条回答
Haoba3210
1楼-- · 2020-08-17 06:53

你好佐藤富明

尝试一下。

选择lfgja,  lfmon,dmbtr
     从表
     在哪里((gjahr = @p_gjahr AND perio <= @p_perio)或gjahr <@p_gjahr)
     按gjahr排序降序perio降序
     插入表@DATA(lt_table)
     最多1行。
亲切的问候,
Mateusz
路亽曱_Ryan
2楼-- · 2020-08-17 06:47

佐藤富美

将您编写的代码提供给我们,并详细说明您所获得的转储。

致谢!

SAP砖家
3楼-- · 2020-08-17 07:01

使用 在ABAP应用程序中打开SQL。
但是可以使用本机SQL完成。
检查您是否正在使用HANA数据库。

1。 如果是,则可以使用在函数()上使用Rank()函数的AMDP。
类似这样的方法
LT_BSEG_RANK = SELECT gjahr,poper,RANK()OVER(ORDER BY ABS(days_between(:i_fdate,t3.BUDAT )))AS等级;
LT_BSEG = SELECT *来自:LT_BSEG WHERE等级= 1;

2。 如果不行,请尝试使用本机sql这样的
TYPES:

ty_acdoca的开始,

gjahr TYPE acdoca-gjahr,

poper TYPE acdoca-poper,

排名TYPE i,

ty_acdoca的结尾。

数据:wa_acdoca类型ty_acdoca。

EXEC SQL。

选择gjahr,poper,rank()以上(按abs(DATS_DAYS_BETWEEN(BUDAT,'20190202')))排列成:wa_acdoca从acdoca限制1

ENDEXEC。

me_for_i
4楼-- · 2020-08-17 07:02

请使用CODE按钮对齐列:

否。  LFGJA LFMON DMBTR
 1 2019年2 1000
 2 2018年12500
 3 2018 10 300 
悻福寶寶
5楼-- · 2020-08-17 07:06

您好

表中是否有发布日期?

基于您的参数 可以评估以前的过帐日期并选择数据。

shere_lin
6楼-- · 2020-08-17 06:46

佐藤文敏,

他们绝对不会做同样的事情。 在功能的交汇处当然有一些非常基本的SQL。
在某些情况下-例如具有一些汇总值的键的驱动程序表-两者的功能可以很好地互补。

一周热门 更多>