可以在循环内部表中使用聚合函数?

2020-08-21 09:11发布

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

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


实际上我想获取最大日期(j〜fkdat)和最大时间。(j〜ezret)

这是我的代码。

选择a〜vbeln,a〜posnr,a〜posex,a〜matnr,a〜arktx,a〜kwmeng,a〜vrkme,
         b〜audat,b〜auart,b〜bstnk,b〜waerk,b〜vbtyp,b〜vkorg,
         d〜name1,d〜stras,d〜ort01,d〜land1,
         e〜vbeln AS vbeln_od,e〜posnr AS posnr_od,e〜lfimg,e〜vrkme AS vrkme_od,
         f〜bldat,f〜lfart,f〜wadat_ist,f〜wadat,
         g〜wbstk,
         h〜fksta,
         i〜vbeln AS vbeln_bil,i〜posnr AS posnr_bil,i〜fkimg AS fkimg_bil,i〜vrkme AS vrkme_bil,i〜netwr AS netwr_bil,
         j〜fkart,j〜fkdat,j〜erzet
         从vbap AS
         将vbak AS b加入a〜vbeln = b〜vbeln
         加入vbpa AS c ON b〜vbeln = c〜vbeln
         加入kna1 AS d ON b〜kunnr = d〜kunnr
         在a〜vbeln = e〜vgbel和a〜posnr = e〜vgpos上左联接嘴唇
         加入likp AS f ON e〜vbeln = f〜vbeln
         在v〜vbeln = g〜vbeln上加入vbuk AS g
         加入vbup AS h ON e〜vbeln = h〜vbeln和e〜posnr = h〜posnr
         在e〜vbeln = i〜vgbel和e〜posnr = i〜vgpos上向左加入vbrp
         在i〜vbeln = j〜vbeln上加入vbrk AS j
         进入表@it_main的对应字段
         pstyv NE'ZRET'和apstyv NE'ZSER'和apstyv NE'ZSEV'和apstyv NE'TAD'和apstyv NE'ZTAD'
              和b〜vkorg IN @p_vkorg
              和c〜kunnr IN @ p_kunnr1
              和c〜parvw EQ'VE'
              和d〜kunnr IN @ p_kunnr2。


   循环到it_main INTO wa_main GROUP BY wa_main-vbeln。

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

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


实际上我想获取最大日期(j〜fkdat)和最大时间。(j〜ezret)

这是我的代码。

选择a〜vbeln,a〜posnr,a〜posex,a〜matnr,a〜arktx,a〜kwmeng,a〜vrkme,
         b〜audat,b〜auart,b〜bstnk,b〜waerk,b〜vbtyp,b〜vkorg,
         d〜name1,d〜stras,d〜ort01,d〜land1,
         e〜vbeln AS vbeln_od,e〜posnr AS posnr_od,e〜lfimg,e〜vrkme AS vrkme_od,
         f〜bldat,f〜lfart,f〜wadat_ist,f〜wadat,
         g〜wbstk,
         h〜fksta,
         i〜vbeln AS vbeln_bil,i〜posnr AS posnr_bil,i〜fkimg AS fkimg_bil,i〜vrkme AS vrkme_bil,i〜netwr AS netwr_bil,
         j〜fkart,j〜fkdat,j〜erzet
         从vbap AS
         将vbak AS b加入a〜vbeln = b〜vbeln
         加入vbpa AS c ON b〜vbeln = c〜vbeln
         加入kna1 AS d ON b〜kunnr = d〜kunnr
         在a〜vbeln = e〜vgbel和a〜posnr = e〜vgpos上左联接嘴唇
         加入likp AS f ON e〜vbeln = f〜vbeln
         在v〜vbeln = g〜vbeln上加入vbuk AS g
         加入vbup AS h ON e〜vbeln = h〜vbeln和e〜posnr = h〜posnr
         在e〜vbeln = i〜vgbel和e〜posnr = i〜vgpos上向左加入vbrp
         在i〜vbeln = j〜vbeln上加入vbrk AS j
         进入表@it_main的对应字段
         pstyv NE'ZRET'和apstyv NE'ZSER'和apstyv NE'ZSEV'和apstyv NE'TAD'和apstyv NE'ZTAD'
              和b〜vkorg IN @p_vkorg
              和c〜kunnr IN @ p_kunnr1
              和c〜parvw EQ'VE'
              和d〜kunnr IN @ p_kunnr2。


   循环到it_main INTO wa_main GROUP BY wa_main-vbeln。
付费偷看设置
发送
5条回答
spaceman01
1楼 · 2020-08-21 09:45.采纳回答

您好萨达姆(Saddam)

在您的选择语句j〜fkart,max(j〜fkdat),max(j〜erzet

)中,您正在使用@it_main表的相应字段

请验证-

1。您在it_main表中定义的对应字段/列是什么,以容纳该字段/列?

2。在此处使用该名称 选择语句为" xxxx"

例如:如果您对这些字段使用d1,d2,则将

j〜fkart,max(j〜fkdat)用作d1,max(j 〜erzet)为d2

如果可以的话,请更新我的内容

否则我们可以选择其他选项

派大星 ヾ
2楼-- · 2020-08-21 09:52

亲爱的萨达姆

您的it_main表中有大列,

您正尝试仅按vbeln分组

您的要求是什么?

打个大熊猫
3楼-- · 2020-08-21 09:49

消息显示 "选择列表中没有别名的集合函数,主机变量或其他表达式没有对应的字段。"

不是很清楚吗?为集合函数命名,以便INTO对应 查找MAX的对应字段,例如,如果目标字段名为max_ fkdat和max_erzet:

 max(j〜fkdat)AS max_fkdat,max(j〜erzet)AS max_erzet 
nice_wp
4楼-- · 2020-08-21 10:04
我想显示具有最新日期和时间的数据.i hv 尝试这样的查询。
选择a〜vbeln,a〜posnr,a〜posex,a〜matnr,a〜arktx,a〜kwmeng,a〜vrkme,
         b〜audat,b〜auart,b〜bstnk,b〜waerk,b〜vbtyp,b〜vkorg,
         d〜name1,d〜stras,d〜ort01,d〜land1,
         e〜vbeln AS vbeln_od,e〜posnr AS posnr_od,e〜lfimg,e〜vrkme AS vrkme_od,
         f〜bldat,f〜lfart,f〜wadat_ist,f〜wadat,
         g〜wbstk,
         h〜fksta,
         i〜vbeln AS vbeln_bil,i〜posnr AS posnr_bil,i〜fkimg AS fkimg_bil,i〜vrkme AS vrkme_bil,i〜netwr AS netwr_bil,
         j〜fkart,max(j〜fkdat),max(j〜erzet)
         从vbap AS
         将vbak AS b加入a〜vbeln = b〜vbeln
         加入vbpa AS c ON b〜vbeln = c〜vbeln
         加入kna1 AS d ON b〜kunnr = d〜kunnr
         在a〜vbeln = e〜vgbel和a〜posnr = e〜vgpos上左联接嘴唇
         加入likp AS f ON e〜vbeln = f〜vbeln
         在v〜vbeln = g〜vbeln上加入vbuk AS g
         加入vbup AS h ON e〜vbeln = h〜vbeln和e〜posnr = h〜posnr
         在e〜vbeln = i〜vgbel和e〜posnr = i〜vgpos上向左加入vbrp
         在i〜vbeln = j〜vbeln上加入vbrk AS j
         进入表@it_main的对应字段
         pstyv NE'ZRET'和apstyv NE'ZSER'和apstyv NE'ZSEV'和apstyv NE'TAD'和apstyv NE'ZTAD'
              和b〜vkorg IN @p_vkorg
              和c〜kunnr IN @ p_kunnr1
              和c〜parvw EQ'VE'
              和d〜kunnr IN @ p_kunnr2
       GROUP BY a〜vbeln,a〜posnr,a〜posex,a〜matnr,a〜arktx,a〜kwmeng,a〜vrkme,
         b〜audat,b〜auart,b〜bstnk,b〜waerk,b〜vbtyp,b〜vkorg,
         d〜name1,d〜stras,d〜ort01,d〜land1,
         e〜vbeln,e〜posnr,e〜lfimg,e〜vrkme,
         f〜bldat,f〜lfart,f〜wadat_ist,f〜wadat,
         g〜wbstk,
         h〜fksta,
         i〜vbeln,i〜posnr,i〜fkimg,i〜vrkme,i〜netwr,
         j〜fkart。

但是我得到这样的错误。

樱桃小丸子0093
5楼-- · 2020-08-21 09:50

好的,先生。 工作正常

一周热门 更多>