✒️ABAP / El lenguaje SQL y la sentencia SELECT Por Sergio Beltran Castaneda

Selector Alummnos / Empresas

ABAP El lenguaje SQL y la sentencia SELECT

ABAP El lenguaje SQL y la sentencia SELECT

SENTENCIAS SQL

SELECT: Esta sentencia realiza una lectura lineal de los datos de las tablas de la base de datos y los asigna directamente a los campos de nuestra tabla interna. Con la cláusula SELECT identificamos los campos que queremos leer, si se usa con la cláusula FROM es obligatoria e identifica la tabla que hay que leer. La cláusula FROM especifica la tabla o vista de la base de datos que va a ser leída. Pero para que queden almacenados sobre la tabla interna, para cada registro seleccionado debemos utilizar la sentencia APPEND. Así, añadiremos los registros a nuestra tabla interna.

La sentencia SELECT...ENDSELECT irá pasando uno a uno por cada uno de los registros que cumplan la condición de la cláusula WHERE y los irá almacenando gracias a la sentencia APPEND dentro de nuestra tabla interna.

El mayor inconveniente de trabajar con la forma SELECT...ENDSELECT es que la lectura se hace linealmente, es decir, SAP debe pasar por cada uno de los registros individualmente hasta llegar al final. Esto hace que la búsqueda de datos sea muy ineficiente en términos de rendimiento y alarga innecesariamente el tiempo de ejecución del programa.

Una forma de mejorar el rendimiento sería no utilizar la cláusula (*) sino indicar específicamente los campos que necesitamos llenar. Al no usar todos los campos mejoramos el rendimiento y con la cláusula INTO asignamos directamente el valor al campo de la tabla interna.

Otra forma de la sentencia SELECT mucho más eficiente nos permite almacenar los datos en la tabla interna sin necesidad de utilizar la sentencia APPEND.

SELECT * FROM n_tabla INTO CORRESPONDING FIELDS OF TABLE tabla_int WHERE campoX IN s_tablaX.

La cláusula INTO especifica un área de destino de los datos seleccionados. La opción CORRESPONDING FIELDS OF TABLE compara el nombre del campo de la tabla de SAP con cada nombre de la tabla interna. Si encuentra coincidencia le asigna su valor correspondiente. Si se especifica la cláusula PACKAGE SIZE la lectura se realiza en paquetes de líneas.

Por eso, es tan importante que el nombre de los campos de una tabla interna sean iguales al nombre de los campos de una tabla SAP. De lo contrario, esta forma no se puede utilizar.

Se mantiene la cláusula WHERE. Se elimina la sentencia APPEND ya que la lectura deja de ser secuencial sino en bloques. Es decir, SAP ya no tiene que recorrer uno a uno todos los registros, sino que toma el bloque de registros que coinciden con la condición determinada a través de la cláusula WHERE y lo asigna en bloque a la tabla interna.

Existe otra variación que se puede utilizar:

SELECT campo1 campo2 campo3 campo_n FROM tabla INTO TABLE tabla_int WHERE campoX IN s_tablaX.

Esta forma es todavía más eficiente ya que evita el uso de (*) y en su lugar sólo toma el valor de los campos que nos interesa.

La cláusula INTO TABLE asigna estos cuatro campos a los cuatro primeros campos de la tabla interna. Así que, cuidado, el orden en que se hayan declarado estos campos en la tabla interna es importante. Aquí no hay asignación por nombre de campo, sino por posición, el valor del campo1 de la tabla se asignará al primer campo de la tabla interna, el valor del campo2 de la tabla se asignará al segundo campo de la tabla interna, y así sucesivamente.

Aquí ya no es tan importante el nombre de los campos de la tabla interna, pero sí la longitud y el tipo de esos campos. Si no lo tenemos cuenta nuestro programa acabar abruptamente con dump (http://abapysap.blogspot.com.co/2011/03/log-del-sistema-analisis-de-dumps.html) breve.

SELECT para recuperar registros individualmente

Otra forma que se utiliza mucho, es la sentencia SELECT SINGLE. Se utiliza si lo que nos interesa es únicamente un registro de nuestra tabla de base de datos. Con la cláusula SINGLE es necesario especificar todos los campos de la clave primaria en la cláusula WHERE para identificar de forma única un registro.

Es muy habitual que después de escribir esta sentencia se escriba una condición del tipo IF sy-subrc ... ENDIF.

El campo sy-subrc es un campo de sistema y si el resultado es 0 significa que la sentencia que se ha ejecutado anteriormente lo ha hecho de forma satisfactoria. Si el valor, en cambio fuese 4 o cualquier otro, entonces hemos de suponer que dentro de la tabla no existe ningún registro que confirme la condición dada en la cláusula WHERE. Con la cláusula SINGLE leemos una sola línea de la tabla y sin la cláusula la selección es múltiple. Cada vez que el sistema nos deja una línea sobre el área de trabajo especificado, se ejecuta el bloque de sentencias hasta la sentencia ENDSELECT.

En lugar de leer todas las columnas de la tabla se puede leer ciertas columnas o aplicar ciertas funciones a dichas columnas. Veamos todas las posibilidades de la cláusula:

%u25CF * -> Son todos los campos de la tabla.

%u25CF <campo> -> Es una lista de campos de la tabla.

%u25CF MAX( ) -> Devuelve el valor máximo de la columna <campo>.

%u25CF MIN( ) -> Devuelve el valor mínimo de la columna <campo>.

%u25CF AVG( ) -> Devuelve la media de valores de la columna <campo>.

%u25CF SUM( ) -> Devuelve la suma de valores de la columna <campo>.

%u25CF COUNT([ DISTINCT ]<campo>) -> Devuelve el número de registros seleccionados. Con DISTINCT sólo se cuentan los registros distintos.

%u25CF (<tabla>) -> Es una tabla interna donde se especifica cualquier opción de las vistas anteriormente.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El lenguaje SQL y la sentencia SELECT" de la mano de nuestros alumnos.

SAP Junior

El acceso a la base de datos es el factor número uno que define si un programa ABAP vuela o se arrastra. Como programador experto, tu objetivo principal siempre debe ser delegar el trabajo pesado al motor de la base de datos y minimizar el tráfico de red entre este y el servidor de aplicaciones. En el mundo moderno de SAP (especialmente con bases de datos in-memory como HANA), el paradigma es "Code-to-Data": envía la lógica a los datos, no los datos a la lógica. A continuación, desglosamos las prácticas que debes erradicar y las que debes adoptar en tu día a día. Las Peores Prácticas (Anti-patrones de Rendimiento) 1. El pecado capital: SELECT dentro de un LOOP Esta...

Acceder a esta publicación

Creado y Compartido por: Mauro Repetto

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


1. El Lenguaje SQL (Structured Query Language) Es un lenguaje de consulta estructurado utilizado como interfaz para comunicarse con las bases de datos y realizar operaciones de acceso y manipulación de la información. Estándar y Variaciones: Aunque es un estándar mantenido por ANSI, cada sistema de gestión (como Oracle o SAP HANA) puede tener sus propias extensiones propietarias,. Clasificación de sentencias: DDL (Lenguaje de Definición de Datos): Se utiliza para definir la estructura de la base de datos (tablas, índices, etc.). Incluye sentencias como CREATE, ALTER y DROP,. DML (Lenguaje de Manipulación de Datos): Permite manipular los datos (consultar,...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El lenguaje SQL y la sentencia SELECT 1| El lenguaje SQL Para acceder y manipular los datos que se encuentran almacenados en las tablas de la base de datos centralizada de SAP vamos a utilizar el lenguaje SQL. SQL Sus siglas significan Lenguaje de Consulta Estructurado. Es un lenguaje de consulta, usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulación de la información almacenada. Es un lenguaje sencillo de consulta, que permite realizar operaciones de selección, inserción, actualización y borrado de datos, así como operaciones administrativas sobre las bases de datos. Tiene la capacidad de hacer cálculos avanzados y álgebra. Es utilizado...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


El lenguaje SQL y la sentencia SELECT SQL es un lenguaje de consulta estructurado usado como interfaz para comunicarse con bases de datos, permitiendo operaciones de selección, inserción, actualización y borrado de datos, además de tareas administrativas. Permite hacer cálculos avanzados y álgebra. Es el lenguaje de programación más usado para bases de datos relacionales y está estandarizado por ANSI. Sistemas gestores de base de datos comunes que usan SQL incluyen Oracle, SAP HANA, MySQL, Microsoft SQL Server, Microsoft Access, e Ingres. Aunque SQL es estándar, cada sistema puede tener sus propias extensiones propietarias. El conocimiento de SQL básico facilita trabajar...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

SQL Sus siglas significan Lenguaje de Consulta Estructurado. Es un lenguaje de consulta, usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulación de la información almacenada. Es un lenguaje sencillo de consulta, que permite realizar operaciones de selección, inserción, actualización y borrado de datos, así como operaciones administrativas sobre las bases de datos. Tiene la capacidad de hacer cálculos avanzados y álgebra. Es utilizado en la mayoría de las empresas que almacenan datos en una base de datos. Ha sido y sigue siendo el lenguaje de programación más usado para bases de datos relacionales. El lenguaje SQL es...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: SQL es el lenguaje universal para gestionar datos en bases relacionales. En SAP ABAP, dominar sus sentencias (especialmente SELECT) es crucial para acceder, filtrar y manipular información eficientemente. Fundamentos de SQL en ABAP Clasificación de sentencias: Tipo Siglas Función Comandos Clave DDL Lenguaje de Definición de Datos Crear/modificar estructuras CREATE, ALTER, DROP DML Lenguaje de Manipulación de Datos Gestionar registros ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

El lenguaje SQL Y la sentencia SELECT 1 | El lenguaje SQL Para acceder y manipular los datos que se encuentran almacenados en las tablas de la base de datos centralizada de SAP vamos a utilizar el lenguaje SQL. SQL Sus siglas significan Lenguaje de Consulta Estructurado. Es un lenguaje de consulta, usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulación de la información almacenada. Es un lenguaje sencillo de consulta, que permite realizar operaciones de selección, inserción, actualización y borrado de datos, así como operaciones administrativas sobre las bases de datos. Tiene la capacidad de hacer cálculos avanzados y álgebra Es utilizado...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El lengaje SQL y la sentencia SELECT 1 El leguaje SQL Es el estándar utilizado para acceder, manipular y administrar datos almacenados en bases de datos relacionales. En SAP, este lenguaje es fundamental para interactuar con las tablas de la base de datos centralizada. Características principales: Permite realizar operaciones de: Selección (SELECT) Inserción (INSERT) Actualización (UPDATE / MODIFY) Borrado (DELETE) Administración de estructuras (CREATE, ALTER, DROP) SQL es mantenido como estándar por ANSI, lo que garantiza similitudes...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



El lenguaje SQL y la sentencia SELECT en ABAP En el entorno de programación ABAP (Advanced Business Application Programming), el lenguaje SQL se utiliza para interactuar con bases de datos SAP mediante sentencias conocidas como Open SQL. Estas sentencias permiten acceder y manipular datos de forma independiente del sistema de base de datos subyacente. Una de las sentencias más utilizadas es SELECT, que permite leer registros desde una o más tablas de base de datos. En ABAP, la sentencia SELECT puede usarse para recuperar datos en estructuras o tablas internas, facilitando el procesamiento posterior en el programa. Es posible aplicar condiciones con cláusulas como WHERE, ordenar resultados con ORDER BY, o limitar...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El lenguaje SQL y la sentencia SELECT 1. El lenguaje SQL Para acceder y manupular los datos que se encuentran almacenados en las tablas de la base de datos centralizada de SAP vamos a utilizar el lenguaje SQL. < SQL: Lenguaje de Consulta Estructurado. Es un lenguaje de consulta, usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulación de la información almacenada. > Las sentencias del lenguaje SQL pueden ser clasificadas en tre grupos que son los siguientes: Lenguaje de Definición de Datos (DDL): Se utiliza para definir estructuras como el esquema, la base de datos, las tablas de la base de datos, las restricciones, etc. * CREATE: Se utiliza para crear una base de...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!