PDA

Ver la Versión Completa : Conexion ODBC a base de datos externa (MultiBase) a través de ABAP


zurfero
17/03/09, 11:54:10
Hola.
Tengo unos datos que necesito consultar en una base de datos que se encuentra en MultiBase (TransTools)y cruzarlo con datos SAP en un programa dentro de SAP que tengo que hacer.
He estado investigando y he visto que en principio el acceso a bases de datos externas se realiza a traves del EXEC SQL, pero no tengo ni idea de como establecer la conexión con la base de datos...,
Esta base de datos, requiere de un ODBC que ya tengo instalado en la máquina de desarrollo (El ODBC funciona ya que lo utilizo para una aplicacion web en php que tengo que ataca a esta base de datos),..., pero cuando voy a la transaccion DBCO, que se supone es para establecer conexiones a base de datos externas, no me aparece el ODBC..., y las opciones de bases de datos que me aparecen no son la que necesito.
Además, lo que es el ODBC de Windows ya lo tengo configurado con los parámetros necesarios que requiere el acceso a la base de datos.

Alguien sabe si hay alguna otra manera, a través de código ABAP de poder establecer la conexion directa con esta base de datos sin tener que darlo de alta en SAP??..., o me puede indicar qué debo hacer???...

Yo en otros entornos de desarrollo, si tenía el ODBC dado de alta en la máquina podía atacar a este para realizar las consultas..., pero esto de tener que darlo de alta en SAP me descoloca un poco..., y no me extrañaría nada que hubiese algún código para poder establecer conexiones directas sin pasar por aquí...

Gracias de antemano.

Jonathan Barrio Rodriguez
18/03/09, 04:22:34
A ver si algo de lo que viene aquí te puede ayudar:

http://www.mundosap.com/foro/showthread.php?t=551

zurfero
18/03/09, 07:39:44
Hola Jonathan.
He mirado el link que me has pasado y tengo varias dudas

EXEC SQL.
CONNECT TO
ENDEXEC.

En esta sentencia como puedo indicar que quiero que se conecte al ODBC que tengo creado en Windows???... Hay alguna forma??

Despues de todo lo que he leido en el link que me has pasado el problema está en que no sé como establecer la conexion en SAP a traves de la transaccion DBCO con mi base de datos.
En un servidor web que tengo, tengo una aplicación en PHP que ataca a esta base de datos, lo hago a través del ODBC de MultiBase, que hay que instalar ya que Windows no lo trae por defecto.
Estos son los parámetros que me pide el ODBC para que funcione la conexion con la base de datos .
Data Source Name: afis
DataBase Name : afis
Environment:
DBDATE=DMY4/
DBHOST=192.168.1.19
DBPASSW=cosmos
DBPATH=/opt/cosmos
DBSERVICE=ctsql
DBUSER=ctl

Esto mismo ya lo tengo instalado en el servidor donde corre SAP, y he hecho la prueba oportuna y he visto que funciona. Como hago para establecer ahora la conexion??...
Cuando entro en la transaccion DBCO las posibles conexiones que me aparecen son :
ADA --> SAP DB (ADABAS/D)
DB2 --> DB2 UDB for OS/390
DB4 --> DB2 UDB for AS/400
DB6 --> DB2 UDB for UNIX and Windows
INF --> Informix
MSS --> Microsoft SQL Server
ORA --> Oracle

Como puedes ver no sale nada de MultiBase...
La verdad es que no sé qué hacer, pues he intentado crearlo con el tipo MSS, y luego en la cadena de conexión le he puesto los parámetros con los que he creado el ODBC (DBHOST, DBNAME, ETC) pero no me deja..., y da error cuando intento crearlo.

Gracias por la ayuda.

Jonathan Barrio Rodriguez
18/03/09, 10:01:07
La verdad, Zurfero, que yo no sé como se hace esto.

Limpiando "hardcode" en una ocasión vi algo así:

EXEC PERFORMING nombre_perform.

SELECT * FROM: servidos_o_BD@tabla_externa.

ENDEXEC.

Pero ya te digo que no me fijé bien ya que tenía mucho trabajo:( ...como me arrepiento.

Espero que alguien más experimentado pase por aquí y nos saque de dudas

ballan
18/03/09, 10:48:40
No puedo garantizar al 100% mi afirmacion pero yo creo que para poder utilizar ODBC tendrias que hacerlo a traves de XI o si no disponeis de XI utilizar un programa que haga esa funcion como podria ser business conector

zurfero
18/03/09, 11:57:43
:( ... si que es una lástima Jonathan, sí..., pero bueno, no pasa nada..., seguro que encontramos la solución,... yo sigo haciendo mis pruebas y mis investigaciones, espero poder dar pronto con la solucion y poder compartirla con vosotros.

---

Respecto a lo que indicas Ballan..., entonces a través de la DBCO no crees que sea posible conectar la B.D. verdad??..., y esto que indicas..., el business connector (corrígeme si me equivoco) según lo que he leido es para conectar sistemas SAP entre sí, no he visto ni leido nada para que a través de este sistema te puedas conectar a otras bases de datos... pero bueno, soy bastante ignorante al respecto y he estado mirando por encima las posibilidades de lo que indicas, si pudieras darme más información te lo agradecería.


Lo que me sorprende de todo esto, es como SAP..., teniendo en cuenta que normalmente se instala en sitios para reemplazar el ERP que existe no cuenta con algún medio mas potente para hacer esto..., no sé, ... si en entornos de desarrollo menos potentes esto está a la orden del día..., seguro que damos con la solución...

Gracias por vuestros aportes!!!.

ballan
18/03/09, 13:53:31
La herramienta para conectar SAP con otros sistemas es XI que ahora se llama PI

El business conector se que es algo que se utilizaba antes de que existiera XI pero la verdad es que no tengo mucho conocimiento especifico de esta herramienta, quiza buscando en san google consigas algo

Yo creo que conceptualmente es incorrecto que en SAP hagas un programa que mediante EXEC SQL realize operaciones directas sobre la BBDD externa, todo el proceso de comunicacion con un sistema externo debe estar centralizado para que los cambios impacten lo minimo posible

Por ejemplo si cambiara algo en la BBDD tendrias que modifcar la DBCO, tu programa SAP, etc..

Jonathan Barrio Rodriguez
19/03/09, 10:58:54
HOLA Zurfero,

¿Cómo va eso? ¿Alguna nueva pista sobre el tema??

azua14
19/03/09, 12:50:08
Hola..adjunto en un par de mensajes un manual que econtre..no estoy seguro que sirva..porque nunca me ha tocado hacer nada asi..pero en una de esas..

eso si..aviso..comprimi el archivo con winzip12..asi que necesitan ese programa para descomprimirlo..y como el for tiene tantas restricciones para subir archivos..tuve que ponerles una extension .exe que tienen que borrar.

azua14
19/03/09, 12:53:29
aqui va el segundo archivo

Jonathan Barrio Rodriguez
19/03/09, 22:17:32
GRACIAS por l aporte Azua, solo lo he visualizado por encima pero parece que está geníal. Lastima que no tenga entorno R/3 para seguir los pasos.

Adjunto un link de un ejemplo de conexion al reves, un programa VB.NET llama a SAP para preguntarle por una tabla:

http://blog.systecsa.net/post/2008/04/Ejemplo-de-conexiones-SAP-R3-y-VBnet-2005.aspx

1. Al parecer crean un código VB.Net en una .dll local en el ordenador cliente.

2.Crean una función en SAP que efectua la consulta según los parametros mandados desde el programa VB.Net.

3. Crean el programa en VB.Net que tiene partes que me han llamado la atención:

Llaman a la función creada en SAP.(SQL nativo?)

Try Dim sSql As String = "EXEC Z_FI_CLIENTE "

--


Van rellenando las variables que mandarán a la funcion SAP (SQL dinámico, creo)



If Me.TxtCod2.Text.Length > 0 Then
Dim Cod2 As String = Me.TxtCod2.ToString.Substring(Me.TxtCod2.ToString.Length - 10)
sSql &= "@KUNNR1='" & Cod1 & "'"
sSql &= ",@KUNNR2='" & Cod2 & "'"

--


Finalmente crean un string con los datos para conectr a SAP, donde se aprecián IP del ordenador(supongo), datos del Logon de SAP (mandante, usuario, contraseña, idioma)





Dim I As SAPConnection = New SAPConnection
Dim Cont As Long = 0
I.ConnectionString = "ASHOST=192.168.0.180;SYSNR=0;CLIENT=200;USER=IOBREGON;PASSWORD=******;LANG=EN"





____________________




O eso he entendido, no tengo ni idea de VB.


Si alguien ve que he metido la pata en algo, por favor corrijan.




No sé si me he ido mucho del tema, espero que oriente en algo.

zurfero
21/03/09, 14:54:55
Hola,..., perdonad por no haber posteado antes..., pero estaba de FALLAS..., y bueno, hoy ya el cuerpo parece que responde... jejeje...,
Yendo al grano...,
AZUA14 he estado mirando el PDF que has incluido..., eso aunque no es algo que yo personalmente haya utilizado, pero sí que lo he visto en algún desarrollo de un compañero... (a través de por ejemplo PHP poder atacar a SAP y hacer uso de sus funciones.)... pero desgraciadamente, eso no funciona a la hora de desde ABAP, conectar a bases de datos remotas... :(
Jonathan..., el último aporte de conectar a través de VBA..., creo que la clave puede estar por ahí..., es decir, poder encontrar algún codigo dentro de ABAP en el cual se puedan establecer los parámetros de conexion, así como donde buscar la conexion.... (por lo menos de lo que he estado viendo e investigando creo que andan por ahí los tiros)... el problema es que no encuentro ese código por ningún lao...

Seguimos a la caza... Muchas gracias por todo... seguro que estamos a puntito de dar con la solucion!!!...

Ya os comento si hago algún avance.

Jonathan Barrio Rodriguez
17/04/09, 01:03:21
Hola Zurfero

supongo que ya solucionaste esto, pero he visto un post recien publicado qué tiene el código que yo un día vi... y no te supe decir.. gg :rolleyes:

http://www.mundosap.com/foro/showthread.php?t=9222&highlight=conexion+exec

si solucionaste este tema ¿podrías decirme cual era el tema para resolverlo ?

Saludos.

zurfero
17/04/09, 06:31:56
Hola Jonathan...,

El enlace que me has pasado lo había visto, ... de todas formas muchas gracias.

pues la verdad es que no... no he conseguido solucionar el tema..., está enquistandose la verdad..., ahora mismo lo he dejado aparcado..., y estoy con otro, que es de lo mismo pero esta vez en lugar de Multibase necesito consultar una base de datos que está con MySQL..., que yo pensaba que iba a estar más accesible la ayuda al ser una base de datos más conocida, pero va a ser que no...

despues de buscar y buscar no he encontrado por ningun lado tampoco la forma..., me refiero a en la transaccion DBCO conseguir crear la conexion de forma correcta para que funcionen las sentencias EXEC SQL...,

Descuida que en el momento que encuentre bien esta o la de la otra base de datos lo postearé...,

Gracias por la ayuda.

BY_MY
07/01/10, 07:46:38
Buenos dias,

debo de ser muy torpe pues no he conseguido ver, descomprimir, etc. El fichero y ver la documentación. :) ¿Podria alguien enviarmela en formato mas simple para mi? :)

Necesitaria informacion sobre las posibilidades y como conectar SAP y .NET

by_my@telefonica.net

Muchas gracias un saludo.

stormshadow
08/01/10, 13:13:48
Necesitaria informacion sobre las posibilidades y como conectar SAP y .NET


Bueno para conectar SAP y .NET creo que hay un conector, pero podría ser que también crees un web service desde SAP y despues lo consumas con .NET, no?

kikelabel
16/11/12, 11:40:06
Hola,
Mi nombre es Toni. Soy un programador senior en la empresa labelgrup s.l.

Tenemos una gran experiencia en desarrollar para Multibase y Cosmos. Somos capaces de conectar Multibase a un ecommerce y a plataformas de business intelligence.

Si las necesidades de tu empresa han crecido, también podemos migrar Multibase a otras bases de datos como Oracle.

Si tú o tu empresa necesitáis soporte, os podéis poner en contacto a través de tperez@labelgrup.com.