|
#1
|
|||
|
|||
Consultas a la BD de SAP desde un programa en VB
Hola, quisiera saber como se puede realizar la conexión a la BD de SAP desde un programa en VB 6, solo para consultar datos sobre los productos contenidos en la BD. Si puedieran ayudarme se los agradeceria mucho.
|
#2
|
|||
|
|||
holas
yo estoy mirando algo similar , he puesto un post abajo puedes hacer peticiones utilizando SAP gui scripting o tambien conectando a traves de una RFC hay mucha documentacion y ejemplos en internet un saludo pedro luis garcia |
#3
|
|||
|
|||
Hola Pedro, muchas gracias por atender a mi pregunta, pero segun lo que entendi del SAP gui, y corrigeme si me equivoco, es que este sirve para optimizar las transacciones SAP utilizadas habitualmente, digase cargar valores o crear botones y con ello variar la interface de SAP.
Lo que yo requiero es conectar un programa externo que esta hecho en VB 6 a la base de datos del SAP, la cual esta en ORACLE, para hacer consultas de precios y caracteristicas de los productos que estan en esa BD, pero no se como hacerlo. Si pudieran orientarme se los agradeceria mucho. |
#4
|
|||
|
|||
Emeplo de descarga de datos desde VB
Espero que a alguien le pueda servir este código.
Extrae la órdenes previsionales de fabricación desde ayer, hasta 7 días de horizonte. Si alguien conoce un ejemplo de lo contrario (subir o actualizar algún campo de una tabla, por favor me contacte at pirel dot com) Saludos, -ArtuAgui- |
#5
|
|||
|
|||
Dim Rst As ADODB.Recordset
Dim Cnn As ADODB.Connection Set Rst = New ADODB.Recordset Set Cnn = New ADODB.Connection sQuery = "Driver={SQL Server};Server=SERVERSAP;Database=empresa;" 'Conexion 1 sQuery = "Provider=SQLOLEDB.1;Password=Nut1610;Persist Security Info=True;User ID=sa;Initial Catalog=empresa;Data Source=Serversap" 'Conexion 2 'Cualquiera de las dos conexiones funciona, la primera es por usuario de windows y la segunda por el SA, por seguridad puedes leer esta cadena de alguna archivo encriptdo, etc, es decir, ponerle la seguridad que queiras si es que no pueden ver la contraseña del SA los desarrolaldores Cnn.Open sQuery 'abre la conexion a BD Cnn.Execute sQuery 'Ejecuta un comando Insert o Update donde squery es el comando a ejecutar Rst.Open sQuery, Cnn 'ejecuta una consulta a la BD y lo deja en el recordset Espero te sirva |
#6
|
|||
|
|||
Duda sobre declaracion de variables
ArtuAgui, tengo una duda, como declaro las variables strExport1, strExport2, tblOptions , tblData , tblFields? de antemano muchas gracias ! |
#7
|
|||
|
|||
conectar a una funcion en SAP desde Visual Basic- envia cabecera&detalle de 1 tiquet
' Conectores a las SAP.Functions.
Dim r3 As Object Dim MyFunc As Object ' Parametros a enviar a la funcion. Dim I_VENDOR As Object 'Proveedor como EXPORT Dim I_HEADER As Object 'Cabecera del Pedido de Compras Dim E_POSITION As Object 'Detalles como TABLA ' Resultado de la llamada a SAP. Dim Result1 As Boolean Dim ORDENDECOMPRA As Object Dim ENTRADADEMERCANCIA As Object Dim xPROVEEDOR As Object Dim E_MESSAGE As Object 'Mensajes como TABLA Private Sub Envia_Lineas() ' Establecer la conexion con los Add Ins de SAP. Set r3 = CreateObject("SAP.Functions") ' Cargar los parametros de conexion 'R3.Connection.Messageserver = "SAPSERVQAS" ' Nombre del server r3.Connection.System = "DEV" ' Sistema r3.Connection.SystemNumber = "10" 'Instancia r3.Connection.Applicationserver = "SAPSERVQAS" ' Nombre del server r3.Connection.Client = "130" ' Mandante r3.Connection.User = "d.castro" ' Usuario r3.Connection.Password = "xxxx" ' Password r3.Connection.language = "ES" ' Idioma ' Ejecutar la conexion en modo INVISIBLE. If r3.Connection.Logon(0, True) <> True Then MsgBox "No se ha podido establecer la conexión" Else ' Establecer contacto con la funcion. Set MyFunc = r3.Add("ZMMF001") 'Nombre de la funcion ZMMF001 en SAP 'DATOS PARA ENVIAR A SAP ' Cargar los parametros a enviar a la funcion - EXPORTING ' Datos del header- Cabecera del Ticket Set I_HEADER = MyFunc.Exports("I_HEADER") MyFunc.Exports.Item("I_HEADER").Value("LIFNR") = rc01(9, 0) 'Codigo del Proveedor MyFunc.Exports.Item("I_HEADER").Value("BUKRS") = rc01(0, 0) 'Sociedad MyFunc.Exports.Item("I_HEADER").Value("EKORG") = rc01(1, 0) 'Organizacion de Compras MyFunc.Exports.Item("I_HEADER").Value("EKGRP") = rc01(10, 0) 'Grupo de Compras MyFunc.Exports.Item("I_HEADER").Value("IHREZ") = "100" 'Referencia - Codigo del Chofer ' Cargar la tabla con los datos que vamos a enviar - TABLES. ' Datos del E_POSITION - Datos del detalle del ticket Set E_POSITION = MyFunc.Tables("E_POSITION") For I = 0 To UBound(rc01, 2) E_POSITION.Rows.Add E_POSITION.Value(I + 1, "BEDNR") = rc01(11, I) 'Ticket E_POSITION.Value(I + 1, "WERKS") = rc01(12, I) 'Centro E_POSITION.Value(I + 1, "LGORT") = rc01(13, I) 'Almacen E_POSITION.Value(I + 1, "MATNR") = rc01(14, I) 'Material E_POSITION.Value(I + 1, "KBETR") = rc01(15, I) 'Importe E_POSITION.Value(I + 1, "MENGE") = rc01(16, I) - rc01(18, I) 'Cantidad menos cantidad penalizada E_POSITION.Value(I + 1, "PEINH") = rc01(17, I) 'Cantidad Base E_POSITION.Value(I + 1, "MENG2") = rc01(18, I) 'Cantidad Penalizada Next ' Llamar o invocar a la funcion de SAP. Result1 = MyFunc.Call ' Analizar el resultado de la llamada. If Result1 = False Then MsgBox "Error en el llamado a la funcion ZMMF001." Else MsgBox "Funcion ZMMF001 ejecutada OK." 'Grabar Tiquet de SAP Set ORDENDECOMPRA = MyFunc.imports("E_PONUMBER") MsgBox "La Orden de Compra es: " & ORDENDECOMPRA.Value Set ENTRADADEMERCANCIA = MyFunc.imports("E_MBLNR") MsgBox "La Entrada de Mercancia es: " & ENTRADADEMERCANCIA.Value 'Tabla de mensajes donde llegan los mensajes de error sean positivos o negativos Set E_MESSAGE = MyFunc.Tables("E_MESSAGE") Dim x As Integer x = 1 Dim row As Object For Each row In MyFunc.Tables("E_MESSAGE").Rows 'lstResult.AddItem MyFunc.Tables.Item("E_MESSAGE").Value(x, "TIPO") & " " & MyFunc.Tables.Item("E_MESSAGE").Value(x, "MSG") MsgBox (MyFunc.Tables.Item("E_MESSAGE").Value(x, "TIPO") & " " & MyFunc.Tables.Item("E_MESSAGE").Value(x, "MSG")) x = x + 1 Next End If ' Terminar la sesion en SAP r3.Connection.Logoff End If End Sub |
Herramientas | Buscar en Tema |
Desplegado | |
|
|