Добрый всем день
у меня такой вопрос, можно ли етот код как-нибудь улучшить?
чтобы он быстрее обрабатывался
13 мио данных - 275 пакетов данних
каждый пакет 50.000 и он обрабатывается за 3 минуты это много!
Большое спасибо
Transformation 7.0
Code:
lt_wfbm[] = SOURCE_PACKAGE[].
* считать все районы 051/053
SELECT * FROM /BIC/PZ_ORG INTO TABLE tmp_einr
WHERE ( /BIC/ZGKZ NOT BETWEEN '05100000' AND '05199999' ) OR
( /BIC/ZGKZ NOT BETWEEN '05300000' AND '05399999' ) AND
objvers = 'A'.
LOOP AT tmp_einr INTO tmp_s_einr.
ls_einr-sign = 'I'.
ls_einr-Opt = 'EQ'.
ls_einr-low = tmp_s_einr-/BIC/Z_GP_ORG.
APPEND ls_einr to lr_einr.
ENDLOOP.
*удалить все районы, кроме 051 oder 053
DELETE lt_wfbm WHERE /BIC/Z_GP_EINR NOT IN lr_einr.
lt_wfbm[] = lt_wfbm2[].
DELETE lt_wfbm where WBS_ELEMT NOT BETWEEN 'A0170400000000' AND
'A0170499999999'.
LOOP AT lt_wfbm INTO ls_wfbm.
LOOP AT lt_wfbm2 INTO ls_wfbm2
WHERE CALMONTH = ls_wfbm-CALMONTH AND /BIC/Z_GP_LB_A =
ls_wfbm-/BIC/Z_GP_LB_A.
IF ls_wfbm2-/BIC/ZOBJ_CLS <> '1280' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1000' AND
ls_wfbm2-/BIC/ZOBJ_CLS <> '1105' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1050' AND
ls_wfbm2-/BIC/ZOBJ_CLS <> '1080' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1350' AND
ls_wfbm2-/BIC/ZOBJ_CLS <> '1200' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1160' AND
ls_wfbm2-/BIC/ZOBJ_CLS <> '1190' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1070' AND
ls_wfbm2-/BIC/ZOBJ_CLS <> '1220' AND ls_wfbm2-/BIC/ZOBJ_CLS
<> '1150'.
ls_wfbm2-/BIC/Z_FEHLART = 'RPA'.
ls_wfbm2-/BIC/Z_FEHLNUM = '005'.
ls_wfbm2-/BIC/Z_FEHLBES =error_txt_5.
ls_wfbm-/BIC/Z_FEHLART = 'RPA'.
ls_wfbm-/BIC/Z_FEHLNUM = '005'.
ls_wfbm-/BIC/Z_FEHLBES = error_txt_5.
ENDIF.
ENDLOOP.
ENDLOOP.