私は、クリアする必要があるクエリがあります。私はExcel 2003を使用しています。シートには12の列が含まれています。私はExcelから輸出データをSAPに送る必要があります。エクスポートする前に、レコードが存在するかどうかをチェックする必要があります。存在する場合は、削除して挿入します。VBAを使用してEXCELでBAPIインポートテーブルパラメータを入力します。
私は2つのBAPIを持っています。これはインポートテーブルです。このテーブルを埋めると、関連するレコードが検索されます。
リストはテーブルに表示されます。私はExcelからの値でそのテーブルを検索し、1つのフィールド値をインポートしてExcelにする必要があります。
私はこのコードを書いていますが、それはError 0
を与えるBAPIでは機能しません。任意の助けを事前に
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
おかげで...
前に、私は決して持っていませんAPIを使って作業していましたが(以前は聞いたことがありませんでしたが)、Webの研究から学んだことは、多くの理由からBAPIエラー#0が発生する可能性があります。 Googleで「bapi error 0」を検索してみてください。また、コードをデバッグして、どの行が失敗しているのか確認しましたか? –
私はBAPIをVBA(Excel)から "PLANED_GET_DET_LIST"を呼び出そうとしています。コーディングの一部の下。問題は行にあります oBAPIVariant1 = oBAPIGetPlOrder.exports.Item( "SELECTIONCRITERIA")を設定します。 BAPIのImportparameter "SELECTIONCRITERIA"は構造体です。上記のコード行にマクロが実行されると、エラー= 0が表示されます(カーソルが変数 "oBAPIVariant1"を超えています)。 Importparameterが構造体ではなくデータ要素であれば、それは実行されます。 コーディングで間違いを犯した場合はどうか教えてください – user1049518