4. 由于都没有等于 '3018054318' 的记录,则返回SY-SUBRC = 8。 解决此问题的关键: 在于对内表的排序,如果在 READ TABLE TAB2 WITH KEY COLUMN1 = '0800113864' COLUMN2 = '2012' COLUMN3 = '3018054318' BINARY SEARCH. 时候,使用到COLUMN1 = '0800113864' COLUMN2 = '2012' COLUMN3 = '3018054318' ...
READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内表排序,否则有可能找不到记录,因为二分查找反复将查找区间对半划分,如果要查找的值小于查找区间的中间位置的数据项值,则查找区间将缩小到前半...
READ TABLE<itab>FROM<wa>…以表关键字为查找条件,条件值来自<wa> COMPARING:系统根据<k1>...<kn>(关键字段)读取指定的单行与工作区<wa>中的相应组件进行比较。 如果系统找根据指定<k1>...<kn>找到了对应的条目,且进行比较的字段内容相同,则将SY-SUBRC设置为0,如果进行比较的字段内容不同,则返回值2;如果...
READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内表排序,否则有可能找不到记录,因为二分查找反复将查找区间对半划分,如果要查找的值小于查找区间的中间位置的数据项值,则查找区间将缩小到前...
read table lt_mardh with key …… binary search transporting no fields. (请详细测试或查看帮助系统,以了解二分查找的这个神奇作用) "根据索引读取内表 read table lt_mardh index sy-tabix into ls_mardh. if sy-subrc = 0 and ls_mardh-matnr = p_matnr ...
如果系统找到一个完全符合指定条件的行,SY-SUBRC返回0,否则返回4。一般不需要指明所有字段,而是在SELECT后用"*"符号,若指定多个数据对象,则需要将这些对象放在括号中,并用逗号隔开,而且其顺序需要与SELECT子句中指明的表字段顺序一致。 这里的<target>为结构非内表。 示例: TABLES:sflight. DATA:sum TYPE i VALUE...
一、SE38运行程序:RSHOWTIM,可以看到SAP标准的更多的细节优化代码,里面应该收集了大部ABAP相关的代码需要注意的地方,应该是每一个ABAPER都需要多读几次。 并且能进行优化前后代码运行的效率的时间做对比。 二、以下是网络收集来的一些优化说明,应该也都是前面的标准例子中有说明,只是这里用中文又说了一次。
5、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数“FUNCTION ’ZREAD_TEXT’”取回文本数据; 6、新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行; 7、SE93:把ABAP写好的程序指定一个事务码执行; 8、abap引号内的字符’’必须要是大写; ...
SAP Managed Tags: ABAP Development Hello SY-SUBRC = 8: No entry was read. This return code only occurs with a SORTED TABLE or a STANDARD TABLE with the BINARY SEARCH addition. SY-TABIX is set to the number of all entries plus 1. Reply Former Member 2009 Feb 24 6:33 AM ...
Insert wa INTO TABLE itab.单条插入不指定位置 Insert wa INTO itab INDEX n.单条插入指定插入位置 INSERT LINES OF itab1 [from n1 to n2] INTO TABLE itab2. INTO itab2 [ INDEX n] 读取内表的一条将数据读到结构体中 如果系统独到行sy-subrc = 0 .然后读取到结构体中, Sy-tfill存放总行数 Sy...