transformation 으로 해서 db table 을 계속 접근하는 것보다 end routine으로 internal table에 담은 후 처리하는게 효율적일 것 같아서 로직을 수정해보았는데 속도가 너무 안나오네요.. 거의 사용이 불가능 할 정도... 기간을 1년치로 하면 transformation 으로 하는게 더 빠른 것 같아요.. 혹시 방법이 있을까요?

아래 로직입니다.

 

DATA L_SRC TYPE STANDARD TABLE OF ZTEIS_03,
       W_L_SRC LIKE LINE OF L_SRC,
       WA LIKE LINE OF RESULT_PACKAGE.

DATA L_ZTEIS_03 TYPE STANDARD TABLE OF ZTEIS_03,
      W_ZTEIS_03 LIKE LINE OF L_ZTEIS_03.

SELECT INTO CORRESPONDING FIELDS OF TABLE L_SRC
FROM  ZTEIS_03.

SORT  L_SRC DESCENDING BY ZCALDAY ZEISC001 ZEISC002 ZEISD001 ZEISD002.

LOOP AT RESULT_PACKAGE INTO WA.
  APPEND LINES OF L_SRC TO L_ZTEIS_03.
 IF WA-/BIC/ZEISC001 EQ 'RM_A_08' OR WA-/BIC/ZEISC001 EQ 'CH_A_08' .
  DELETE L_ZTEIS_03 WHERE NOT ZEISC001 EQ WA-/BIC/ZEISC001 AND
                                ZEISD001 EQ WA-/BIC/ZEISD001 AND
                                ZEISD002 EQ WA-/BIC/ZEISD002 ).
  DELETE L_ZTEIS_03 WHERE ZCALDAY >= WA-CALDAY.

 ELSE.
  DELETE L_ZTEIS_03 WHERE NOT ZEISC001 EQ WA-/BIC/ZEISC001 AND
                                ZEISD001 EQ WA-/BIC/ZEISD001 AND
                                ZEISD002 EQ WA-/BIC/ZEISD002 ).
  DELETE L_ZTEIS_03 WHERE ZCALDAY >= WA-CALDAY.
  DELETE L_ZTEIS_03 WHERE ZEV_04 '0'.

 ENDIF.

* MAX 값 찾기
SORT  L_ZTEIS_03 DESCENDING BY ZCALDAY ZEISC001 ZEISC002 ZEISD001
ZEISD002.
READ TABLE L_ZTEIS_03 INDEX INTO W_ZTEIS_03.

WA-/BIC/ZEV_05 W_ZTEIS_03-ZEV_04.
MODIFY RESULT_PACKAGE FROM WA.
CLEAR L_ZTEIS_03.
CLEAR W_ZTEIS_03.

ENDLOOP.