2012-03-27 147 views
0

我有一个需要清除的查询。我使用Excel 2003.该工作表包含12列。我需要将数据从excel导出到SAP。在导出之前,我需要检查记录是否存在,如果存在,则删除并插入。使用VBA在EXCEL中填充BAPI导入表格参数

我有两个BAPI为这一个是导入表,它需要填写参数,填充此表后BAPI搜索相关记录。

该列表将显示在表中。我需要使用excel中的值搜索该表,然后将一个字段值导入到excel中。

我写这段代码,但它不工作给BAPI Error 0

Public Function Import_Order() As Boolean 

    Dim oBAPIGetOrder As Object 
    Dim oBAPIVariant1 As Object 
    Dim oBAPIVariant2 As Object 
    Dim oBAPIVariant3 As Object 
    Dim oBAPIImpOrder As Variant 
    Dim oBAPIRet As Boolean 
    Dim oDoNothing As Variant 
    gBAPIPlanOrder = 0 

    Set oBAPIGetPlOrder = sBAPIControl.Add("PLANED_GET_DET_LIST") 'BAPI 
    Set oBAPIVariant1 = oBAPIGetPlOrder.exports.Item("SELECTIONCRITERIA")  'Internal table 
    Set oBAPIVariant2 = oBAPIGetPlOrder.Tables.Item("DETAILEDLIST")   'Table 

    oBAPIVariant1.Value("MATERIAL") = eMaterial 
    oBAPIVariant1.Value("PLANT") = ePlnPlant 

    lBAPIRet = oBAPIGetPlOrder.call 
    If lBAPIRet Then 
     'oBAPIImpOrder = oBAPIGetPlOrder.imports.Item("PLANNEDORDER_NUM") 
     a = oBAPIVariant2.Rows.Count 
     oBAPIImpOrder = oBAPIVariant2.Value("PLANNEDORDER_NUM") 
     Import_PlannedOrder = True 
    Else 
     oBAPIImpOrder = 0 
     Import_PlannedOrder = False 
    End If 

End Function 

在此先感谢您的帮助......

+0

我从来没有使用API​​(以前从来没有听说过),但是我从网络上的研究中学到的是BAPI错误#:0可能由于许多原因而发生。尝试搜索谷歌'bapi错误0'也是你尝试调试然后代码,并看到哪一行失败? – 2012-03-27 20:57:14

+0

我想从VBA(Excel)中调用BAPI“PLANED_GET_DET_LIST”。下面的一部分编码。问题出在线 设置oBAPIVariant1 = oBAPIGetPlOrder.exports.Item(“SELECTIONCRITERIA”)。 BAPI的输入参数“SELECTIONCRITERIA”是一个结构。当宏运行在上面的编码行时,我会看到一个错误= 0(游标在变量“oBAPIVariant1”上)。如果导入参数不是结构,而是数据元素,它将运行。 请告诉我,如果我在编码 – user1049518 2012-03-28 07:20:14

回答

-1

请拨打电话功能的语句 lBAPIRet = oBAPIGetPlOrder.call 后直接出口的语句和之前的表和importstatements

+0

中犯了一个错误...以及应该做什么好? – vwegert 2013-01-09 21:03:49

相关问题