2012-03-27 3 views
0

У меня есть запрос для меня, который требует очистки. Я использую excel 2003. лист содержит 12 столбцов. Мне нужно экспортировать данные из Excel в SAP. Перед экспортом мне нужно проверить, существует ли запись или нет, если она существует, а затем удалить и вставить.Заполнение параметра таблицы импорта BAPI в EXCEL с использованием VBA

У меня есть два 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 может произойти по многим причинам. Попробуйте найти Google для 'bapi error 0'. Вы также попытались отлаживать код и видеть, какая строка не работает? –

+0

Я пытаюсь вызвать BAPI «PLANED_GET_DET_LIST» из VBA (Excel). Ниже часть кода. Проблема находится на линии Установите oBAPIVariant1 = oBAPIGetPlOrder.exports.Item («SELECTIONCRITERIA»). Импатентный элемент «SELECTIONCRITERIA» BAPI является структурой. Когда макрос работает над указанной строкой кодирования, я увижу ошибку = 0 (курсор переместится над переменной «oBAPIVariant1»). Если Importparameter не является структурой, а элементом данных, он будет работать. Скажите, пожалуйста, если я ошибаюсь в кодировке – user1049518

ответ

-1

пожалуйста место оператора функции вызова lBAPIRet = oBAPIGetPlOrder.call после непосредственно заявление экспорта и до таблицы и importstatements

+0

... и что хорошего в том, что должно было делать? – vwegert

 Смежные вопросы

  • Нет связанных вопросов^_^