Сделал программу, внутри которой реализовал пакетный ввод через PERFORM bdc_transaction.
Если запускать программу в диалоге, пакетный ввод отрабатывает нормально. С любыми опциями: mode N (фоновый пакетный ввод), mode A (пакетный ввод через диалог).
Но если запускаю программу в фоне - пакетный ввод вообще не отрабатывает, либо отрабатывает криво. Главный вопрос - как это отлаживать. Запустил отладчик до PERFORM bdc_transaction, на самой строке PERFORM bdc_transaction отладчик вылетает. Далее возвращает ошибку 1001 (это вроде общая ошибка, проблема с данными).
Нагуглил такие ссылки:
https://saphr.ru/page/88/ - тут предлагается использовать программу RSBDCSUB Batch Input: Process All Sessions для фонового пакетного ввода, не очень объяснено, для чего это может быть полезно. Также есть мысли, что возможно нужны где-то какие-то таймауты, потому что фоновое задание быстрее диалога. Или из-за чего еще может быть проблема?