g_lines2 = g_lines2 + 1.
ENDLOOP.
该方法是通过循环内部表自己累加行数。
2.DESCRIBE TABLE it_itab LINES g_lines1 .
获得内部表的属性,将内部表行数赋值给 g_lines1 , g_lines1 为I型变量。
3.g_lines3 = lines(it_itab ). 使用函数来计算内部表行数。
以上两种方法中,第一种方法不推荐使用,推荐使用后一种方法。
但是如果要求计算内表内部分符合条件的行数,则需要使用第一种方法,循环内表,配合if或者 at end of 等判断条件使用.
例:
denominator = 0.
molecule = 0.
*计算供应商到货及时率 实际到货日期 - 要求到货日期 <= 2 即满足及时率
*但是要根据工厂和供应商来计算分子和分母
loop at gt_suppliers assigning <fs_suppliers>.
read table gt_ekbe1 into gw_ekbe1 with key
ebeln = <fs_suppliers>-ebeln ebelp = <fs_suppliers>-ebelp.
if sy-subrc = 0.
<fs_suppliers>-budat = gw_ekbe1-budat.
endif.
move-corresponding <fs_suppliers> to gw_supcopy .
clear diff .
call function 'HR_99S_INTERVAL_BETWEEN_DATES'
exporting
begda = gw_supcopy-eindt
endda = gw_supcopy-budat
tab_mode = 'I'
importing
days = diff .
if diff - 1 <= 2.
molecule = molecule + 1 .
endif.
denominator = denominator + 1 .
at end of pinjie.
timerate = molecule / denominator.
timerate1 = timerate * 100.
gw_suppliers_alv-werks = gw_supcopy-werks.
gw_suppliers_alv-lifnr = gw_supcopy-lifnr.
gw_suppliers_alv-jsl = timerate1 .
append gw_suppliers_alv to gt_suppliers_alv.
clear:denominator,molecule,timerate,timerate1,gw_suppliers_alv,gw_supcopy .
endat.
endloop.
以下是统计内表行数常用的三种方法,如下: 1、循环内表,累加LOOP AT it_itab. g_lines2 = g_lines2 + 1. ENDLOOP. 该方法是通过循环内部表自己累加行数。 2.DESCRIBE TABLE it_itab LINES g_lines1 .获得内部表的属性,将内部表行数赋值给 g_lines1 , g_lines1 为I型变量。 3.g_lines3 = lines(it_itab ). 使用函数来计算内部表行...
1 读取
内表行数
两种方法:
“1 lt_sflight为
内表
,lv_line为
行数
值
DESCRIBE TABLE lt_sflight LINES DATA(lv_line).
"2 效果与第一种一样
DATA(lv_line2) = lines( lt_sflight ).
2 读取底表数据
行数
方法:
"查询航班表
中
按照carrid分组的
行数
SELECT
carrid ,
COUNT( carrid ) AS line3
FROM sflight
select * from tb_producttype where protname in(
select protname from tb_producttype group by protname having count(*)>1
DATA : STR TYPE STRING.
DATA : LENGTH TYPE I.
STR = ‘132dsfaf456135asd1f5sda6f4s13246543ad31f32dsa4ffdsafsdafffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65sad4f32sda1f23’.
1、
内表
ABAP
中
的
内表
相当于其他程序设计语言
中
的二维数组,存储多行结构相同的数据。不同于二维数组,
内表
在创建后,列结构于列数是固定不变的,而
行数
是动态增长的。
内表
支持循环对每
行数
据进行操作,也支持整体操作。内行是具有行和列的结构,不同于数据库表,
内表
仅在程序运行期间在内存
中
存储数据。
ABAP
中
有三种
内表
类型:标准表、哈希表、排序表。
2、可以使用的
内表
数据类型:structure、数据库表...
场景:userlist为处理后的数据
内表
,字段为(身份证、员工号、标识号),需求为筛选出身份证号出现次数大于1的数据展现。
首先处理数据,将userlist
中
符合要求的数据附加到userlistout
中
。
将处理后的数据输出为alv报表。