如何为每个ID选择最新的3条记录

2020-08-18 19:05发布

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

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


如何为每个ID选择最新的3条记录

代码:

选择
A〜OPBEL
A〜XBLNR
A〜VKONT

A〜FAEDN
A〜ABRZU
E〜COKEY
A〜WAERS < br> SUM(A〜BETRW)作为AMOUNTX,
e〜VERTRAG

从DFKKOP插入表@IT_TABLE
作为A
的内部联接,从A〜VKONT = E〜VKONTO
在哪里
E〜COKEY输入@SO_DIST
和A〜VKONT输入@CUSTNO和A〜HVORG输入('0100','MCON')和A〜AUGST <> 9
AND A〜ABWKT = @SPACE
GROUP BY A〜OPBEL,A〜XBLNR,A〜VKONT,A〜FAEDN,A〜ABRZU,E〜COKEY,A〜WAERS,e〜VERTRAG
求和(A 〜BETRW)<> 0
按A〜VKONT排序,
A〜ABRZU降序。
"按A〜VKONT排序,A〜FAEDN

在IT_TABLE分配字段符号处循环 )。
移动到WA_TABLE。
WA_TABLE-AMOUNTX = -AMOUNTX/10。

WA_TABLE-VERTRAG = sy-TABIX。

追加WA_TABLE到列表。


ENDLOOP。

每个ID的

s

id.jpg (253.6 kB)

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

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


如何为每个ID选择最新的3条记录

代码:

选择
A〜OPBEL
A〜XBLNR
A〜VKONT

A〜FAEDN
A〜ABRZU
E〜COKEY
A〜WAERS < br> SUM(A〜BETRW)作为AMOUNTX,
e〜VERTRAG

从DFKKOP插入表@IT_TABLE
作为A
的内部联接,从A〜VKONT = E〜VKONTO
在哪里
E〜COKEY输入@SO_DIST
和A〜VKONT输入@CUSTNO和A〜HVORG输入('0100','MCON')和A〜AUGST <> 9
AND A〜ABWKT = @SPACE
GROUP BY A〜OPBEL,A〜XBLNR,A〜VKONT,A〜FAEDN,A〜ABRZU,E〜COKEY,A〜WAERS,e〜VERTRAG
求和(A 〜BETRW)<> 0
按A〜VKONT排序,
A〜ABRZU降序。
"按A〜VKONT排序,A〜FAEDN

在IT_TABLE分配字段符号处循环 )。
移动到WA_TABLE。
WA_TABLE-AMOUNTX = -AMOUNTX/10。

WA_TABLE-VERTRAG = sy-TABIX。

追加WA_TABLE到列表。


ENDLOOP。

每个ID的

s

id.jpg (253.6 kB)
付费偷看设置
发送
3条回答
蓋茨
1楼-- · 2020-08-18 20:00

1。 对ID进行降序排序

2。 在前三个索引上循环(如果sy-tabix> 3.退出。endif)

灬番茄
2楼-- · 2020-08-18 20:04

请使用CODE按钮设置代码格式,以便以更加用户友好的格式显示(彩色 )。

CJones
3楼-- · 2020-08-18 19:56

嗨,艾哈迈德·扎卢姆

可以按所需顺序从DB中读取数据,您可以在LOOP中选择所需的记录。

在it_table ASSIGNING FIELD-SYMBOL()上的LOOP。
   在新vkont。
     DATA(lv_count)= 0。
   ENDAT。

   lv_count = lv_count + 1。

   "仅前3条记录
   如果lv_count> 3。
     继续。
   万一。

   将移动到wa_table。
wa_table-amountx = -amountx/10。 wa_table-vertrag = sy-tabix。 APPEND wa_table TO列表。 ENDLOOP。

关于

Mateusz

一周热门 更多>