技术开发 频道

ABAP性能实例七例

    12.4.Deleting a sequence of lines(删除内表中连续的数据)

    使用 "DELETE itab FROM ... TO ..." 删除一批连续数据。

    DO 101 TIMES.

      DELETE ITAB INDEX 450.

    ENDDO.
    

    DELETE ITAB FROM 450 TO 550.

    12.5.Copying internal tables(内表复制)

    内表可以像其他对象一样,使用MOVE语句进行内表的复制。

    如果内表有Header Line,那么使用itab[]存取内表。

    REFRESH ITAB2.

    LOOP AT ITAB1 INTO WA.

      APPEND WA TO ITAB2.

    ENDLOOP.
   

    ITAB2[] = ITAB1[].

    12.6.Comparing internal tables(内表比较)

    内表可以像其他对象一样在逻辑表达式中进行比较,如果两个内表相同,那么它们:

    - 有相同的行记录数量

    - 每对相应的行相同

    如果内表有Header Line,那么可以使用itab[]方式访问内表本身。

    DESCRIBE TABLE: ITAB1 LINES L1,

                    ITAB2 LINES L2.

    IF L1 <> L2.

      TAB_DIFFERENT = 'X'.

    ELSE.

      TAB_DIFFERENT = SPACE.

      LOOP AT ITAB1 INTO WA1.

        READ TABLE ITAB2 INTO WA2 INDEX SY-TABIX.

        IF WA1 <> WA2.

          TAB_DIFFERENT = 'X'. EXIT.

        ENDIF.

      ENDLOOP.

    ENDIF.
    

    IF TAB_DIFFERENT = SPACE.

      " ...

    ENDIF.
        

    IF ITAB1[] = ITAB2[].

      " ...

    ENDIF.

0
相关文章