在ABAP里取最大值,有好几种方法
第一种
SELECT posnr "项目号
FROM resb AS a
JOIN afko AS b ON a~aufnr = b~aufnr
INTO TABLE lt_resb
WHERE a~aufnr = gs_item-orderid.
SORT lt_resb DESCENDING BY posnr . "取最大的项目号 + 10
READ TABLE lt_resb INTO ls_resb INDEX 1.
lw_posnr = ls_resb-posnr + '10' .


第二种
SELECT POSNR
FROM resb UP TO 1 ROWS
INTO TABLE lt_resb
WHERE aufnr = gs_item-orderid
ORDER BY POSNR DESCENDING .
第三种
没试验过,利用聚合函数取最大值,这里给个例子来自SAP帮助。好几种功能。
返回航班号为0400的所有汉莎航空航班的
航班日期、乘客人数以及平均和最大行李重量。
TYPES: BEGIN OF wa,
fldate LIKE sbook-fldate,
count TYPE i,
avg TYPE p DECIMALS 2,
max TYPE p DECIMALS 2,
END OF wa.
DATA itab TYPE TABLE OF wa WITH EMPTY KEY.
SELECT fldate, COUNT( * ), AVG( luggweight ), MAX( luggweight )
FROM sbook
INTO TABLE @itab
WHERE carrid = 'LH' AND
connid = '0400'
GROUP BY fldate.
cl_demo_output=>display( itab ).

确定飞往纽约的航空公司数量,合计的一个功能COUNT
DATA count TYPE i.
SELECT COUNT( DISTINCT carrid )
FROM spfli
INTO @count
WHERE cityto = ‘NEW YORK’.

本文介绍了在ABAP中获取最大值的三种方法,并提供了一个SAP帮助中的例子,展示了如何使用COUNT聚合函数来确定飞往特定城市的航空公司数量。

331

被折叠的 条评论
为什么被折叠?



