MicrosoftSQLサーバーデータベースからSAPにデータをプッシュする古いプログラムがあります。mySAPBusinessSuite用のMicrosoft.NETData Providerを使用してSAPに接続し、完全に機能するまでは。
現在、改善計画の一環として、Microsoftドライバーから新しいSAP.NetConnectorバージョン3.0に移行するように依頼されました。MicrosoftコネクタもSAPコネクタも経験がなかったので、ドキュメントから始めました。宿題を済ませたと思いますが、解決できない、または情報が見つからないというエラーが発生します。
私の主な機能:
log.Debug("Get the SAP destination")
Dim destination As RfcDestination = RfcDestinationManager.GetDestination("SAP")
log.Debug("Fetch the function metadata")
Dim rfcFunction As IRfcFunction = destination.Repository.CreateFunction("Z_TEC_CAT")
log.Debug("Set the import parameters")
Dim am As RfcStructureMetadata = destination.Repository.GetStructureMetadata("ZTEC_CAT")
Dim exportTable As IRfcTable = rfcFunction.GetTable("ZTEC_CAT")
FillIrfTable(exportTable, invoices)
log.Debug("Invoking the function Z_TEC_CAT")
rfcFunction.Invoke(destination)
SAPに送信する必要のあるテーブルにデータを入力するためのヘルパー:
Private Sub FillIrfTable(ByVal sapTable As IRfcTable, ByVal dt As DataTable)
log.Debug("Started FillIrfTable")
For Each row As DataRow In dt.Rows
sapTable.Append()
Dim index As Integer = 0
Do While (index < dt.Columns.Count)
Dim columName As String = dt.Columns.Item(index).ColumnName
Dim columnValue = row.Item(index)
sapTable.SetValue(columName, columnValue)
index = (index + 1)
Loop
Next
log.Debug("Completed FillIrfTable")
End Sub
エクスポート可能な変数が空の場合、NO_DATA例外が発生し、すべてが正常ですが、テーブルにレコードがある場合、次のようにスローされます。
Failed calling SAP Function Module Z_TEC_CAT
SAP.Middleware.Connector.RfcAbapException: BDC_OPEN_ERROR
at SAP.Middleware.Connector.RfcConnection.ThrowRfcErrorMsg()
at SAP.Middleware.Connector.RfcConnection.RfcReceive(RfcFunction function)
at SAP.Middleware.Connector.RfcFunction.RfcDeserialize(RfcConnection conn, IRfcIOStream stream)
at SAP.Middleware.Connector.RfcFunction.RfcCallReceive(RfcConnection conn, IRfcIOStream stream, RFCID rid)
at SAP.Middleware.Connector.RfcFunction.RfcCallReceive(RfcConnection conn)
at SAP.Middleware.Connector.RfcFunction.Invoke(RfcDestination destination)
何が起こっているのか誰か知っていますか?任意の提案をいただければ幸いです。
ありがとうございました、
1月