Это ответ на вопрос «почему BAPI_XBP_READ_SELSCREEN
не работает», а не ответ на главный вопрос «Как получить параметры экрана выбора».
Я не уверен, но, думаю, BAPI_XBP_READ_SELSCREEN
не работает, потому что вы не применяете обычную логику XBP.
XBP («eXternal Background Processing») - это библиотека API, используемая для планирования заданий из внешнего планировщика. Он основан на XMI (инфраструктура "eXternal Management Interface"), которая используется другими API и предлагает общие функции, особенно журнал.
XMI и приложения, основанные на XMI, поддерживают RFC, поэтому их можно вызывать удаленно.
Чтобы использовать API на основе XMI, необходимо:
- вызовите функциональный модуль
BAPI_XMI_LOGON
, чтобы открыть сеанс для использования библиотеки API, которую вы хотите использовать. Для XBP используйте параметры INTERFACE = 'XBP' и VERSION = '3.0' (или нужную версию). Параметры EXTCOMPANY и EXTPRODUCT могут быть любыми значениями, они используются только тогда, когда разные библиотеки API XMI используются во время одного сеанса, должны передаваться одни и те же значения.
- вызовите нужные API-интерфейсы (
BAPI_XBP_READ_SELSCREEN
в вашем случае). Обратите внимание, что есть параметр «внешний пользователь», который является свободным полем, чтобы быть идентификатором внешнего приложения. Это значение сохраняется вместе с журналами, чтобы вы могли просматривать или получать журналы XMI с помощью внешнего приложения (транзакция RZ15).
- звоните
BAPI_XMI_LOGOFF
- вызов
BAPI_TRANSACTION_COMMIT
для фиксации изменений в журнале
- закрыть соединение RFC (если XMI и API вызывались удаленно)