Ayuda SAP

Macro para modificacion de cuentas con la tx FSS0

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.

Hola,

Podrias hacerlo con los datos exportados en Excel y la transacción LSMW para que lo cargue como la macro, en el foro hay varios manuales de hacer una carga LSMW que creo te podrian interesar, asi todo es estandar de SAP.

Un saludo.

Gracias. Lo probraré.
Te mantendré informado.

Un saludo.

1 me gusta

Hay una forma de hacer un scrip de makros en SAP, en el cual podes crear un excel con lo que vos quieras, en la siguiente dirección tenes un pequeño ejemplo:

https://blogs.sap.com/2016/08/21/how-to-use-vba-recorded-code-in-abap/

Saludos!

Hola,

¿Has intentado hacerlo con una grabación en la SM35? Generas un script de tu transacción y posteriormente con ayuda de word y excel en combinación de correspondencia, generas un lote de sentencias y ejecutas.

Saludos.