#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. |
#2
|
||||
|
||||
Cerrar sesión en SAP desde VB
Muchas gracias por tu ejemplo rogerclavell ya lo estoy implementando para leer datos de una tabla Z desde VB 2010
Tengo una pregunta ojalá puedas ayudarme, resulta que cuando me conecto a SAP para leer los datos una vez que cierro mi aplicación VB el usuario se queda conectado en SAP, esto lo he comprobado ejecutando la transacción SM04. Cómo le hago para cerrar la sesión desde VB |
#3
|
||||
|
||||
Ya logré cerrar la conexión desde VB
Ya lo tengo, una vez que me conecto a SAP desde VB, sobre la misma conexión mando llamar la función TH_DELETE_MODE pero esta en una función Z con el parámetro "modulo de acceso remoto"
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|