#1
|
|||
|
|||
Ejemplo RFC_READ_TABLE
Hola,
Os paso un ejemplo de como leer datos de las tablas de sap desde visual studio 2010 y el connector sap 3.0. Imports SAP.Middleware.Connector Private Sub leertabla() 'Parametros de conexión a SAP Dim param As New RfcConfigParameters param(RfcConfigParameters.User) = "tu_usuario" param(RfcConfigParameters.Password) = "tu_password" param(RfcConfigParameters.SystemID) = "sap_maquina" param(RfcConfigParameters.Client) = "sap_mandante" param(RfcConfigParameters.Name) = "sap_groupname" param(RfcConfigParameters.AppServerHost) = "sap_ip" param(RfcConfigParameters.SystemNumber) = "sap_numero_sistema" param(RfcConfigParameters.Language) = "ES" Try 'Conexión a SAP Dim conex As RfcDestination conex = RfcDestinationManager.GetDestination(param) Dim rfcFunction As IRfcFunction = conex.Repository.CreateFunction("RFC_READ_TABLE") 'Función RFC de SAP rfcFunction.SetValue("QUERY_TABLE", "MCHB") 'Tabla sobre la que queremos buscar rfcFunction.SetValue("DELIMITER", "~") 'Delimitador de valores 'Campos que queremos mostrar Dim tblFields As IRfcTable = rfcFunction.GetTable("FIELDS") tblFields.Append() tblFields.SetValue("FIELDNAME", "MATNR") tblFields.Append() tblFields.SetValue("FIELDNAME", "ERSDA") tblFields.Append() tblFields.SetValue("FIELDNAME", "LGORT") 'Condición WHERE para realizar la busqueda Dim tblOptions As IRfcTable = rfcFunction.GetTable("OPTIONS") tblOptions.Append() tblOptions.SetValue("TEXT", "MATNR EQ '000000000100000008'") 'Ejecutar la función rfcFunction.Invoke(conex) 'Recuperar los datos que nos devuelve SAP Dim tblResult As IRfcTable = rfcFunction.GetTable("DATA") 'Recorrer los datos que nos muestra SAP Dim misResultados(tblResult.RowCount - 1, 0) As String For i As Integer = 0 To tblResult.RowCount - 1 Dim sRes() As String = Split(tblResult.Item(i).GetString(0), "~") 'Separarlos por el delimitador ReDim Preserve misResultados(tblResult.RowCount - 1, UBound(sRes)) For i2 As Integer = 0 To UBound(sRes) misResultados(i, i2) = sRes(i2) 'Guardarlos en un vector de strings Next Next Catch ex As Exception MsgBox(ex) End Try End Sub Espero sirva de ayuda. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|