PDA

Ver la Versión Completa : Como ejecutar transaccion automatica segundo plano


cardama
01/03/17, 14:22:45
Saludos.
No se si el titulo es muy orientativo de la información que les solicito.
Me explicaré mejor ahora:
Tengo una macro en excel que se conecta automáticamente con SAP y ejecuta una transacción pre-asignada y la ejecuta varias veces cambiando diversos parámetros que se le van pasando.

Esta aquí todo funciona bien.

Yo lo que deseo es que dicho proceso se realice en un segundo plano, o sea, que no se estén viendo como se van rellenando los campos correspondientes. que solo se vea la hoja de excel desde donde lanzo la macro.

El codigo de conexion es:

Set SapGui = GetObject("SAPGUI")
Set Appl = SapGui.GetScriptingEngine
Set Connection = Appl.Openconnection("XXXXXXX", True)
Set Session = Connection.Children(0)
Session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = User
Session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = Pass
Session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "EN"
Session.findById("wnd[0]").sendVKey 0
.......
Con poder mantener la ventana de la aplicación minimizada me llegaría.

Gracias de antemano por la ayuda.

montsemava
02/03/17, 15:41:19
Saludos.
No se si el titulo es muy orientativo de la información que les solicito.
Me explicaré mejor ahora:
Tengo una macro en excel que se conecta automáticamente con SAP y ejecuta una transacción pre-asignada y la ejecuta varias veces cambiando diversos parámetros que se le van pasando.

Esta aquí todo funciona bien.

Yo lo que deseo es que dicho proceso se realice en un segundo plano, o sea, que no se estén viendo como se van rellenando los campos correspondientes. que solo se vea la hoja de excel desde donde lanzo la macro.

El codigo de conexion es:

Set SapGui = GetObject("SAPGUI")
Set Appl = SapGui.GetScriptingEngine
Set Connection = Appl.Openconnection("XXXXXXX", True)
Set Session = Connection.Children(0)
Session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = User
Session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = Pass
Session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "EN"
Session.findById("wnd[0]").sendVKey 0
.......
Con poder mantener la ventana de la aplicación minimizada me llegaría.

Gracias de antemano por la ayuda.

Hola, no tengo la respuesta a tu pregunta. Pero me puedes enviar el codigo con el que haces la conexión a SAP y te conectas luego a la transacción.

Te explico tengo una hoja de excel y quiero pasarla a un archivo txt a traves de una macro, hasta aqui todo bien. Pero luego quiero que ese fichero txt subirlo a una ruta en la al11, entonces necesitaria conectarme a la AL11 para dejar el fichero allí y no tengo idea de como hacerlo.

Gracias

bruky
02/03/17, 16:06:38
Buenas tardes montsemava,

Por lo que entiendo quieres que la segunda parte del script (la que sería la ejecución de la transacción y no la del login) se lance de forma automática en fondo.

Quizá esté esté diciendo una burrada, pero y si creas un batch-input recording e incluyes en tu script el lanzamiento de este batch-input en segundo plano?

Con lo que sea nos dices.
Un saludo.