Текущее время: Вс, июн 29 2025, 16:47

Часовой пояс: 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 часа


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

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


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

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