✒️ABAP El lenguaje SQL y la sentencia SELECT
ABAP El lenguaje SQL y la sentencia SELECT
Unidad 3: Diccionario de datos.
Lección 6: Instrucciones SQL: Select.
SELECT es la principal sentencia SQL que se utiliza en ABAP para recuperar información de tablas de bases de datos.
Esta instrucción presenta la siguiente estructura:
SELECT <resultado> "Campos a recuperar
FROM <tabla> "Tabla de la que extraeremos los datos
INTO <target> "Estructura, tabla interna o variable en la que colocaremos el resultado
WHERE <condiciones> "Condiciones de selección
El resultado presenta las siguientes opciones principales:
- Recuperamos todos los campos de la tabla: SELECT *.
Es una opción poco recomendable, cuando en realidad queremos solo obtener unos campos de la tabla en concreto porqué castiga mucho la performance del programa.
- Recuperación de campos éspecíficos: Select campo1, campo2 ...
- Recuperación total de datos de la primera fila de la tabla de entre las seleccionadas:
SELECT SINGLE * o SELECT SINGLE campo1, campo2 ...
- Cantidad de filas de la tabla que cumplen una determinada condición: SELECT COUNT (*).
- Obtención del valor máximo de un campo de la tabla de entre todas las filas de la misma que cumplen una determinada condición: SELECT MAX( Campo).
Opciones en la cláusula INTO:
- Si el resultado de la selección es una fila de un solo campo o COUNT o MAX y otras funciones que devuelven un valor único: INTO <variable>.
- Si se recuperan varias filas de la tabla: INTO TABLE <tabla interna>.
Se recomienda utilizar las sentencias CLEAR y REFRESH antes de cada selección.
- Si se recupera una fila con varios campos: INTO <estructura>.
- Si queremos añadir filas a una tabla interna que ya tiene filas cargadas con anterioridad y que deseamos reservar:
APPENDING TABLE <tabla interna> en lugar de INTO TABLE.
- Si la tabla interna donde queremos colocar los resultados de la selección no tiene la misma estructura que la tabla sobre la que se realiza la búsqueda. Entonces siempre que los campos seleccionados en ambas tablas tengan los mismos la misma definición de tipo y ocupen la misma posición relativa dentro de la tabla: INTO CORRESPONDING FIELDS OF TABLE <tabla interna>
Opciones en la clausula WHERE:
- Se pueden utilizar sobre los campos de condición los operadores lógicos habituales: = EQ,<> NE, <= LE, >= GE.
- Se puede trabajar sobre varios campos de condición con AND o OR
- Se puede trabajar con cláusulas del tipo IS INITIAL or NOT INITIAL.
- Si en la condición aparecen parámetros de selección tipo SELECT-OPTIONS podemos utilizar la cláusula IN <parámetro selección>.
- Si queremos obtener todas las filas de la tabla en base a un patrón de texto en un campo de selección: LIKE <patron de exto>.
Después de cada SELECT, debemos validar el valor de SY-SUBRC para saber si la selección se ha realizado con éxito o no.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte