abap中sy-index和sy-tabix使用的时候有什么区别?

如题所述

y-index和sy-tabix都是系统字段,用来记录循环的次数。
sy-index 在DO....ENDDO循环里有效,而sy-tabix在loop at ......endloop里有效。
如下面的例子:
DATA: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA itab LIKE TABLE OF line WITH HEADER LINE.
DO 30 TIMES.
line-col1 = sy-index.
line-col2 = sy-index * sy-index.
APPEND line TO itab.
ENDDO.
LOOP AT itab .
DO 2 TIMES.
WRITE: / 'sy-tabix:',sy-tabix,itab-col1,
'sy-index:',sy-index,itab-col2.
ENDDO.
ENDLOOP.
温馨提示:内容为网友见解,仅供参考
无其他回答

abap中sy-index和sy-tabix使用的时候有什么区别?
y-index和sy-tabix都是系统字段,用来记录循环的次数。sy-index 在DO...ENDDO循环里有效,而sy-tabix在loop at ...endloop里有效。如下面的例子:DATA: BEGIN OF line,col1 TYPE i,col2 TYPE i,END OF line.DATA itab LIKE TABLE OF line WITH HEADER LINE.DO 30 TIMES.line-col1 = sy...

ABAP几种内表的操作
ABAP中有三类内表,标准表,排序表和哈希表。三种内表介绍标准表的每一行对应一个逻辑索引-SY-TABIX,填充内表的时候,可以将数据附加在现有行之后,也可以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表进行插入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各...

ABAP几种内表的操作
ABAP中有三类内表,标准表,排序表和哈希表。三种内表介绍标准表的每一行对应一个逻辑索引-SY-TABIX,填充内表的时候,可以将数据附加在现有行之后,也可以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表进行插入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各...

abap smartform如何设置换页 假设每页十条记录 如何自动换页
第1步:添加全局变量记录换行标识;第2步:用LOOP显示数据,在LOOP下面加入程序行和换行命令,在换行命令后面插入显示模板;例子如下:全局变量:index type sy-tabix 程序行:输入sy-tabix,输出index,内容index = sy-tabix mod 10.换行命令 换行条件:index = 0 and sy-tabix > 1 ...

ABAP高手请进
定义sy-tabix 。DATA:L_INDEX LIKE SY-TABIX.新增物料组计算资料到itab select distinct count(matkl)into itab-type_count from mara .append itab .clear itab .更新itab loop at itab .l_index = sy-tabix .select count(MATNR)into itab-mara_count from mara .MODIFY itab INDEX L_...

实现ABAP 条件断点的三种方式分享
其次,利用ABAP调试器的观察点(Watchpoint)也是一种方法。通过监控系统变量sy-tabix,设置为等于22,同样能在第22次循环时触发观察点,显示调试器提示。最后,ABAP Debugger Script允许我们编写自定义脚本来控制断点的触发。比如,可以编写脚本检测变量值,如变量值为22时触发断点,这对于处理复杂的逻辑条件...

abap 中 相同结构的内表,其中一个有数据,另外一个无数据,如何将数据复 ...
用该方式将 表格行附加 到另一个表 格中的速度 比在循环中 逐行进行附 加快3到4倍 。在 APPEND 语句之后, 系统字段 SY-TABIX 包含附加的 最后一行的 索引。DATA: BEGIN OF ITAB OCCURS 10.COL1 TYPE C,COL2 TYPE I,END OF ITAB.DATA JTAB LIKE ITAB OCCURS 10 WITH HEADER LINE.DO ...

abap 如何分类统计内表的行数,像group by 一样。
Group by 不是拿来统计行数的, 好不.统计内表行数可以用 data: lv_num type i.describe table lt_table lines lv_num.

ABAP显示报表时,想要只显示100条记录,用什么语法?怎么写
如果你的报表是用Report程序开发的,且是用内表输出的话,实现起来很简单 只需要加一个从循环中跳出的判定,如下 LOOP AT itab INTO work.WRITE: ……..IF SY-TABIX = 100.(SY-TABIX 是内表索引)EXIT.ENDIF.ENDLOOP.这样便可以输出前100条,也可以输出任意100条 如果你是想要每页只显示100条...

实现ABAP条件断点的三种方式
方法二:排云掌 - 利用观察点(Watchpoint)利用调试器的观察点功能,通过设置sy-tabix = 22,监控循环次数,当达到第22次时触发提醒,无需额外维护条件。方法三:风神腿 - ABAP Debugger Script通过编写ABAP Debugger Script,监控变量值变化,如变量值为22时,触发断点。这种方法更灵活,适用于监控复杂的...

相似回答