您的位置:首页 > 其它

ABAP性能优化之修改一组纪录

2015-05-29 10:14 169 查看
使用modify命令的不同形式加快这种操作的处理速度。

不建议使用:

Loop at int_fligh.

If int_fligh-flag is initial.

Int_fligh-flag = ‘X’.

Endif.

Modify int_fligh.

Endloop.

建议使用:

Int_fligh-flag = ‘X’.

Modify int_fligh transporting flag where flag is initial.

例子:

*测试目标:把评估范围的1101 修改成为 1201

DATA : I_MBEWH TYPE STANDARD TABLE OF MBEWH WITH HEADER LINE.

SELECT *

FROM MBEWH

INTO TABLE I_MBEWH

UP TO 10 ROWS.

WRITE : / '处理前输出样式:'.

LOOP AT I_MBEWH.

WRITE : / I_MBEWH-MATNR,I_MBEWH-BWKEY,I_MBEWH-BWTAR,I_MBEWH-LFGJA,

I_MBEWH-LFMON,I_MBEWH-LBKUM,I_MBEWH-SALK3,I_MBEWH-VPRSV.

ENDLOOP.

*不建议使用方法

*LOOP AT I_MBEWH.

* IF I_MBEWH-BWKEY = '1101'.

* I_MBEWH-BWKEY = '1201'.

* ENDIF.

* MODIFY I_MBEWH.

*ENDLOOP.

*建议使用的方法

I_MBEWH-BWKEY = '1201'.

MODIFY I_MBEWH TRANSPORTING BWKEY WHERE BWKEY = '1101'.

SKIP 2.

WRITE : / '处理后输出样式:'.

LOOP AT I_MBEWH.

WRITE : / I_MBEWH-MATNR,I_MBEWH-BWKEY,I_MBEWH-BWTAR,I_MBEWH-LFGJA,

I_MBEWH-LFMON,I_MBEWH-LBKUM,I_MBEWH-SALK3,I_MBEWH-VPRSV.

ENDLOOP.

测试显示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: