En el lenguaje de programación ABAP / 4, se utilizan dos tipos de SQL.
- SQL NATIVO
- ABRIR SQL.
Native SQL le permite utilizar sentencias SQL específicas de la base de datos en un programa ABAP / 4. Esto significa que puede utilizar tablas de base de datos que no están administradas por el diccionario ABAP y, por lo tanto, integrar datos que no forman parte del sistema R / 3.
Open SQL consta de un conjunto de declaraciones ABAP que realizan operaciones en la base de datos central en el sistema R / 3. Los resultados de las operaciones y cualquier mensaje de error son independientes del sistema de base de datos en uso. Por lo tanto, Open SQL proporciona una sintaxis y una semántica uniformes para todos los sistemas de bases de datos compatibles con SAP. Los programas ABAP que solo usan sentencias Open SQL funcionarán en cualquier sistema R / 3, independientemente del sistema de base de datos en uso. Las sentencias SQL abiertas solo pueden funcionar con tablas de bases de datos que se han creado en el diccionario ABAP.
Comandos básicos de SQL abierto
- SELECCIONE
- INSERTAR
- ACTUALIZAR
- MODIFICAR
- ELIMINAR
- CURSOR ABIERTO, FETCH, CURSOR CURSOR
TABLAS SBOOK.CURSOR TIPO DATOS C,WA COMO SBOOK.ABRIR CURSOR C PARA SELECCIONAR * DE SBOOK DONDE CARRID = 'LH'Y CONNID = '0400'Y FLDATE = '19950228'PEDIR POR LLAVE PRIMARIA.HACER.BUSQUE EL SIGUIENTE CURSOR C EN WA.SI SY-SUBRC <> 0.CIERRE CURSOR C.SALIDA.TERMINARA SI.ESCRIBIR: / WA-BOOKID, WA-CUSTOMID, WA-CUSTTYPE,WA-FUMADOR, WA-LUGGWEIGHT, WA-WUNIT,WA-FACTURA.ENDDO.
Salida de la lista de pasajeros para el vuelo 0400 de Lufthansa el 28-02.1995:
Códigos de retorno de SQL abiertos
Todas las sentencias Open SQL llenan los siguientes dos campos del sistema con códigos de retorno.SY-SUBRC
Después de cada instrucción Open SQL, el campo del sistema SY-SUBRC contiene el valor 0 si la operación fue exitosa, un valor distinto de 0 si no.
SY-DBCNT
Después de una instrucción Open SQL, el campo del sistema SY-DBCNT contiene el número de líneas de base de datos procesadas.
SQL nativo
Como ya se mencionó, Native SQL le permite utilizar declaraciones SQL específicas de la base de datos en un programa ABAP.Para utilizar la instrucción SQL nativo, debe precederla con la instrucción EXEC SQL y seguirla con la instrucción ENDEXEC.
Sintaxis
EXEC SQL [REALIZANDO