Что нового

[Автоматизация] Использование AutoIT для работы с SAP R3

romprs

Новичок
Сообщения
2
Репутация
2
Привет всем.
Может кто пробовал автоматизировать что-то в SAP R3?
Очень нужно!
С уважением Роман
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
OffTopic:
а разве там нет своего языка типа ABAP/4 ?
я лично, нет, не автоматизировал. просто вспомнилось.

помоему, теме место в разделе для общения
 
Автор
R

romprs

Новичок
Сообщения
2
Репутация
2
можно и перенести.
Речь идет о попытке автоматизации переноса данных на сервер из другой системы.
Сервер находится в Москве и abap не доступен нам в принципе, а механизмы переноса через выгрузку медленны и зависят от расторопности тамошних работников. как вариант эммулировать работу пользователя в SAP т.е. роботизировать ввод.
Особенно важно это будет на момент функционирования 2 систем параллельно в течении долгого времени. Ну а предметно не спрашиваю, потому как не понятно у кого спросить, вот и задал вопрос обобщенно, если найдется тот кто это проделывал будет предметный вопрос.
 

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
как вариант эммулировать работу пользователя в SAP т.е. роботизировать ввод.
решаю массу вопросов по внесению/выгрузке/обработки данных в SAP с помощью банального VBA. работает на ура! ускоряет процесс работы в некоторых случаях в десятки раз.
 

mef-t

Осваивающий
Сообщения
303
Репутация
30
http://www.autoitscript.com/forum/topic/86574-sap-udf/
Но я так и не смог подключиться.
 

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
OffTopic:
Но я так и не смог подключиться.
Если из под Excel - то там и уметь то нечего.
запускаеш запись скрипта средством самого SAP, проделываешь операцию, получаешь готовый код, модифишь его немного и готово.
получаем что то типа того, вот тока необходимо заменить слово application на что то другое, на пример на sap.
как пример SU01D
Код:
If Not IsObject(application) Then
   Set SapGuiAuto  = GetObject("SAPGUI")
   Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
   Set connection = application.Children(0)
End If
If Not IsObject(session) Then
   Set session    = connection.Children(0)
End If
If IsObject(WScript) Then
   WScript.ConnectObject session,     "on"
   WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").resizeWorkingPane 144,30,false
session.findById("wnd[0]/tbar[0]/okcd").text = "/nsu01d"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtUSR02-BNAME").text = "bm2547"
session.findById("wnd[0]/usr/ctxtUSR02-BNAME").caretPosition = 6
session.findById("wnd[0]").sendVKey 7
Где важная часть идет
Код:
If Not IsObject(sap) Then
   Set SapGuiAuto  = GetObject("SAPGUI")
   Set sap= SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
   Set connection = sap.Children(0)
End If
If Not IsObject(session) Then
   Set session    = connection.Children(0)
End If
If IsObject(WScript) Then
   WScript.ConnectObject session,     "on"
   WScript.ConnectObject sap, "on"
End If
которая и отвечает за конект к сапу
в итоге из под VBA рулим сапом как самому захочется
 
Верх