从群集表中提取字段的最大值

2020-08-30 12:04发布

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

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


专家们,

我需要找到群集表中名称为" CDPOS"的特定表中名为" CHANGENR"的列的最大值。

一种方法是读取所有对应的条目,然后我可以找出最大值,但这看起来并不是一种有效的方法。

对于上述方法,我编写了以下代码:

功能ZSQL_QUERY1。
*" --------------------------------------- -------------------------------
*" *"本地接口:
*" EXPORTING
*"-VALUE(MAX)类型I
*" VALUE(TIME)类型I
*" -------------------------- --------------------------------------------


获取运行时间字段时间。
数据:带标题行的CHAR10的表类型表。
数据:TA10_WA的CHAR10类型表。
数据:c1游标类型。
MAX = -1。< br>
按住c1的打开光标
从CDPOS
中选择CHANGENR
,其中TABNAME ='ZAUTO_SA'。

做。 大小100000.
如果sy-subrc <> 0.
关闭光标c1。
退出。
ELSE。
将标签环进TAB_WA。
如果MAX MAX = TAB_WA。
ENDIF。
ENDLOOP。
ENDIF。
ENDDO。

获取运行时间字段时间。


ENDFUNCTION。

如果可以想到一些更有效的方法,请提出建议。 我们可以在集群表上应用的任何操作,因此可以使用某些数据库查询操作来代替在应用程序服务器上进行处理。

谢谢

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

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


专家们,

我需要找到群集表中名称为" CDPOS"的特定表中名为" CHANGENR"的列的最大值。

一种方法是读取所有对应的条目,然后我可以找出最大值,但这看起来并不是一种有效的方法。

对于上述方法,我编写了以下代码:

功能ZSQL_QUERY1。
*" --------------------------------------- -------------------------------
*" *"本地接口:
*" EXPORTING
*"-VALUE(MAX)类型I
*" VALUE(TIME)类型I
*" -------------------------- --------------------------------------------


获取运行时间字段时间。
数据:带标题行的CHAR10的表类型表。
数据:TA10_WA的CHAR10类型表。
数据:c1游标类型。
MAX = -1。< br>
按住c1的打开光标
从CDPOS
中选择CHANGENR
,其中TABNAME ='ZAUTO_SA'。

做。 大小100000.
如果sy-subrc <> 0.
关闭光标c1。
退出。
ELSE。
将标签环进TAB_WA。
如果MAX MAX = TAB_WA。
ENDIF。
ENDLOOP。
ENDIF。
ENDDO。

获取运行时间字段时间。


ENDFUNCTION。

如果可以想到一些更有效的方法,请提出建议。 我们可以在集群表上应用的任何操作,因此可以使用某些数据库查询操作来代替在应用程序服务器上进行处理。

谢谢

付费偷看设置
发送
2条回答
路亽曱_Ryan
1楼-- · 2020-08-30 12:11

这不适合您吗?

从CDPOS中选择max(CHANGENR)

TABNAME ='ZAUTO_SA'

三十六小时_GS
2楼-- · 2020-08-30 12:14

Anshu Gupta 很奇怪,没有最大功能

在SQLwise中,我只能建议这样的东西具有最大值,但要避免使用max()函数

从CDPOS cdp中选择CHANGENR 

其中TABNAME ='ZAUTO_SA'
并且不存在(从CDPOS中选择1,其中TABNAME = cdp.TABNAME和CHANGENR> cdp.CHANGENR)

一周热门 更多>