ERROR paso de parametro a bapi usando SAP Conector
Publicado por victor (1 intervención) el 11/12/2009 13:35:43
Hola, tengo que pasarle una tabla a una bapi en sap y para ello uso sap connector. El problema es que la tabla original es una tabla estandar (creada usando datatable) y para pasarla como parametro a la bapi debo convertirla al formato sap (eso creo).
El codigo es mas o menos asi:
' AQuI DEFINO LA TABLA DE ORIGEN
Dim DS As DataSet = New DataSet("ds_sap")
Dim Tabla As DataTable = DS.Tables.Add("TBL_SAP")
Tabla.Columns.Add("BUKRS", Type.GetType("System.String"))
Tabla.Columns.Add("PERNR", Type.GetType("System.String"))
Dim Fila As DataRow
' AHORA LA LLENO CON 3 REGISTROS (SOLO PARA PROBAR)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "100"
Fila("PERNR") = "101"
DS.Tables(0).Rows.Add(Fila)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "200"
Fila("PERNR") = "201"
DS.Tables(0).Rows.Add(Fila)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "300"
Fila("PERNR") = "301"
DS.Tables(0).Rows.Add(Fila)
' AHORA ES CUANDO DEBO PASARLE COMO PARAMETRO DE ENTRADA LA TABLA A LA BAPI
Dim BAPI As New SAPProxy1
BAPI = New SAPProxy1(ConnectionStringSAP)
Dim SAPtbl_out As New BAPIRET1Table
' AQUI INVOCO LA BAPI Y ES DONDE ME DA EL ERROR
BAPI.Z_Pdasap01f(DS.Tables(0), SAPtbl_OUT)
ESPERO ME PUEDAN AYUDAR Y QUE SE ENTIENDA EL PROBLEMA.
GRACIAS
El codigo es mas o menos asi:
' AQuI DEFINO LA TABLA DE ORIGEN
Dim DS As DataSet = New DataSet("ds_sap")
Dim Tabla As DataTable = DS.Tables.Add("TBL_SAP")
Tabla.Columns.Add("BUKRS", Type.GetType("System.String"))
Tabla.Columns.Add("PERNR", Type.GetType("System.String"))
Dim Fila As DataRow
' AHORA LA LLENO CON 3 REGISTROS (SOLO PARA PROBAR)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "100"
Fila("PERNR") = "101"
DS.Tables(0).Rows.Add(Fila)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "200"
Fila("PERNR") = "201"
DS.Tables(0).Rows.Add(Fila)
Fila = DS.Tables(0).NewRow()
Fila("BUKRS") = "300"
Fila("PERNR") = "301"
DS.Tables(0).Rows.Add(Fila)
' AHORA ES CUANDO DEBO PASARLE COMO PARAMETRO DE ENTRADA LA TABLA A LA BAPI
Dim BAPI As New SAPProxy1
BAPI = New SAPProxy1(ConnectionStringSAP)
Dim SAPtbl_out As New BAPIRET1Table
' AQUI INVOCO LA BAPI Y ES DONDE ME DA EL ERROR
BAPI.Z_Pdasap01f(DS.Tables(0), SAPtbl_OUT)
ESPERO ME PUEDAN AYUDAR Y QUE SE ENTIENDA EL PROBLEMA.
GRACIAS
Valora esta pregunta


0