DATA: lt_mqs TYPE STANDARD TABLE OF zmqs.
TYPES: tt_dup_mqs TYPE STANDARD TABLE OF zmqs WITH EMPTY KEY.
DATA lt_dup_mqs TYPE tt_dup_mqs.
LOOP AT lt_mqs ASSIGNING FIELD-SYMBOL(<ls_mqs>)
GROUP BY ( z08body = <ls_mqs>-z08body size = GROUP SIZE )
REFERENCE INTO DATA(lt_group_ref) .
IF lt_group_ref->*-size > 1.
LOOP AT GROUP lt_group_ref ASSIGNING FIELD-SYMBOL(<ls_ref>).
lt_dup_mqs = VALUE tt_dup_mqs( BASE lt_dup_mqs ( z08body = <ls_ref>-z08body ) ).
EXIT.
ENDLOOP.
ENDIF.
ENDLOOP.
利用sap标准语法,在loop 中使用group 的条件,获取重复项
LOOP AT lt_mqs ASSIGNING FIELD-SYMBOL(<ls_mqs>)
GROUP BY ( z08body = <ls_mqs>-z08body size = GROUP SIZE )
这里只是计数,根据 size 大于1 ,可以判断当前group 是含重复值
利用loop group 可以得到相关重复的值
1.对于查找
内表中
是否存在
重复
字段,这个问题
SAP
好像并没有给出直接的解决办法,只能通过间接的方法去做判断,我是这样给出的判断。
2.例子说明:
REPORT Z_ZHANGM_036.
DATA: BEGIN OF wa OCCURS 0,
col01 TYPE char10,
col02 TYPE char10,
col03 TYPE char10,
END OF wa,
itab LIKE TABLE OF wa.
DATA: BEGIN OF item OCCURS 0,
col01 TYPE ch
1 修改下载FM时,文件夹 screens 和 dictionary 放在对应的FM里.
2 修复 FM里关联FM下载时,include 下载不全的问题.
3 修复在下载 从表生成的SM30维护视图FG时,include 下载不全的问题.
4 FM下载时,主程序文件名改为大写,此处只修改了下载到PC时的逻辑.
5 修改根据FG下载时,同一FG下的FM都放在同一FG的文件夹下.
5.1 在屏幕FG处增加控制选项check box[ Remove FM's floder in FG: ],当勾选后,
5.1.1 下载前删除
重复
的include文件
5.1.2 该FG下所有FM & include都放在FG根目录下,不再每个FM各建一个文件夹.
5.1.3 该FG只生成一个 global-fg_[fg-name].html文件.对应FM中的超链接 'Global
DESCRIBE TABLEIT_TEMP LINES L_LINE1.
SORT IT_TEMP BYMATID.
DELETEADJACENT DUPLICATES FROM IT_TEMP COMPARING MATID.
DESCRIBE TABLEIT_TEMP LINES L_LINE2.
IF L_LINE1
MESSAGE 'Red
select * from tb_producttype where protname in(
select protname from tb_producttype group by protname having count(*)>1
Collect:使用 COLLECT 语句可以合计
内表中
数字类型的字段。除了关键字以外的数据都需要是数字类型(f、i、p)。执行 COLLECT 语句,当存在相同关键字的数据时,合计数字类型的字段,不存在相同关键字的数据时,直接追加数据。不存在关键字的内表,则会把 CHAR 类型的字段作为关键字执行相同的操作。
内表中
若存在以CHAR 类型的 carrid 与 connid为基准的相同数据,则会以关键字作为基准合计数字类型的字段 seatsmax
值
。
场景:userlist为处理后的数据内表,字段为(身份证、员工号、标识号),需求为筛选出身份证号出现次数大于1的数据展现。
首先处理数据,将userlist中符合要求的数据附加到userlistout中。
将处理后的数据输出为alv
报表
。
该方法是通过循环内部表自己累加行数。
2.DESCRIBE TABLE it_itab LINES g_lines1 .
获得内部表的属性,将内部表行数赋
值
给 g_lines1 , g_lines1 为I型变量。
3.g_lines3 = lines(it_itab ). 使用函数来计算内部表行...