실행시간이 대략 2배 차이납니다.
하지만! ABAP 시간은 DB 시간에 비해 매우 작은 양이기에 덤프 에러의 위험이 있는 필드심볼 ASSIGNING 을 항상 사용하는 것은 좋은 방법이 아닙니다.
튜닝하는데 ABAP 시간 0.001초라도 아까운 경우 LOOP ASSIGNING 을 쓸만 합니다.
FUNCTION yloop_assigning .
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(IV_CASE) TYPE I
*" EXPORTING
*" REFERENCE(EV_TEST_TITLE) TYPE TEXT300
*"----------------------------------------------------------------------
STATICS: lt_tadir TYPE TABLE OF tadir.
DATA: ls_tadir TYPE tadir.
FIELD-SYMBOLS: <ls_tadir> TYPE tadir.
CASE iv_case.
WHEN 0.
ev_test_title = 'CASE 0 : SELECT. prepare data'.
SELECT *
INTO TABLE lt_tadir
FROM tadir
WHERE devclass LIKE 'SAP%'.
WHEN 1.
ev_test_title = 'CASE 1 : LOOP INTO'.
LOOP AT lt_tadir INTO ls_tadir.
ENDLOOP.
WHEN 2.
ev_test_title = 'CASE 2 : LOOP ASSIGNING'.
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
ENDLOOP.
WHEN 3.
ev_test_title = 'CASE 3 : LOOP INTO & MODIFY'.
LOOP AT lt_tadir INTO ls_tadir.
CLEAR: ls_tadir-devclass, ls_tadir-author.
MODIFY lt_tadir FROM ls_tadir.
ENDLOOP.
WHEN 4.
ev_test_title = 'CASE 4 : LOOP ASSIGNING & MODIFY'.
LOOP AT lt_tadir ASSIGNING <ls_tadir>.
CLEAR: <ls_tadir>-devclass, <ls_tadir>-author.
ENDLOOP.
WHEN OTHERS.
ENDCASE.
ENDFUNCTION.
'ABAP' 카테고리의 다른 글
아밥 줄바꿈 문자 ABAP newline character (0) | 2013.06.13 |
---|---|
SU01 권한 디버깅 (0) | 2012.06.12 |
[번역] SAP ABAP Enhancements (0) | 2012.03.13 |
레퍼런스와 필드심볼 다루기 (0) | 2011.11.06 |
Where-used list 보이지 않는 사용처가 더 있다. (0) | 2011.07.19 |