Текущее время: Пт, апр 19 2024, 05:27

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ИЗ VBA В SAP
СообщениеДобавлено: Пт, июл 11 2014, 16:18 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2014, 15:50
Сообщения: 8
Доброго дня.
Не пинайте если не сюда написал - впервые тут.


Есть транзакция в SAP, заходим, далее множество полей для ввода.
Есть файл в EXCEL, заполняя там данные (согласно полей SAP) и при запуске макроса эти данные заполняются в транзакции SAP, сначала зайдя в нее. Пробывал сделать сам. Дошел только до того как с кнопки отркрыть транзакцию через создание ярлыка в SAP и открытия его через диалог в VBA.
С чего начать, как открыв транзакцию записать строки согласно кода VBA?

Спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Сб, июл 12 2014, 11:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 22 2013, 01:09
Сообщения: 108
Откуда: г. Жлобин, Республика Беларусь
Пол: Мужской
FARAon написал(а):
Доброго дня.
Есть транзакция в SAP, заходим, далее множество полей для ввода.
Есть файл в EXCEL, заполняя там данные (согласно полей SAP) и при запуске макроса эти данные заполняются в транзакции SAP, сначала зайдя в нее. Пробывал сделать сам. Дошел только до того как с кнопки отркрыть транзакцию через создание ярлыка в SAP и открытия его через диалог в VBA.
С чего начать, как открыв транзакцию записать строки согласно кода VBA?


Хммм... Обычно в рамках SAP R/3 пишут программу, входным параметром которой является имя EXCEL-файла, в котором содержаться нужные данные. Эта программа считывает по имени содержимое EXCEL-файла, забирает нужные данные, вызывает транзакцию и записывает в соответствующие поля. Если же вопрос состоит в том, чтобы из EXCEL передать какие то данные в SAP R/3, запустив макрос в рамках EXCEL, то тогда смотрите в сторону механизма RFC на VBA, в SAP Help думаю вся необходимая информация имеется. Только все равно придется писать какой RFC-модуль в рамках SAP R/3, который будет вызывать транзакцию и выполнять раскладку по полям.

_________________
Когда другие слепо следуют за истиной, помни - ничто не истина.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Сб, июл 12 2014, 17:09 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
Если пакетный ввод для транзакции возможен, можно попробовать вызвать RFC FM например:
RFC_CALL_TRANSACTION
RFC_CALL_TRANSACTION2
CALL_TRANSACTION_FROM_TABLE

соответственно смотреть: пакетный ввод, вызов RFC FM из VBA и то и другое можно без проблем нагуглить

можно ещё попробовать sap gui scripting, тоже без проблем гуглится

_________________
Изображение Попытка не пытка


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Пн, июл 14 2014, 12:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Обменяюсь опытом, может, кому пригодится или натолкнет на мысль. Я веду в Excel некий реестр своих транспортных запросов и у меня настроен дабл-клик ячеек с номером ТЗ. По нему открывается новый режим в SAP и в нем запускается транзакция SE01, которой передается номер запроса из ячейки. Очень удобно!

Построено всё на использовании командной строки для sapshcut.exe. В Excel код VBA процедуры запуска транзакции выглядит примерно так:
Code:
Sub openOneTR(TRKORR As String)

    Dim strSapshcut     As String
    Dim strSystemUser   As String
    Dim strCommand      As String
    Dim strShell        As String
   
    strSapshcut = "C:\Program Files\SAP\FrontEnd\SAPgui\sapshcut.exe"
    strSystemUser = "-system=DDD -client=200 -user=YOURUSER -language=RU -pw=YourPassword -reuse=1 -maxgui"
    strCommand = "-command=""*SE01 TRDYSE01SN-TR_TRKORR="
   
    strShell = strSapshcut & " " & strSystemUser & " " & strCommand & TRKORR & """" '
   
    Shell strShell, vbMaximizedFocus

End Sub

Подробные коды командной строки для sapshcut.exe можно посмотреть, например, здесь: http://www.stechno.net/sap-notes.html?v ... &id=103019


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Пн, июл 14 2014, 14:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Gustav написал:
Обменяюсь опытом, может, кому пригодится или натолкнет на мысль. Я веду в Excel некий реестр своих транспортных запросов и у меня настроен дабл-клик ячеек с номером ТЗ. По нему открывается новый режим в SAP и в нем запускается транзакция SE01, которой передается номер запроса из ячейки. Очень удобно!

Может, реестр запросов сразу в SAP вести или использовать Solution Manager для таких задач?
Хранение пароля SAP в открытом виде не есть хорошая практика.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Ср, июл 16 2014, 10:40 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Удав написал(а):
Хранение пароля SAP в открытом виде не есть хорошая практика.
C этим согласен, конечно, но...
Удав написал(а):
Может, реестр запросов сразу в SAP вести
Можно, но в моем реестре в одном флаконе запросы из двух систем разработки (два разных продуктива) и дабл-клик в Excel'е на ходу соображает, в какую из них нырять. Завести реестр внутри SAP, например, в одной из двух и ходить в другую по RFC - пока не готов.
Удав написал(а):
или использовать Solution Manager для таких задач?
В одной из двух уже пытаемся использовать, но остается другая, Солмэном пока не охваченная. И, чисто субъективно, Солмэн пока не очень нравится, и особенно его web-интерфейс.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Ср, июл 16 2014, 17:26 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Gustav написал:
в моем реестре в одном флаконе запросы из двух систем разработки (два разных продуктива) и дабл-клик в Excel'е на ходу соображает, в какую из них нырять. Завести реестр внутри SAP, например, в одной из двух и ходить в другую по RFC - пока не готов.

У нас 6 систем разработки и такое же количество продуктивов.
Никаких проблем, оборачиваете в RFC-функцию ФМ TR_DISPLAY_REQUESTS ;)

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP  Тема решена
СообщениеДобавлено: Чт, июл 17 2014, 18:03 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 11 2014, 15:50
Сообщения: 8
Решил проблему написанием скрипта в VBS и дальнейшей заливкой.
Все бы ничего, но к примеру, код дошел до момента сохранения репорта и дальше не идет.
Как программно "нажать SAVE" в активном окне? И сохранить этот файл в папке? (формат excel)
Желательно бы обозвать файл константой прописанной в коде.
И кстати можно ли выключить ScreenUpdating?

Спасибо за помощь!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Ср, июл 25 2018, 10:15 
Начинающий
Начинающий

Зарегистрирован:
Вт, фев 20 2018, 15:16
Сообщения: 1
при запуске предыдущего кода
Code:
Sub openOneTR(TRKORR As String)

    Dim strSapshcut     As String
    Dim strSystemUser   As String
    Dim strCommand      As String
    Dim strShell        As String
   
    strSapshcut = "C:\Program Files\SAP\FrontEnd\SAPgui\sapshcut.exe"
    strSystemUser = "-system=DDD -client=200 -user=YOURUSER -language=RU -pw=YourPassword -reuse=1 -maxgui"
    strCommand = "-command=""*SE01 TRDYSE01SN-TR_TRKORR="
   
    strShell = strSapshcut & " " & strSystemUser & " " & strCommand & TRKORR & """" '
   
    Shell strShell, vbMaximizedFocus

End Sub
просит добавить параметры - описание системы типа ECP-P1...
Как в код добавить параметр описания системы? Где найти описания комманд?
Спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ИЗ VBA В SAP
СообщениеДобавлено: Ср, июл 25 2018, 15:40 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, мар 29 2007, 11:51
Сообщения: 330
Откуда: Yugorsk.RU
Пол: Мужской
> Как программно "нажать SAVE" в активном окне?
если мы говорим о vbs-скриптах SAP GUIScrpting, то обычно если окно не модальное, то в командную строку программно запихивается код команды нажатия на кнопку "Сохранить" - он разный для разных транзакций (например =SAVE , =BU и т.п.). Сделайте скрипт-рекордером запись действий с нажатием кнопки, увидите её код.

osession.SendCommand "=SAVE"
или както так, через ввод кода в консоль
osession.findById("wnd[0]/tbar[0]/okcd").Text = "=SAVE"
osession.findById("wnd[0]").sendVKey 0

>И сохранить этот файл в папке? (формат excel)
тут зависит от того, какой диалог сохранения всплывает (топорный саповский, как по кнопке Экспорт списка - он без проблем управляется точно так же средствами скриптинга... делаете рекордером запись сохранения одного файла и всё увидите).
а если там стандартный Win-диалог вылазиет, то скриптинг системные окна не видит вообще (они ведь вне саплогона всплывают) - там нужно огород городить с api-вызовами эмуляции нажатия на клавишу Enter (поиск hwnd всплывшего окна диалога, и отправка ему через API PostMessage). Задача решаемая, но с бубном.

>И кстати можно ли выключить ScreenUpdating?
нет конечно - а то как у вас тогда PAI-логика экранов саповских отрабатывать будет? Зачем её отключать, в скорости вы не выиграете. Скриптинг очень медленный движок.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB