😎 Semana del Amigo 2x1 en CVOSOFT🤓 ¡IM-PER-DI BLE!

 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

La sentencia SELECT


ABAP Instrucciones Sql: la Sentencia Select

En ABAP existen un conjunto de sentencias que se utilizan para acceder a las tablas de la base de datos. La más importante de estas sentencias es SELECT.

A través de la sentencia SELECT podremos acceder a los registros almacenados en cada una de las tablas que componen a la base de datos de SAP.

La sentencia SELECT presenta muchas variantes de ejecución que utilizaremos en base a la necesidad de información que se nos requiera.
Algunos ejemplos de las variantes más utilizadas de la sentencia SELECT son las siguientes:

SELECT *: mediante esta sentencia se seleccionan todos los campos y todos registros de la tabla base de datos. Es aconsejable minimizar la utilización del SELECT * ya que consume muchos recursos del sistema
SELECT SINGLE: utilizaremos esta cláusula para seleccionar un solo registros de la tabla base de datos.
SELECT… INTO TABLE: mediante esta cláusula almacenaremos el resultado de la selección en la tabla interna que se especifique a continuación de TABLE.
SELECT… INTO CORRESPONDING FIELDS OF TABLE: mediante esta cláusula almacenaremos el resultado de la selección en la tabla interna que se especifique a continuación de TABLE pero esta tabla interna puede no tener la misma estructura que la tabla base de datos.
SELECT SINGLE MAX: mediante esta cláusula obtendremos el campo de mayor valor que se especifique a la derecha de MAX.
SELECT COUNT(*): utilizaremos esta sentencia si quisiéramos contabilizar la cantidad de registros que cumplen con una condición especifica.
SELECT….FOR ALL ENTRIES: utilizaremos esta sentencia si quisiéramos obtener de una tabla base de datos, todos los registros que existan en una tabla interna cargada con datos.:

Sentencia de ABAP que se utiliza para acceder a las bases de datos de SAP.

Sin dudas es la sentencia más popular o conocida en lo que se refiere a las tablas bases de datos.



Mediante esta sentencia podremos acceder a los registros almacenados en todas las tablas que componen a la base de datos.

Existen muchas variantes de ejecución de la sentencia SELECT, cada una de ellas la utilizaremos en base a la necesidad puntual de información que nos sea requerida.

Algunas de las opciones más utilizadas son:

SELECT *
SELECT SINGLE
SELECT...INTO TABLE
SELECT...INTO CORRESPONDING FIELDS OF TABLE
SELECT MAX
SELECT COUNT
SELECT...FOR ALL ENTRIES


IN

La cláusula ABAP IN se utiliza junto con la sentencia SELECT, cuando dentro de las condiciones de la selección se utiliza un SELECT-OPTIONS.

El objetivo de la utilización de IN en el SELECT es poder introducir un rango de valores en la selección a realizar.

Veamos a continuación un ejemplo:

SELECT z_instal z_secuencia z_motivo_stop z_ctacto z_aufnr z_fbaja

FROM ztu_stopfact_ods

INTO CORRESPONDING FIELDS OF TABLE it_stop

WHERE z_instal IN s_instal

AND z_motivo_stop = p_motivo

AND z_fbaja = v_fecha.

En donde S_INSTAL es un parámetro de tipo SELECT-OPTION perteneciente a la pantalla de selección del programa.

select-options: s_instal for eanl-anlage.


MAX

La cláusula ABAP MAX se utiliza junto con la sentencia SELECT cuando se quiere hallar el registro con el campo especificado de mayor valor numérico.

Veamos a continuación un ejemplo de su utilización:

SELECT ebeln MAX( budat )

INTO TABLE ti_budat

FROM ekbe

WHERE ebeln IN r_ebeln

GROUP BY ebeln.

Así como podemos buscar el máximo valor, también es posible buscar el mínimo valor y esto lo hacemos mediante SELECT MIN.

Veamos un ejemplo de su utilización a continuación:

DATA: v_minkwmeng TYPE kwmeng.

PARAMETERS: p_vbeln TYPE vbeln_va.

SELECT MIN( kwmeng ) FROM vbap INTO v_minkwmeng WHERE vbeln EQ p_vbeln.



Where

La palabra reservada de ABAP WHERE se utiliza para especificar las condiciones en diferentes sentencias del lenguaje.

Veamos a continuación algunos ejemplos de sentencias en donde utilizamos WHERE:

SELECT: en la sentencia SELECT utilizaremos la cláusula WHERE para acotar la selección de los datos de la tabla base de datos.

SELECT blart cpudt cputm stbel opbel ernam herkf

FROM dfkkko

INTO TABLE ti_compensacion

WHERE blart EQ 'RC'.

LOOP-ENDLOOP: en los bucles de interacción para acotar el recorrido de la tabla interna.

LOOP AT ti_log WHERE soc = '1000'

AND oper = '010'.

DELETE ti_log.

ENDLOOP.


Select-options

Es un objeto de la pantalla de selección ABAP que permite ingresar rangos de valores o valores individuales que se utilizarán para restringir el procesamiento y la salida de los datos posteriores.

El rango está compuesto por un valor "desde" y un valor "hasta".

La sintaxis del SELECT-OPTIONS es la siguiente:

SELECT-OPTIONS <s_nombre> FOR <tipo_datos>.

Cuando declaramos un select-options se creará una tabla interna con los siguientes campos:

SIGN: este campo contiene I o E, donde I representa un inclusivo (Incluir ese valor) y E es exclusivo (Excluir los valores), el valor por defecto es I.
OPTION: Este campo puede aceptar valores BT (Entre), NB (No Entre), EQ (Igual), NE (No igual), GT (Mayor que), LT (Menor que).
LOW: Este campo almacena el valor desde del rango.
HIGH: Este campo almacena el valor hasta alto del rango.



Veamos a continuación un ejemplo de su utilización:

DATA: v_werks_d TYPE werks_d.

SELECT-OPTIONS: s_zwerks FOR v_werks_d.

Existen muchas adiciones que se pueden agregar a la sentencia SELECT-OPTIONS, algunas de ellas son:

OBLIGATORY: para que el campo sea obligatorio.
NO INTERVALS: para que no se muestra el hasta.
NO-EXTENSION: para que solo se puede introducir un solo rango de valores.


Into Table

La claúsula ABAP INTO TABLE se utiliza junto con la sentencia SELECT y produce que los registros de las tablas base de datos que se seleccionan, se almacenarán en la tabla interna que se especifica a continuación de la sentencia.

Cuando trabajamos con la sentencia INTO TABLE debemos tener en consideración que los campos de la tabla interna que se utiliza a continuación de la sentencia deben tener el mismo formato y orden, de las columnas o campos de la tabla base de datos que se estan seleccionando mediante el SELECT.

Veamos un ejemplo:

SELECT * FROM SBOOK INTO TABLE itab1.

Si necesitamos realizar más de una selección a la misma tabla de la base de datos y queremos conservar los registros recuperados en todas las selecciones, entonces en lugar de utilizar la senetencia INTO TABLE vamos a utilizar la sentencia APPENDING TABLE que va a "agregar" los registros obtenidos en las siguientes selecciones al final de los registros obtenidos en la primera selección y asi consecutivamente.

Veamos un ejemplo:

SELECT * FROM SBOOK APPENDING TABLE itab1.


Count

La cláusula ABAP COUNT se utiliza junto con la sentencia SELECT cuando se quiere obtener la cantidad de registros de una tabla SAP.

Veamos un ejemplo de su utilización:

SELECT COUNT(*)

INTO v_total

FROM KNA1

WHERE LAND1 EQ 'ESP'.

Aquí lo que estamos haciendo es obtener la cantidad de registros existentes en la tabla KNA1 cuya "Clave de país" es 'ESP' que corresponde a España.

Es importante tener en cuenta que no hay espacio entre la palabra COUNT y el paréntesis.

Otra cláusula muy utilizada es SUM y nos permite sumarizar el contenido de todos los registros existentes para un campo de la tabla base de datos.


Single

La cláusula ABAP SINGLE se utiliza junto con la sentencia SELECT para seleccionar la primera ocurrencia que cumpla con las condiciones de la selección.

Veamos la sintaxis de la sentencia:

SELECT SINGLE <campo_1> <campo_2> <campo_n>

INTO <estructura>

FROM <tabla_base_de_datos>

WHERE <condiciones>.

Luego de la cláusula SINGLE podemos utilizar * (asterísco) para que se seleccionen todos los campos de la tabla base de datos.

Esta práctica no es recomendada por cuestiones de performance ya que si de la selección solo vamos a utilizar 10 campos, los 90 campos restantes que pueden componer a una tabla se recuperarían sin ninguna necesidad y esto se traduce en que la selección demorará más tiempo de lo necesario.


Into Corresponding Fields OF Table

La cláusula ABAP INTO CORRESPONDING FIELDS OF TABLE se utiliza junto con la sentencia SELECT y es necesaria si queremos utilizar un área de trabajo o estructura distinta al área de trabajo de la tabla base de datos leída.

De esta forma estamos especificando que que los campos seleccionados de la tabla base de datos deberán ser almacenados en los correspondientes campos de la tabla interna, es decir aquellos campos que tengan el mismo formato.

Veamos un ejemplo de su utilización:

TYPES: BEGIN OF ty_requeridos,



tabname LIKE dd03l–tabname,

fieldname LIKE dd03l–fieldname,

reftable LIKE dd03l–reftable,



END OF ty_requeridos.



DATA: ti_requeridos TYPE STANDARD TABLE OF ty_columnas.



SELECT tabname

fieldname

reftable

INTO CORRESPONDING FIELDS OF TABLE t_requeridos

FROM dd03l

WHERE tabname = c_tabname.



APPending Table

Cláusula ABAP que se utiliza junto con la sentencia SELECT y produce que los registros de las tablas que se seleccionan se añadan al final de la tabla interna sin pisar los registros preexistentes en la tabla interna.

Cuando se utiliza INTO, se eliminan todas las líneas existentes en la tabla .

Los campos en la tabla interna no se ve afectado por la selección se llenan con los valores iniciales.


 

 

 


Sobre el autor

Publicación académica de Nestor Adrian Lara, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Junior

Nestor Adrian Lara

Profesión: Diseño Gráfico - Argentina - Legajo: BZ89W

✒️Autor de: 11 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Nestor Lara

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

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!