Багофича в кишках SAP

Использовал тут в одной программке FM ‘FI_ITEMS_MASS_CHANGE’. Вроде как хорошая помогалка. Мне нужно менять только поле BSEG-ZLSPR.

С помощью этого модуля я массово менял бухгалтерские документы с памятными позициями ТАП (созданные из транзакции F-47). Всё вроде почти нормально. Даже прикрутил в выходной форме теперь любимый мной BAL.

Но когда я натравил туда документы платежного требования (из транзакции F-59, код ОГК = P), то изменения не сохранялись, а в сообщениях появилась ошибка:

Данные пакетного ввода для экрана SAPMF05L 0306 отсутствуют.

№ сообщения 00 344

Вот и развалился внутренний пакетный ввод на транзакции FB02.

Стал искать внутри, нашел загвоздку в FM ‘NEXT_DYNPRO_SEARCH’.

В табличке T019 делается выход на запись:

A    K    X        303

Хотя по факту он должен выходить на запись:

A    ‘ ‘    P        306

Если пакетник запускать в отладке в видимом режиме, то видно, что включается именно 306 экран, и никак не 303.

Просто потому, что там кое-что прописано напрямую в коде, а именно все ОГК за исключением оговорённых считаются = ‘X’.

Поискал ноты на этот счёт – не нашел ничего стоящего.

Ну и непонятен подход к глотанию успешного сообщения. Внутри обнаружил код, что если ловится из пакетника сообщение F5 300, то это сообщение глотается, и BAL выглядит куцо. В принципе можно добавить дополнительный код, типа если сообщений ввобще нет, то добавить туда сообщение F5 300.

Опубликовано 28.04.2010 в 13:16 · Автор ivan · Ссылка
Рубрики: ABAP

Написать комментарий