🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El lenguaje SQL y la sentencia SELECT

ABAP El lenguaje SQL y la sentencia SELECT

ABAP El lenguaje SQL y la sentencia SELECT

El lenguaje SQL y la sentencia SELECT

1. 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 tres 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.

Para definir las estructuras disponemos de tres sentencias:

CREATE: se utiliza para crear una base de datos, tablas bases de datos, vistas, etc.

ALTER: se utiliza para modificar la estructura de la base de datos, por ejemplo, añadir o borrar columnas de una tabla base de datos.

DROP: con esta sentencia podemos eliminar los objetos de la estructura, por ejemplo un índice o una secuencia.

Lenguaje de Manipulación de datos (DML): Permite a los usuarios introducir datos para posteriormente realizar tareas de consulta o modificación de los datos que contienen las bases de datos.

SELECT: esta sentencia se utiliza para realizar consulta sobre los datos.

INSERT: con esta sentencia podemos insertar los valores en una tabla base de datos.

UPDATE: se utiliza para modificar los valores de uno o varios registros.

MODIFY: también se utiliza para modificar los valores de uno o varios registros.

DELETE: se utiliza para eliminar las filas de una tabla base de datos.

Lenguaje de Control de Datos (DCL): gracias a este lenguaje podemos darle o quitarle permisos sobre los objetos a los usuarios que se conectan a la base de datos.

Los comandos para controlar los permisos son los siguientes:

GRANT: permite otorgar permisos.

REVOKE: elimina los permisos que previamente se han concedido.

2. La sentencia SELECT

Se utiliza para recuperar información en SQL, es decir, permite obtener registros de la base de datos, de una o varias tablas combinadas. Además, permite hacer filtrados de información, para obtener únicamente los registros que cumplen ciertas condiciones.

En ABAP la sentencia SELECT tiene la siguiente sintaxis:

SELECT <resultado> "En resultados se colocan los campos que se desean recuperar"

FROM <tabla> "Es la tabla base de datos de donde se sacan los datos"

INTO <target> "Es el destino donde serán alojados los datos"

WHERE <condiciones>. "Condiciones de la búsqueda"

Existen distintas variantes de SELECT, a continuación las comentamos:

2.1 SELECT * INTO TABLE

Con el símbolo del asterisco * podemos indicar que queremos todos los registros de la tabla. INTO TABLE se utiliza cuando el resultado de la consulta se guarda en una tabla interna.

Código de ejemplo:

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios.

Importante: Se debe evitar el uso del * cuando solo se requiere obtener algunos de los campos de la tabla origen.

2.2. SELECT * APPENDING TABLE

Con APPENDING TABLE en lugar de INTO TABLE lo que hacemos es añadir los registros de la base de datos a la tabla interna, sin eliminar los registros de la tabla interna ya existentes.

Código de ejemplo:

SELECT *

FROM ztabla_usuarios

APPENDING TABLE ti_usuarios.

Es recomendable hacer un REFRESH de la tabla interna en donde se almacenarán los datos antes de realizar la selección de los mismos. En caso de utilizar una variable o una estructura entonces deberemos ejecutar un CLEAR.

2.3 SELECT campo1

Para seleccionar solamente un campo de una base de datos, utilizamos una tabla auxiliar solamente con el campo deseado, por ejemplo DNI.

Código de ejemplo:

SELECT dni

FROM ztabla_usuarios

INTO TABLE ti_usuarios_aux.

Siempre después de un SELECT se debe preguntar por el SY-SUBRC para saber cómo proseguir.

Si quisiéramos obtener dos campos de la tabla base de datos, entonces debemos escribir luego de la sentencia select el nombre de los campos, en el mismo orden en el que dichos campos se encuentran en la tabla base de datos. Si donde vamos a almacenar los datos no coincide en el formato con los datos recuperados, entonces se produce un error.

2.4 SELECT SINGLE

Si deseamos obtener la primera ocurrencia de una tabla entonces debemos ejecutar un SELECT SINGLE *.

Código de ejemplo:

CLEAR wa_usuarios.

SELET SINGLE *

FROM ztabla_usuarios

INTO wa_usuarios

WHERE nombre_ape NE space.

El resultado de esta consulta será guardado en la estructura WA_USUARIOS que es del mismo tipo que la tabla ZTABLA_USUARIOS. Si quisiéramos realizar la misma consulta anterior, pero necesitamos saber solamente un campo, entonces deberíamos de almacenar el resultado en una variable.

Código de ejemplo:

CLEAR v_dni.

SELECT SINGLE dni

FROM ztabla_usuarios

INTO v_dni

WHERE nombre_ape NE space.

2.5 SELECT INTO CORRESPONDING FIELDS OF TABLE

Si queremos obtener de una tabla base de datos los registros que cumplan una condición pero deseamos guardarlos en una tabla interna que no tiene la misma estructura que la tabla base de datos, entonces tenemos que usar la cláusula INTO CORRESPONDING FIELDS OF TABLE.

Código de ejemplo:

SELECT nombre_ape estado_usu

FROM ztabla_usuarios

INTO CORRESPONDING FIELDS OF TABLE ti_usuarios2

WHERE nombre_ape NE space

AND estado_usu EQ 'A'.

2.6 SELECT ...WHERE IN

Si quisiéramos hacer una selección de una tabla base de datos en base a lo que los usuarios ingresan por pantalla, haríamos lo siguiente.

Código de ejemplo:

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios

WHERE nombre_ape EQ p_nomape

AND estado_usu IN s_estado.

La cláusula IN se utiliza para los select-options en las condiciones de un select.

2.7 SELECT MAX

Si quisiéramos obtener el usuario activo con DNI más alto, tendríamos que usar la cláusula MAX de la siguiente forma.

Código de ejemplo:

CLEAR v_dni.

SELECT SINGLE MAX dni

INTO v_dni

FROM ztabla_usuarios

WHERE estado_usu EQ 'A'.

2.8 SELECT COUNT

Si queremos contar la cantidad de usuarios con estado activo, debemos usar la cláusula COUNT de la siguiente forma.

Código de ejemplo:

CLEAR v_activos.

SELECT COUNT (*)

INTO v_activos

FROM ztabla_usuarios

WHERE estado_usu EQ 'A'.

2.9 SELECT FOR ALL ENTRIES IN

Si quisiéramos obtener de una tabla todos los registros que existan en una tabla interna cargada con datos, entonces debemos utilizar FOR ALL ENTRIES IN que nos permite especificar condiciones en tiempo de ejecución.

Código de ejemplo:

SELECT *

INTO TABLE ti_usuarios

FROM ztabla_usuarios

FOR ALL ENTRIES IN ti_proveedores

WHERE dni EQ ti_proveedores-dni.

2.10 SELECT ...LIKE

Si quisiéramos obtener todos los registros que cumplan un patrón de texto en alguno de sus campos, debemos utilizar la cláusula LIKE.

Código de ejemplo:

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios

WHERE nombre_ape LIKE 'A%'.

2.11 SELECT ...INNER JOIN

Tenemos la posibilidad de realizar un SELECT a más de una tabla base de datos, lo que se conoce con el nombre de JOIN. Para analizar este punto vamos a trabajar con dos tablas bases de datos muy importantes dentro del sistema SAP, como son la tabla de datos estándar VBRK de Factura: Datos de cabecera y la tabla base de datos estándar VBRP de Factura: Datos de posición.

Supongamos que deseamos recuperar de ambas tablas base de datos los registros en donde el campo VBELN (Número de factura) coincida, esta será la condición de unión entre ambas tablas y para estos registros nos vamos a quedar con los siguientes campos de la tabla base de datos VBRK:

Factura (VBELN)

Clase de factura (FKART)

Tipo de factura (FKTYP)

Tipo de documento comercial (VBTYP)

Moneda del documento comercial (WAERK)

Organización de ventas (VKORG)

Canal de distribución (VTWEG)

Y los siguientes campos de la tabla base de datos VBRP:

Posición de factura (POSNR)

Valor neto de posición de factura (NETWR)

Entonces vamos a ejecutar la sentencia SELECT INNER JOIN de la siguiente forma.

Código de ejemplo:

TYPES: BEGIN OF ty_facturas,

vbeln LIKE vbrk-vbeln,

fkart LIKE vbrk-fkart,

fktyp LIKE vbrk-fktyp,

vbtyp LIKE vbrk-vbtyp,

waerk LIKE vbrk-waerk,

vkorg LIKE vbrk-vkorg,

vtweg LIKE vbrk-vtweg,

posnr LIKE vbrp-posnr,

netwr LIKE vbrp-netwr,

END OF ty_facturas.

DATA: ti_facturas TYPE STANDARD TABLE OF ty_facturas,

wa_facturas LIKE LINE OF ti_facturas.

SELECT t1~vbeln t1~fkart t1~fktyp t1~vbtyp t1~waerk

t1~vkorg t1~vtweg t2~posnr t2~netwr

INTO CORRESPONDING FIELDS OF TABLE ti_facutras

FROM vbrk AS t1 INNER JOIN vbrp AS t2

ON t2~vbeln = t2~vbeln.

La cláusula INNER JOIN entre dos tablas base de datos A y B entregará el resultado de la intersección de los conjuntos A y B. En otras palabras, la parte interna, es decir, los registros en común entre ambas tablas de base de datos según la condición de conexión entre ambas.

También tenemos disponible en ABAP la cláusula LEFT OUTER JOIN entre dos tablas base de datos A y B, en donde obtendremos como resultado la unión entre las tablas A y B más la parte de información exterior de la tabla base de datos A, es de la tabla base de datos que se encuentre a la izquierda en la unión.


 

 

 


Sobre el autor

Publicación académica de Alexander Antelo Garcia, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Alexander Antelo Garcia

Profesión: Ing. en Sistemas de la Informacion - Mexico - Legajo: KR64D

✒️Autor de: 44 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Alexander Garcia

✒️+Comunidad Académica CVOSOFT

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

SAP Master

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 manipulacion de la informacion almacenada. Algunos sistemas de gestion de bases de datos comunes que utilizan SQL son ORACLE, SAP HANA, MY SQL; Microsoft SQL SERVER, microsoft acces, ingres etc. LA SENTENCIA SELECT se utiliza para realizar informacion en SQL, es decir permite obtener registros de la base de datos de una o varias tablas combinadas. Ademas permite hacer filtrados de la informacion para obtener unicamente los registros que cumplen ciertas condiciones. Una sentencia select recupera cero o mas filas de una o mas tablas de base de datos o vistas de base...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


La sentencia "SELECT" en el contexto de SAP ABAP (Advanced Business Application Programming), que se utiliza para recuperar datos de una base de datos. La sentencia "SELECT" se utiliza para consultar registros en tablas de la base de datos y recuperar la información que necesitas para tu programa. La sentencia "SELECT" puede incluir más detalles, como cláusulas "WHERE" para filtrar los registros, "GROUP BY" para agrupar resultados y otras opciones que permiten personalizar la consulta según tus necesidades. QL (Structured Query Language) es un lenguaje de programación utilizado para gestionar y manipular bases de datos relacionales. Con SQL, puedes realizar...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP Expert

El lenguaje SQL y la sentencia SELECT LECCION 6º DE 10 1 - El lenguaje SQL. Lenguaje de consulta estructurado, interfaz para cominucacrse con la base de datos y realizar operaciones de acceso y manipulacion de la informacion almacenda. Las sentencias SQL la podemos clasificar en 3. Lenguaje de definicion de datos(DDL) : se usa para definir estructuras como el esquema, la base de datos, las tablas de db, las restricciones, etc. Se dispone de CREATE, ALTER, DROP Lenguaje de manipulacion de datos (DML): se usa para manipular los datos. SELECT, INSERT,UPDATE, MODIFY, DELETE. Lenguaje de control de datos(DCL): se usa para dar o quitar permisos sobre los objetos a los que los usuarios se conectan a la base de datos. GRANT,REVOKE....

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

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

SAP Senior

SQL es un lenguaje de consulta de bases de datos, que se utiliza para comunicarse con la base de datos y realizar operaciones, este lenguaje es el mas utilizado por las bases de datos relacionales y aunque es el mas utilizado cada base de datos tiene sus propias extensiones. las sentencias del lenguaje SQL pueden ser clasificadas en tres, que serian * lenguaje de definición de datos DDL - CREATE. - ALTER. - DROP. * lenguaje de manipulación de datos. DML - SELECT - INSERT - UPDATE - MODIFY - DELETE * lenguaje de control de datos DCL - GRANT - REVOKE LA SENTENCIA SELECT esta sentencia permite obtener registros de la base de datos, filtrados o no. para obtener todos los resultados de una tabla se pone * y INTO TABLE cuando los...

Acceder a esta publicación

Creado y Compartido por: Jose Sebastian Salamanca Garcia

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

SAP Junior

1. La sentencia SELECT Se utiliza para acceder a las bases de datos de SAP. podemos acceder a los registros almacenados en todas las tablas. Sintaxis: SELECT<resultado> FROM<tabla> INTO<target> WHERE<condiciones>. Ejemplo. Si quisieramos obtener los registros de la tabla ZTABLA_USUARIOS, usariamos el siguiente codigo: SELECT * FROM ztabla_usuarios INTO TABLE ti_usuarios. APPENDING TABLE: Se utiliza junto con la sentencia SELECT y produce que los regsitros de las tablas que se selecionan se añadan al final de la tabla interna sin pisar los registros preexistentes en la tabla interna. INTO TABLE: Se utiliza junto con la sentencia SELECT y produce que los rgistros de las tablas base de datos que se selecionan,...

Acceder a esta publicación

Creado y Compartido por: Jairo Alexander Arias Linares

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

SAP Junior

Lenguaje SQL y la sentencia Select 1. Lenguaje SQL Sus siglas significan Lenguaje de Consulta estrucurado Es un lenguaje de consulta usado como interfaz para comunicarse con bases de datos y realizar operaciones de acceso y manipulacion de la informacion almacenada. Es un lenguaje sencillo de consulta que permite la seleccion, insercion, actualizacion y borrado de datos. Tiene la capacidad de hacer calculos avanzados en algebra. Es utilizado en empresas que almacenana datos en una base de datos. El lenguaje SQL es estandar mantenido por ANSI, por lo que las bases de datos son las mismas en la mayoria de los sistemas Algunos de bases de datos mas comunes que utiliza SQL son: ORACLE, SAP, HANA, MySQL, Microsoft SQLm Microsoft...

Acceder a esta publicación

Creado y Compartido por: Lucas Mera / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

EL LENGUAJE SQL: SQL como sus siglas la identifican, se definen como "Lenguaje de consulta estructurado" este lenguaje puede ser clasificado en tres grupos que son los siguientes: - Lenguaje de definición de datos DDL: gracias a este lenguaje podemos definir los diferentes objetos que tenemos en nuestra base de datos, se utiliza para definir estructuras como son el esquema, la base de datos, las tablas de bases de datos, las restricciones, etc. Para definir las estructuras disponemos de 3 sentencias: *** CREATE: se utiliza para crear una base de datos, tablas bases de datos, vistas, etc. *** ALTER: se utiliza para modificar la estructura de la base de datos, por ejemplo añadir o borrar columnas de una tabla base de datos....

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

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

SAP SemiSenior

Sentencia Select nos permite acceder a la base de datos SELECT <cmpos necesitamos> FROM <tabla BD> INTO TABLE<tabla (o workarea)> WHERE <campo> = <valor>. recomendable realizar CLEAR o REFRESH a la tabla antes de la siguiente sentencia SELECT <cmpos necesitamos> FROM <tabla BD> APPENDING TABLE <tabla o workarea> WHERE <campo> = <valor>. SELECT SINGLE<cmpos necesitamos> FROM <tabla BD> INTO TABLE<tabla (o workarea)> WHERE <campo> = <valor>. "para obtener 1er ocurrencia SELECT SINGLE<cmpos necesitamos> FROM <tabla BD> INTO <variable> WHERE <campo> = <valor>. "para obtener 1er ocurrencia en variable SELECT <cmpos1>...

Acceder a esta publicación

Creado y Compartido por: Tania Luisa Diaz Corona / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

SQL SELECT - Es la principal sentencia para acceder bases de datos. SELECT * FROM z_tabla INTO TABLE ti_tabla WHERE condiciones *ti-tabla es del mismo tipo que z_tabla APPENDING TABLE - No planchará el contenido de una tabla interna sino que lo agreagará al final. *Se recomienda hacer CLEAR Y REFRESH a la tabla interna Si solo vamos a obtener un campo es recomendable crear una tabla auxiliar solo con ese campo: SELECT id FROM z_tabla INTO TABLE ti_id. ****SY-SUBRC****** Validar siempre que sea 0 despues de cada sentencia para confirmar éxito o error. -Obtener el primer registro SELECT SINGLE * FROM z_tabla INTO wa_table -Obtener un campo del primer registro, va a una variable SELECT SINGLE id FROM z_tabla INTO v_id -Guardar...

Acceder a esta publicación

Creado y Compartido por: Armando Mayo Marquez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

Con la sentencia SELECT podemos seleccionar los registros de las tablas bases de datos. Se recomienda utilizar las sentencias CLEAR y REFRESH antes de realizar una selección de una tabla interna. Con la cláusula SINGLE obtenemos el primer registro que cumpla la condición especificada dentro de la selección. La cláusula IN se utiliza con la sentencia SELECT cuando dentro de la condición se utilizan select-options. La cláusula COUNT cuenta la cantidad de registros que cumple con una condición específica.

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!