Saludos a tod@s otra vez.
Sigo paso a paso aprendiendo el manejo de SAP y sobre todo su parte de programación. De momento mis conocimientos no tienen el nivel para colaborar en ayudar sobre las dudas que aparecen en el foro. Espero pronto poder aportar mis conocimientos.
Os planteo una consulta. Ahora estoy intentando desarrollar una macro en excel que realice 2 procesos que se seleccionar de forma independiente.
El primero es que indicando una sociedad, como modelo y una cuenta se realice una extensión masiva de dicha cuenta con los datos que posee en esa sociedad a una lista de sociedades que seleccionará el usuario de la macro.
El segundo proceso sera que indicando una cuenta y una selección de parámetros, con sus valores respectivos, se realice el cambio en otra lista de sociedades de sus valores de la misma cuenta por los que haya indicado el usuario en una plantilla de excel que he diseñado para este proceso.
Todo ello lo estoy intentando realizar por codigo, o sea, utilizando las funciones de SAP ( no se exactamente como se llama). Os pongo algo del codigo que estoy implementando:
Sub Mod_Cuentas(Opc As Integer)
Dim Mensaje As String
' Se logonea a SAP
If Not SAPLogon() Then
MsgBox "Fallo al hacer Logon!", vbCritical
Exit Sub
End If
TotalLin = Range("B" & Rows.Count).End(xlUp).Row
For LineaCC = 8 To TotalLin
' Crea el control para transacciones
Set Funciones = CreateObject("SAP.Functions")
' Verifica la conexión
If Conn.IsConnected = 0 Then
MsgBox "No hay conexión con SAP", vbCritical + vbOKOnly
Exit Sub
End If
' Conecta el objeto transacción vía la conexión
Set Funciones.Connection = Conn
'Defino la función en cuestion
Set Funcion = Funciones.Add("ZRFC_CALL_TRANSACTION")
' Cargo la tabla interna de BDCTABLE
Set Campos = Funcion.Tables("BDCTABLE")
' Cargo la tabla interna de Mensaje
Set Campos2 = Funcion.Imports("MESSG")
' Agrega una transacción
Funcion.Exports("TRANCODE") = "FSS0"
intRowTI = 1
BDCDynpro "SAPGL_ACCOUNT_MASTER_START", "1000"
BDCData "BDC_OKCODE", "=GRUN"
......
.......
Result = Funcion.call
DoEvents
If (Result) Then
Mensaje = Campos2.Value(5)
If InStr(1, Mensaje, "OK") <> 0 Then
Else
Range("AO" & LineaCC) = Mensaje
End If
Else
Range("AO" & LineaCC) = "Fallo en la transacción!"
End If
Set Campos = Nothing
Set Campos2 = Nothing
Set Funcion = Nothing
Set Funciones = Nothing
Next LineaCC
Conn.logoff
Set Conn = Nothing
End Sub
Resumiendo:
¿Como puedo obtener de una forma similar los datos de la tabla SKB1 de la sociedad que utilizaré como modelo y de la cuenta concreta para poder almacenarla temporalmente en una hoja de excel? Para después poder lanzar un código en bucle que actualice dicha cuenta en las sociedades seleccionadas.
Se que a través tanto de la tx SE16 como ZSE16N puedo consultar los parámetros de las cuentas y que la tx FSS0 permite la modificación de dichos parámetros.
Gracias de antemano por vuestra colaboración.