PDA

Ver la Versión Completa : Leer Tabla SQL desde ABAP


kelvin.acosta
11/12/08, 15:30:11
Hola Amigos;

Necesito Leer una tabla de una Base de datos SQL, para realizar unos calculos. el tema es que antes me he conectado a una tabla ORACLE pero Con SQL no lo he hecho.
ahi esta el codigo que utilice para conectarme a una db oracle :

DATA: l_dbtype TYPE dbcon_dbms,
l_excref TYPE REF TO cx_root,
l_kunnr TYPE kunnr,
l_error(100).

* Verifica si existe la conexión establecida en el sistema
SELECT SINGLE dbms
FROM dbcon
INTO l_dbtype
WHERE con_name EQ c_dbs.

IF l_dbtype EQ 'ORA'.
TRY.

* Se conecta con la BD
EXEC SQL.
CONNECT TO :c_dbs
ENDEXEC.

IF sy-subrc <> 0.
RAISE EXCEPTION TYPE cx_sy_native_sql_error.
ENDIF.

Agradecere mucho que me puedan ayudar. quisas es algo sencillo pero no me he dado cuenta.

Saludos,

stormshadow
15/12/08, 17:49:55
Bueno bro, este ejemplo lo tomé de un reporte para facturar, y así es como hacen la conexión, no sé si te sirva.

DATA: exc_ref TYPE REF TO cx_sy_native_sql_error,
error_text TYPE string.
DATA: p_conex LIKE dbcon-con_name VALUE 'PRBCC'.
DATA: w_caja TYPE i.

TRY.

EXEC SQL.
connect to :p_conex
ENDEXEC.

CONDENSE wl_entrega.

EXEC SQL.
OPEN dbCur FOR
Select cEmb_Cajas From gecEmbarque
Where cEmb_Entrega = :wl_entrega
ENDEXEC.

DO.
EXEC SQL.
FETCH NEXT dbCur INTO :w_caja
ENDEXEC.

IF sy-subrc <> 0.
EXIT.
ELSE.
wl_cajas = wl_cajas + w_caja.
ENDIF.
ENDDO.

EXEC SQL.
CLOSE dbCur
ENDEXEC.

EXEC SQL.
disconnect :p_conex
ENDEXEC.

CATCH cx_sy_native_sql_error INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE 'I'.
ENDTRY.

kelvin.acosta
16/12/08, 20:27:21
Hola,

Gracias por tu ayuda. pero ya resolvi el problema. lo que estaba sucediento es que para conectarse a las base de datos de MSQL hay que tener una libreria especial que SAP no tiene, entonces hay que descargarla, ahora no me acuerdo el nombre. sin embargo con ORACLE SAP trae esta libreria,

Muchas gracias de todos modos,