MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Otros lenguajes: VB, JAVA
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 07/05/12, 10:43:37
rogerclavell rogerclavell is offline
Junior Member
 
Fecha de Ingreso: may 2012
Mensajes: 7
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.
Responder Con Cita
  #2  
Viejo 18/06/13, 15:47:19
Avatar de zehiter
zehiter zehiter is offline
Member
 
Fecha de Ingreso: oct 2007
Localización: Aguascalientes, Mexico
Mensajes: 92
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
Responder Con Cita
  #3  
Viejo 20/06/13, 16:19:15
Avatar de zehiter
zehiter zehiter is offline
Member
 
Fecha de Ingreso: oct 2007
Localización: Aguascalientes, Mexico
Mensajes: 92
Thumbs up 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"
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:17:50.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web