Доброе утро.
Есть программа, которая запускается в фоновом режиме. Для отслеживания её статуса выводятся сообщения с помощью оператора WRITE методом класса:
METHOD write_log_b.
DATA:
l_msg TYPE sy-ucomm,
l_udate TYPE char10,
l_utime TYPE char8.
GET TIME.
CONCATENATE sy-datum+6(2) '.' sy-datum+4(2) '.' sy-datum+0(4) INTO l_udate.
CONCATENATE sy-uzeit+0(2) ':' sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO l_utime.
CONCATENATE l_udate l_utime txt INTO l_msg SEPARATED BY space.
IF sy-batch EQ 'X'.
WRITE: / l_msg.
ENDIF.
ENDMETHOD.
Проблема в том, что сообщения в спуле появляются только после того, как программа полностью отработала, их нельзя посмотреть во время её работы, ради чего все и затевалось.
Отладка в фоне идет через пустой цикл с проверкой переменной в теле, потом в отладчике (через SM50) изменяю её значение, и дальше иду по коду в отладчике.
В чем может быть дело? SDN копал, разные варианты пробовал: и выводить внутри START-OF-SELECTION одно сообщение, и после END-OF-SELECTION, и NEW-PAGE.