WRITE: / 'sy-tabix:',sy-tabix,itab-col1, 'sy-index:',sy-index,itab-col2. ENDDO. ENDLOOP. sy-dbcnt:Sy-dbcnt代表有多少条记录被处理了 例如:當我們查詢記錄放入內表,判斷內表中是否有數據就可以用 if sy-dbcnt = 0 MESSAGE s000. STOP. ENDIF. sy-tfill:返回当前内表(Internal Table)内的...
系统变量SY-INDEX与SY-TABIX是用来记录循环的次数或者索引的,不同的是SY-INDEX在DO...ENDDO中是有效的,而SY-TABIX在LOOP...ENDLOOP中及READ内表时获取相应的索引。 REPORT ztest_index. DATA:BEGIN OF git_student OCCURS 0, name(10) TYPE c, age TYPE i, END OF git_student. DATA:dent LIKE LINE ...
这个是把循环次数记录下来。一般在内表操作 loop的时候使用。
LOOP AT it_marc INTO wa_marc. * 生成任务名称 = 'Task' + sy-tabix Start--* WRITE sy-tabix TO g_taskname. CONDENSE g_taskname. CONCATENATE 'Task' g_taskname INTO g_taskname. * 生成任务名称 = 'Task' + sy-tabix End--* lw_marc-taskname = g_taskname. lw_marc-matnr = wa_marc...
SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,’’ 表示成功SY-DBLNT: 被处理过的记录的笔数 SY-UNAME: 当前使用者登入SAP的USERNAME;SY-DATUM: 当前系统日期;SY-UZEIT: 当前系统时间;SY-TCODE: 当前执行程序的Transaction codeSY-INDEX : 当前LOOP循环过的次数SY-TABIX: 当前处理的是internal table 的...
l标准表与排序表:会按照primary table index索引的顺序一条条的循环,且在循环里SY-TABIX为当前正在处理行的索引号 l哈希表:由于表没有排序,所以按照插入的顺序来循环处理,注,此时SY-TABIX总是0 可以在循环内表时增加与删除当前行:If you insert or delete lines in the statement block of aLOOP, this will...
我们同样需要维护观察点的触发条件。因为ABAP帮助文档告诉我们,每次LOOP循环体执行时,系统变量sy-tabix都会递增1。那么当sy-tabix等于22时,说明循环体已经执行了我们期望的次数。因此将观察点触发的条件设置为sy-tabix = 22即可。 3 方案3:使用ABAP调试器脚本 ...
SY-UNAME: 当前使用者登入SAP的USERNAME SY-DATUM: 当前系统日期 SY-UZEIT: 当前系统时间 SY-TCODE: 当前执行程序的Transaction code SY-REPID: 当前程序名称 SY-INDEX : 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数 ...
1 常用调试按钮:单个步骤(F5)、执行(F6)、返回(F7)、继续(F8)除了命令栏的按钮,还有更多好用的命令。2 点击监控点按钮(快捷键Shift+F4),可以根据程序变量设置断点。截图中,位置3写入了条件,那么sy-tabix第一次等于3后,程序就会停在该处;若位置3不写条件,那么sy-tabix每读取或赋值一次,则断点就...
系统变量SY-TABIX可以表示内部表当前所在行 2 数据库查询逻辑 1两种方式访问数据库 •在ABAP程序中,可以通过两种方式访问数据库 –OPEN SQL:标准SQL的子集,与ABAP完全集成,具有数据库无关性,数据库接口会自动将其转换为所使用的数据库的标准SQL。 –NATIVE SQL:与数据库相关,使用数据库提供的标准SQL,不经过数据...