🚀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

iNSTRUCCIONES SQL

Sentencia SQL

conjunto de sentencias que se utilizan para accedera a las bases de datos.

La sintaxis es:

SELECT <resultado> "En resultado se colocan los campos que se quieren recuperar, si dejamos un asterisco recuperamos todos los campos.

FROM <tabla> " Tabla es la tabla origen donde se sacaran los datos

INTO <target> " Target es el destino donde será alojados los datos

WHERE <condiciones> "Condiciones de la búsqueda

Para obtener todos los registros de la tabla usuarios seria lo siguiente

SELECT *

FROM ZTABLA_USUARIOS

INTO TABLE ti_usuarios.

Donde TI_USUARIOS es una tabla interna del mismo tipo de la tabla ZTABLA_USUARIOS. en caso de existir registros de la tabla ZTABLA_USUARIOS en la tabla interna estos se pisarán. puede que queramos conservar el contenido de la tabla TI_USUARIOS en esta caso tendriamos que usar la cláusula APPENDING TABLE en lugar de INTO TABLE.

Recomendación: es hacer CLEAR Y REFRESH de la tabla interna antes de realizar la selección.

Si quisieramos obtener el campo DNI de la tabla deberiamos crear una tabla auziliar solo con el campo DNI para alojar el resultado de la consulta.

Ejemplo:

SELECT dni

FROM ztabla_usuarios

INTO TABLE ti_usuarios-aux.

Importante: Siempre despues de un SELECT se debe preguntar por el SY_SUBRC para saber como proseguir.

Si quisieramos obtener la primera ocurrencia de la ZTABLA_USUARIOS donde se cumpla determinada condicion debemos usar la clausula SINGLE

ejemplo

* Selecciono el primer registro que cumpla la condicion

CLEAR wa_usuarios.

SELECT SINGLE *

FROM ztabla_usuarios

INTO wa_usuarios

WHERE nombre_ape NE space.

El resultado se guardará en la estructura wa_usuarios que es del mismo tipo que la tabla ztabla_usuarios

SINGLE ; es una clausula de SELECT prduce que solo se seleccione la primera ocurrencia que cumpla las condiciones de seleccion.

Ahora si quiesieromhacer la misma consulta pero solo obtener el campo DNI entonces no necesitamos la estructura wa-usuarios sino que se guardaria el resultado en una variable v-dni

* Selecciono el primer registro que cumpla la condicion

CLEAR v_dni.

SELECT SINGLE dni

FROM ztabla_usuarios

INTO v_dni

WHERE nombre_ape NE space.

Si quisieramos obtener los registros que cumplan una condicion pero queremos guardarlos en una abla interna que no tiene la misma estructura que la tabla, entonces tenemos que usar la cláusula INTO CORRESPONDING FIELDS OF TABLE

* Selecciono el primer registro que cumpla la condicion

SELECT nombre_ape estado_usu

FROM ztabla_usuarios

INTO CORRESPONDIG FIELDS OF TABLE ti_usuarios2

WHERE nombre_ape NE space

AND estado_usu = 'A' .

Audio tips; la posición del campo en la tabla ZTABLA_USUARIOS está en pos 1 y es un tipo char de 4 ,en la tabla interna ti_usuarios2 tambien tendrá la misma posción y tipo de dato.

En el ejemplo anterior la tabla TI_USUARIOS2 está compuesta por los campos nombre-ape y estado_usu.

Suponemos que tenemos un reporte que tiene la pantalla de seleccion;

Nombre y Apellido es el parameter y

Estado Usuario es el select options S_ESTADO. Si quisieramos haer una seleccion a la tabla en base a lo que los usuarios ingresan por pantalla hariamos lo siguiente:

* Selecciono los registeros que cumplan con los parámetros de pantalla

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios

WHERE nombre_ape = p_nomape

AND estado_usu IN s_estado.

La clausula IN se utiliza para los select-options en las condiciones de un SELECT

Ahora si quisieramos obtener el usuario activo con DNI mas lato tendriamos que usar la clausula MAX

* Obtengo el usuario activo con DNI mas alto

SELECT SINGLE MAX (dni)

INTO v_dni

FROM ztabla_usuarios

WHERE estado_usu = 'A' .

AUDIO TIPS:

Cuando creemos la sentencia SELECT para el compilador ABAp si colocamos primero FROM y luego INTO o al revés.

Si quisieramos saber la cantidad de usuarios con estado ='activo" debemos usar la clausula COUNT;

Ejemplo

* Obtengo la cantidad de usuaruios activos

SELECT COUNT (*)

INTO v_activos

FROM ztabla_usuarios

WHERE estado_usu = 'A'.

Si quisieramos obtenerde una tabla para todos los registros que existan en una tabla interna cargada con datos, entonces usemos la sentencia FOR ALL ENTRIES IN que nos permite especificar condiciones en tiempo de ejecución.

Ejemplo

* Obtengo los registros de los usuarios que existan en la tabla interna TI_PROVEEDORES

SELECT *

INTO TABLE ti_usuarios

FROM ztabla_usuarios

FOR ALL ENTRIES IN ti_proveedores

WHERE dni = ti_Proveedores -dni.

Audio Tips:

Con FOR ALL ENTRIES lo que hacemos es seleccionar todos los registros de la tabla ztabla_usuarios que se encuentran en la tabla interna ti_proveedores siendo que el campo dni sea igual en ambas tabla y almacenamos las coincidencias en la tabla interna ti_usuarios. Esto mismo se podría realizar recorriendo la tabla interna ti_proveedores con un LOOP AT y por cada registro de esta tabla interna realizaríamos un SELECT a la tabla ztabla_usuarios, pero debemos tener en cuenta la performance de los programas que realizamos ya que si la tabla interna ti_proveedores almacena solo tres registros entonces al ejecutar nuestro programa estariamos accediendo a la base de datos solo tres veces, pero si la tabla interna ti_proveedores almacena cien mil registros entonces al ejecutar nuestro programa estariamos accediendo a la base de datos cien mil veces y esto produciría u tiempo de espera enorme. Para evitar estas situaciones nos aseguramos de acceder una sola vez a la base de datos usando FOR ALL ENTRIES.

Si quisieramos obtener todos los registros que cumplan con unpatrón de text en alguno de sus campos debemos utilizar la sentencia LIKE

Ejemplo

* Recupero los usuarios cuyo nombre empeice con "A"

SELECT *

FROM ztabla_usuarios

INTO TABLE ti_usuarios

WHERE nombre_ape LIKE 'A%'.


 

 

 


Sobre el autor

Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Carlos Alberto Carreira

Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G

✒️Autor de: 92 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Inicial

🎓Egresado de los módulos:

Certificación Académica de Carlos Carreira

✒️+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 Master

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 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

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

SAP Senior

1. La sentencia SELECT La principal sentencia para acceder a los datos de las bases de datos es SELECT, cuya sintaxis es la siguiente: SELECT <resultado: campos que se desean recuperar> FROM <tabla: tabla origen de donde se extraerá la información> INTO <target: destino donde se alojarán los datos. Se utiliza cuando el resultado se guardará en una tabla interna. Si se requiere conservar el contenido de la tabla interna luego de reinteras selecciones, se debe usar APPENDING TABLE> WHERE <condiciones: filtros de búsqueda> Es recomendable hacer CLEAR y REFRESH de la tabla interna antes de de la selección. Tambien es recomendable utilizar SY-SUBRC despues del SELECT, para saber si...

Acceder a esta publicación

Creado y Compartido por: Jose Hernando Donado Cervantes

 


 

👌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!