Yozhhhhh написал:
Что за стандартый отчет в сапе, который использует батч да еще и работает с входящим файлом на загрузку? Можно его имя?
Система R/3. Вообще используется 4 стантартных отчета RFBIBL00, RFBIBL01 с INCLUDE RFBIBL02,rfbiblg0, rgle_ecs_direct_input_pp.
Есть Z-отчет который вызывает c SUBMIT RFBIBL00 а тот в свою очередь вызывает s SUBMIT rgle_ecs_direct_input_pp, rfbibl01, rfbiblg0, RFBIBL01.
т.е. отрабатывает Z-JOB.
Зaглавными символами я обозначил те модули которые я скопировал и переделал как Z* модули.
В дополнение, структуры BBSEG, BBSEG_DI, BSEG2 скопировал в соответствиющие Z-структуры, в которых везде удалил новые COBL поля.
Структура которая принимает построчно входной файл:
Code:
DATA: BEGIN OF wa,
char1(10000) TYPE c, "N1847840
END OF wa.
которая в свою очередь присваивается в форме в структуру BBSEG
Code:
FORM WA_DATEN_UEBERTRAGEN.
CASE WA+1(1).
WHEN 'B'.
CASE WA+2(9).
WHEN 'BSEG'.
BBSEG = I_BBSEG.
BBSEG = WA.
WHEN 'WITH'.
BWITH = I_BWITH.
BWITH = WA.
WHEN 'BTAX'.
BBTAX = I_BBTAX.
BBTAX = WA.
WHEN 'SELK'.
BSELK = I_BSELK.
BSELK = WA.
WHEN 'SELP'.
BSELP = I_BSELP.
BSELP = WA.
ENDCASE.
WHEN 'Z'.
CASE WA+2(9).
WHEN 'BSEG'.
BBSEG = I_BBSEG.
ZBSEG = WA.
MOVE-CORRESPONDING ZBSEG TO BBSEG.
ENDCASE.
ENDCASE.
ENDFORM.
В упомянутой форме и везде в коде BBSEG заменяется на ZBBSEG
Если бы все былo сделано в духе "MOVE CORRESPONDING" то было бы все однозначно
Но не все можно в модулях заменить на Z*.
Eсть строки кода где я не могу заменить BBSEG на ZBBSEG, так как это входные данные:
Code:
IF wa+1(30) EQ 'BBSEG'.....
В первом приближении вроде бы выходной батч соответствует старому выходному.