SAP BAPI获取所有功能位置

时间:2014-05-21 13:08:38

标签: visual-studio-2010 vba sap

我一直是stackoverflow的长期潜伏者,现在决定加入。我试图使用BAPI从SAP中提取每个功能位置的列表。当我运行此代码时,它返回一个空表。我对BAPI没有很多经验,我正在努力教自己。有人可以帮助我解决这个问题。

谢谢,

见下面的代码:

Dim sapFunc As New SAPFunctionsOCX.SAPFunctions
    Dim objServer = sapFunc.Connection
    objServer.Client = "101"
    objServer.User = "MyUserName"
    objServer.Ticket = "MyKey"
    objServer.system = "PEC"
    objServer.MessageServer = "MyMessagerServer"
    objServer.GroupName = "PUBLIC"
    If objServer.logon(0, True) <> True Then
        MsgBox("Key Rejected")
        Exit Sub
    End If


    Dim objRfcFunc As SAPFunctionsOCX.Function
    objRfcFunc = sapFunc.Add("BAPI_FUNCLOC_GETLIST")
    'System.Console.Write(objRfcFunc.Description)

    If objRfcFunc.Call = False Then
        MsgBox("Error occured - " & objRfcFunc.Exception)
        Exit Sub
    End If

    Dim tab = objRfcFunc.Tables("FUNCLOC_LIST")
    System.Console.WriteLine("Input start:")
    For I = 1 To tab.RowCount
        For j = 1 To tab.ColumnCount
            System.Console.Write(tab.ColumnName(j) + ":")
            System.Console.WriteLine(tab.Cell(I, j))
        Next
    Next
    System.Console.WriteLine("Input end.")

1 个答案:

答案 0 :(得分:1)

我并不打算将此作为答案,但如果它有所帮助那么那就是好事。如果它没有,我将删除它。

With objRfcFunc.tables("funcloc_ra")
    If .RowCount < 1 Then .Rows.Add
    .cell(1, 1) = "I"
    .cell(1, 2) = "EQ"
    .cell(1, 3) = "Your Func Loc"
End With

在设置objRfcFunc之后和调用之前执行此操作。该调用将使用这些参数。

我的意思是包含,EQ意味着你想要找到等于低值的物品。