@johnny282 en mi caso la instalacion de esa libreria la hizo personal de Basis, se que debe estar en el server del aplicativo de sap busca ahi, yo creo que ya la tienes si te hizo la prueba que mencionas y no marco error. En el caso que esta marcando el error debe ser porque estas poniendo en el EXEC SQL la sentencia porforming en abap es directamente perform y no va ahi debe ejecutarse fuera de la sentencia EXEC. Te voy a pasar un ejemplo simple que tengo funcionando en productivo que hace una lectura a una tabla en SQL y muestra los registros en ABAP. espero te ayude.
REPORT ZSHB_PRUEBA no standard page heading line-size 232.
DATA: BEGIN OF it_compras OCCURS 0,
contrato(12) type c,
proveedor(10) type n,
material(10) type n,
centro(4) type c,
almacen(4) type c,
lote(10) type c,
cantidad type f,
umedida(3) type c,
precio type f,
moneda(3) type c,
diferencial type f,
valormercado type f,
fecha(10) type c,
END OF it_compras.
DATA: BEGIN OF it_ventas OCCURS 0,
contrato(12) type c,
cliente(10) type n,
material(10) type n,
centro(4) type c,
almacen(4) type c,
lote(10) type c,
cantidad type f,
umedida(3) type c,
precio type f,
moneda(3) type c,
* orgventas(4) type c,
canal(2) type c,
sector(2) type c,
fecha(10) type c,
texto(500) type c,
* texto(500) type c,
END OF it_ventas.
data: begin of it_err occurs 0,
error(80) type c,
end of it_err.
*-> Variables
DATA:
v_fecha TYPE sy-datum,
v_lineas type i,
sw_exit type c,
line_size type i value 80,
no_proc(1) type c,
v_sesion like bdcld-grpn.
selection-screen begin of block B2 with frame title text-002.
parameters:
p_sel1 radiobutton group Sel1,
p_sel2 radiobutton group Sel1,
selection-screen end of block B2.
*-> Start-of-selection
START-OF-SELECTION.
sw_exit = space.
perform conecta_eximware.
check sw_exit = space.
Case 'X'.
When p_sel1.
perform Lee_compras.
When p_sel2.
perform Lee_ventas.
endcase.
end-of-selection.
perform desconecta_conex.
Form Conecta.
EXEC SQL.
CONNECT TO 'CONEX'
ENDEXEC.
If sy-subrc <> 0.
write:/ 'error de red'.
sw_exit = 'X'.
exit.
endif.
EXEC SQL.
SET CONNECTION 'CONEX'
ENDEXEC.
ENDFORM.
Form lee_compras.
data: wa_compras like it_compras.
DATA: C1 TYPE CURSOR.
Refresh: it_compras.
EXEC SQL.
OPEN C1 FOR
SELECT Contrato, Proveedor, Material,
Centro, Almacen, lote, Cantidad, umedida,
precio, moneda, diferencial, valormercado, fecha
FROM compras
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT C1 INTO :wa_compras
ENDEXEC.
IF SY-SUBRC <> 0.
exit.
else.
MOVE-CORRESPONDING wa_compras TO it_compras.
APPEND it_compras.
endif.
ENDDO.
EXEC SQL.
CLOSE C1
ENDEXEC.
loop at it_compras.
write:/ it_compras-contrato, it_compras-proveedor,
it_compras-material, it_compras-centro,
it_compras-almacen, it_compras-lote,
it_compras-cantidad, it_compras-umedida,
it_compras-precio, it_compras-moneda,
it_compras-diferencial, it_compras-valormercado,
it_compras-fecha.
endloop.
endform.
Form lee_ventas.
data: wa_ventas like it_ventas.
DATA: C1 TYPE CURSOR.
Refresh: it_ventas.
EXEC SQL.
OPEN C1 FOR
SELECT Contrato, cliente, Material,
Centro, Almacen, lote, Cantidad, umedida,
precio, moneda, canal, sector,
fecha, texto
FROM ventas
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT C1 INTO :wa_ventas
ENDEXEC.
IF SY-SUBRC <> 0.
exit.
else.
MOVE-CORRESPONDING wa_ventas TO it_ventas.
APPEND it_ventas.
endif.
ENDDO.
EXEC SQL.
CLOSE C1
ENDEXEC.
loop at it_ventas.
write:/ it_ventas-contrato, it_ventas-cliente,
it_ventas-material, it_ventas-centro,
it_ventas-almacen, it_ventas-lote,
it_ventas-Cantidad, it_ventas-umedida,
it_ventas-precio, it_ventas-moneda,
it_ventas-canal, it_ventas-sector,
it_ventas-fecha, it_ventas-texto.
endloop.
endform.
Form desconecta_conex.
EXEC SQL.
DISCONNECT 'CONEX'
ENDEXEC.
Endform.