Вызов RFC ФМ из документов MS Office с помощью VBA
Иногда в процессе, например, миграции данных у заказчика возникает желание реализовать миграцию данных через "кнопку в файле Excel". Как сделать это технически? Опишу вкратце возможный вариант реализации, надеюсь, кому-нибудь такая возможность пригодится.
Иногда в процессе, например, миграции данных у заказчика возникает желание реализовать миграцию данных через "кнопку в файле Excel". Процесс выглядит примерно так: пользователь выгружает данные из не-SAP системы в файл Excel. Далее нажимает кнопку "загрузить данные в SAP" и получает сообщение о статусе загрузки данных «загруженные/не загруженные данные» в SAP R/3.
Как это технически сделать? Опишу вкратце возможный вариант реализации, надеюсь, кому-нибудь такая возможность пригодится.
Для начала необходимо установить соединение с системой с помощью написания кода VBA (Рис.1). Здесь создается объект gr_r3 с помощью которого идет взаимодействие между Excel и SAP R/3. Параметр ABAPDebug помогает подключиться к SAP R/3 в режиме отладки.
Рис. 1 Код функции установки соединения с SAP R/3 системой
Метод «logon» вызывает SAPGui для подключения к системе (Рис.2).
Рис.2 SAP logon
Отключение от SAP осуществляется с использованием следюующих операторов (Рис.3)
Рис.3 Отключение от SAP
Для передачи данных между Excel и SAP будем использовать RFC функциональный модуль ZTST_TEST_RFC с импортным параметром I_PARAM и таблицей IT_TABLE. Инициализация параметров осуществляется следующим образом (Рис.4):
Рис.4 Инициализация параметров RFC ФМ
Для запуска ФМ используется метод Call, он возвращает статус выполнения (успешно/не успешно).
Рис.5
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти
Обсуждения 2
Комментарий от
Олег Башкатов
| 11 февраля 2015, 13:27
сколь угодно сессий
сколь угодно запусков
Комментарий от
Илья Филимонов
| 13 февраля 2015, 04:24
Если вы выполнили LogOn введя логин и пароль средствами BEx'а, то все параметры соединения доступны для анализа.
Если вы выполнили LogOn в BEx Analyzer со стороны Backend'a (тр. RRMX), то параметры соединения отсутствуют, словно выполнена имитация.
Сурово.