Cargar datos en Sap desde Microsoft Access Excel mediante Transaction Call

Academia Plasticaweb

Temas de la semana Cargar datos en Sap desde Microsoft Access Excel mediante Transaction Call
¿Cómo llegar?: Código en Visual Basic
Pasos :

Transaction Call

Notas :

Uno de los posibles metodos de conexión con Sap es el método de TRANSACTION CALL, mediante el control OCX  correspondiente :

Sirve para todas las transacciones SAP, incluso para las Zetas...

Set transOCX = CreateObject("SAP.Transactions.1")' ejemplo de instanciar el control.

Set trans = transOCX.Add("IW21", "DOMAIN") 'se instancia el objeto transacción en este caso la IW21
   Set screen = trans.Screens.Add   'se instancia un objeto pantalla
   screen.Program = "SAPLIQS0"   ' se carga el programa
  
 screen.Number = "0100"             ' se carga el dynpro
   Set Fields = screen.Fields          ·se instancia la estructura de campos
   
Fields.Add "RIWO00-QMART", "M3" ' se carga el campo de pantalla/dynpro
   Fields.Add "RIWO00-QMNUM", mirs1.Fields("AVISO") ' se carga el campo de pantalla/dynpro
   Fields.Add "BDC_OKCODE", "/00" ' se indica que tecla de función se pulsa


' Esta estructura se repetirá por cada pantalla de la transacción

Set transOCX.Connection = oConnection ' el objeto oConnection previamente se ha establecido.
   If trans.call <> True Then

   Else

   miRS2.AddNew

   miRS2!MSG = trans.MESSAGE.Value("MSGTX")

   miRS2!AVISO = mirs1.Fields("AVISO")
   miRS2!FECHA = Date

   miRS2!HORA = Time

   miRS2.Update

Este control OCX tiene como entrada una estructura que se parece al método de Batch-input típico de SAP. Hay transacciones, programas, pantallas, teclas de función y campos de pantalla.

La estructura se va cargando igual que en el método de Batch-input y por último se ejecuta. Se recupera entonces el mensaje que Sap devuelve como respuesta( de que todo ha ido ok, ó de error ).

De hecho se puede utilizar la grabación de un batch-input en Saga para conocer todos los datos de programas, dynpros, teclas de función y nombres de campos que son necesarios.

Este método es muy fiable ya que los datos realmente son validados por la transacción SAP, pero como depende del aspecto de la transacción está sujeto a los posibles cambios que se puedan dar en una transacción en concreto de una versión de SAP a otra.

Es posible que las autorizaciones de SAP impidan a los usuarios utilizar este método, pero también es posible lo contrario, es decir que este permitido para todos los usarios...

Es necesario utilizar el control Logon ACTIVE X previamente para obtener una conexión.  

Es necesario confirmar que en el Pc en cuestión el Sapgui se ha instalado con los controles OCX, porque como es lógico si no es así no funcionaría este metodo.