Esta consulta me parece muy interesante, mas que todo habiendo trabajado con base de datos oracle:
¿Qué parámetros (información) es necesaria para conectarse a una base de datos Oracle desde SAP? He estado investigando que debo generar un registro mediante la DBCO y colocar algunos parámetros:
El que no me queda claro es la información que debo colocar en el campo:
User: Conn Info: Database-specific information for a database connection
Detalles: la BD esta en un servidor (es posible que el archivo TNSNAMES.ORA este relacionado?).
Holaaaaa
Lo que tienes que hacer es:
Definir la referencia a base de datos externa con la transacción dbco.
Si tu sitema sap tine bd oracle, la base de datos externa la puedes agregarla en el tnsnames.ora, y luego usar esa referencia en la transacción dbco de SAP.
luebo en abap haces refeencia a la conexión definida por la tx dbco.
Abrir conexión
EXEC SQL.
CONNECT TO dbs [AS con]
ENDEXEC.
Seleccionar la conexión
Syntax
EXEC SQL.
SET CONNECTION {con|DEFAULT}
ENDEXEC.
La determinación de la conexión
Syntax
EXEC SQL.
GET CONNECTION :con
ENDEXEC.
Cerrar la conexion
Syntax
EXEC SQL.
DISCONNECT con
ENDEXEC.
Ejemplo
Inicia una conexión a una base de datos Oracle e importa todas las entradas de una columna en la tabla de base de SCARR.
PARAMETERS dbs TYPE dbcon-con_name.
DATA carrid_wa TYPE scarr-carrid.
DATA dbtype TYPE dbcon_dbms.
SELECT SINGLE dbms
FROM dbcon
WHERE con_name = @dbs
INTO @dbtype.
IF dbtype = ‘ORA’.
TRY.
EXEC SQL.
CONNECT TO :dbs
ENDEXEC.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE cx_sy_native_sql_error.
ENDIF.
EXEC SQL.
OPEN dbcur FOR
SELECT carrid
FROM scarr
WHERE mandt = :sy-mandt
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT dbcur INTO :carrid_wa
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
ELSE.
cl_demo_output=>write( |{ carrid_wa }| ).
ENDIF.
ENDDO.
EXEC SQL.
CLOSE dbcur
ENDEXEC.
EXEC SQL.
DISCONNECT :dbs
ENDEXEC.
CATCH cx_sy_native_sql_error.
MESSAGE Error in Native SQL. TYPE ‘I’.
ENDTRY.
ENDIF.
cl_demo_output=>display( ).