Использовал тут в одной программке 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.