✒️ABAP El lenguaje SQL y la sentencia SELECT
ABAP El lenguaje SQL y la sentencia SELECT
- SELECT
SELECT <resultado> FROM <tabla> INTO <target> WHERE <condiciones>.
Para obtener todos los registros de una tabla:
SELECT * FROM ztabla_usuarios INTO TABLE ti_usuarios.
La consulta anterior pisa el contenido de la tabla interna ti_usuarios, para conservar lo que tuviera y añadir lo seleccionado
SELECT * FROM ztabla_usuarios APPENDING TABLE ti_usuarios.
Para obtener la primera ocurrencia de una tabla donde se cumpla una condición (sería como el rownum < 2)
SELECT SINGLE * FROM ztabla_usuarios INTO wa_usuarios WHERE nombre_ape NE space. (en este ejemplo guardamos el resultado en una estructura no en una tabla interna, puede ser donde queramos)
Si queremos obtener una tabla de registros que cumplan una condición pero queremos guardarlos en una tabla interna que no tiene la misma estructura que la tabla del FROM:
SELECT nombre_ape estado_usu FROM ztabla_usuarios INTO CORRESPONDING FIELDS OF TABLE ti_usuarios2 WHERE nombre_ape NE space.
Notas:
- Es recomendable hacer CLEAR y REFRESH de la tabla interna antes de realizar la selección.
- Siempre después de un SELECT debemos hacer una SY-SUBRC para saber si la consulta ha sido correcta.
- La clausula IN se utiliza para las select-options en las condiciones de un select (WHERE estado_usu IN s_estado)
- También disponemos de la clausula MAX. Por ej/ Obtener el dni más alto -> SELECT SINGLE MAX (dni) FROM ...
- Clausula COUNT para obtener la cantidad de registros que cumplen una condición.
- Para obtener de una tabla todos los registros que existen en una tabla interna cargada. SELECT * INTO TABLE ti_usuarios FROM ztabla_usuarios FOR ALL ENTRIES IN ti_proveedores WHERE dni = ti_proveedores-dni.
- Para seleccionar los registros que cumplen un patrón. SELECT * FROM ztabla_usuarios INTO TABLE ti_usuarios WHERE nombre_ape LIKE 'A%'.
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n