Текущее время: Вс, июл 06 2025, 02:49

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 19 2014, 09:08 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
Добрый день!
При работе с SAP GUI Scripting из Excell VBA запускаю транзакцию (методом имитации нажатия на кнопку пользователем) Все запускается, но Excell перестает отвечать до завершения выгрузки транзакции. Происходит запуск транзакции в синхронном режиме. Сколько не искал в интернете, не могу найти примера запуска транзакции в асинхронном режиме. Это возможно?
Буду очень благодарен за пример запуска транзакции в асинхронном режиме.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Сб, сен 20 2014, 13:05 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
Поясните, пожалуйста, детальнее Ваш пример с синхронным режимом.
и какую задачу Вы вообще хотите решить?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пн, сен 22 2014, 09:28 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
Проблема в том, что, пока транзакция полностью не завершится, приложению, из которого осуществляю запуск (Excell) не возвращается контроль. Он как бы зависает и нет возможности запустить аналогичным образом еще одну транзакцию. Хочу, чтобы Excell не ждал возвращения контроля из SAP.
По сведениям из интернета понял, что есть возможность запуска в асинхронном режиме, но примеров найти не удалось. Может быть, подскажете, как быть?


Последний раз редактировалось Illusorio Пн, окт 27 2014, 17:23, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пн, сен 22 2014, 16:37 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
может попробовать окно с индексом [1] ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Вт, сен 23 2014, 13:23 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
А что это изменит? После того, как запущена транзакция, Excell висит и больше не в сосотоянии запустить ни одну транзакцию ни в одном окне SAP. Мне это нужно для автоматизации множества однотипных действий в нескольких окнах. Чтобы не засорять я убрал из примера части программы, которые определяют номер сессии и номер соединения, заменил их 1 и 0 соответственно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Вт, сен 23 2014, 17:39 
Модератор
Модератор

Зарегистрирован:
Пн, июн 27 2011, 08:25
Сообщения: 479
Попытайте счастья в "Форум по программированию в SAP" :)
Переместил тему.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Ср, сен 24 2014, 20:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Illusorio написал(а):
Мне это нужно для автоматизации множества однотипных действий в нескольких окнах.

Excel не самый лучший инструмент для автоматизации. Почему не подходит LSMW?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Чт, сен 25 2014, 08:56 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
Посмотрел, что такое LSMW, попробовал запустить, SAP говорит, что такой транзакции нет. Видимо, это инструментарий разработчика, к которому у меня нет доступа. Я пользователь, а эксель мне удобен, так как им получаю необходимые данные из других источников и провожу обработку информации перед вводом в транзакции.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Чт, сен 25 2014, 22:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Illusorio: ну как видите, эксель вам не совсем удобен в силу невозможности сделать все, что вам хочется. Подозреваю, что вам не удастся вылечить вашу проблему. Уж очень она смахивает на особенности реализации работы COM\OLE с клиентом SAP. Может быть, если бы вы привели источник найденный вами в интернете, можно было бы понять есть ли решение, или вы что-то не так прочли в документации.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 26 2014, 09:05 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
Да в том то и дело, что информации на эту тему в интернете почти нет. Когда писал программу по крупицам искал сведения в интернете. О существовании LSMW узнал из сообщения Удава. Из интеренета понял, что это подсистема SAP и пробовал ее запустить, как обычную транзакцию SAP. SAP сообщил, что такой транзакции нет. В хелпах, что установлены ни одного упоминания о LSMW. У меня есть сомнения, что эта система доступна пользователям SAP, думаю, что только програмистам. Может быть у Вас есть какая-нибудь документация на эту тему? Буду очень благодарен!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 26 2014, 09:17 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
Есть второй вопрос, возможно глупый. :) Мне попадались упоминания о терминальном режиме доступа к SAP. Стоит ли в моей ситуации копать в эту сторону?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 26 2014, 10:05 
Ассистент
Ассистент

Зарегистрирован:
Пн, май 07 2007, 14:31
Сообщения: 35
Погуглил за вас.

Code:
Private Declare Function CreateThread Lib "kernel32"
    (ByVal LpThreadAttributes As Long, _
    ByVal DwStackSize As Long, _
    ByVal LpStartAddress As Long, _
    ByVal LpParameter As Long, _
    ByVal dwCreationFlags As Long, _
    ByRef LpThreadld As Long) As Long

Public Sub AsyncRunFunctionTask()
    Dim ID As Long
    ID = CreateThread(nil, 0, AddressOf task, nil, 0, ThreadID1)
End Sub


Проверил - вроде работает :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 26 2014, 11:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А какая версия SAP у вас стоит?
LSMW входит в стандартную поставку SAP начиная с версии 4.6.
Вот документация.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Пт, сен 26 2014, 11:40 
Начинающий
Начинающий

Зарегистрирован:
Пт, сен 19 2014, 08:36
Сообщения: 9
У меня версия 710. Возможно, часть функций просто заблокировано. Как Вы запускаете LSMW, просто введя эту аббревиатуру в окошко ввода названия транзакции? Меню у меня на русском, его все просмотрел, не нашел ничего, чтобы могло переводиться на английский, как Legacy System Migration Workbench.

To: AtomKrieg Спасибо за пример. Буду пробовать с помощью Вашего кода запустить транзакцию. (В программировании только разбираюсь)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запуск в асинхронном режиме транзакции из VBA
СообщениеДобавлено: Сб, сен 27 2014, 16:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Да, просто в строке команд набираете LSMW.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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