✒️ABAP / Los cortes de control utilizando tablas internas Por Gustavo Betancur Guzmán

Selector Alummnos / Empresas

ABAP Los cortes de control utilizando tablas internas

ABAP Los cortes de control utilizando tablas internas

Resumen

Unidad 3 lecció 2

Los cortes de control utilizando tablas internas.

1- Que es un corte de control?

Xa realizar los reportes vamos a trabajar con tablas internas, ya q de esta forma podemos almacenar, los registros q obtenemos de las tablas DB o cargar manual/ los registro q suger del procesamiento del programa y luego vamos a estructurar y formatear los datos q se muestran.

Cuando hablamos de estructurar y formatear nos referimos a:

== Organizar la salida de los datos en pantalla, dándoles un formato determinado.

== Ordenando el reporte a determinados campos

== Sumarizando campos

== Mostrando totales

== Entre otros. Todo esto se denomina cortes de control.

Corte de control => es una forma de estructurar un reporte de salida x pantalla de modo de poder sumarizar datos y mostrar totales, por distintos campos.

Ej corte de control: Supongamos q tenemos q generar un reporte de clientes x región y distrito, en donde se muestre x c/region x distrito, los clientes existentes junto con sus importes. También se desea mostrar el importe total x cliente, el importe total x distrito, y el importe total x región, luego de aplicar la técnica corte de control de salida por pantalla.

2- El paso a paso xa implementar un corte de control.

Toda técnica debe cumplir una serie de pasos y son:

Seguimos con el ej: Reporte de clientes región y distrito.

1ro declarar la tabla interna de salida del reporte. La particularidad q va a tener la tabla, es q esta compuesta x c/u de los campos q se desea incluir en el reporte de salida. y el orden en q se declaran los campos en q se declaran en la tabla interna, va hacer el mismo orden den el q se desea q esos campos se visualicen en pantalla.

Declaramos tabla interna ti_clientes y estructura o área de trabajo wa_clientes.

Como TYPES. (tipos)

TYPES: BEGIN OF ty_clientes,

region(10) TYPE c,

distrito(10) TYPE c,

nrocliente(5) TYPE c,

importe TYPE i,

END OF ty_clientes.

* tabla interna y estructura

DATA: ti_clientes TYPE STANDARD TABLE OF ty_clientes,

wa_clientes LIKE LINE OF ti_clientes.

* una particularidad de ABAP se declara una estructura auxiliar wa_clientes_aux.

DATA: wa_clientes_aux LIKE LINE OF ti_clientes.

x último declaramos un variable x c/u de los importes

DATA: w_importe_total_cliente TYPE i,

w_importe_total_distrito TYPE i,

w_importe_total_region TYPE i.

Borramos contenido de la tabla interna ==> REFRESH ti_clientes.

En el día a día del programador ABAP, se toma la tabla DB y luego realizar el procesamiento con ellos (datos) q sería la información precisa, con la cual se va a elaborar el reporte.

Luego ordenar la tabla interna x Región, distrito y cliente.

* ordenamos la tabla

SORT ti_clientes BY región distrito nrocliente.

A continuación recorrer la ti_clientes y es aquí dentro de este LOOP-ENDLOOP => se realiza el corazón de la técnica de corte de control.

dentro del LOOP => sumamente importante es PASAR el contenido de la estructura wa_clientes a wa_clientes_aux.

Recorremos la tabla interna

LOOP AT ti_clientes INTO wa_clientes.

*copiamos el contenido del registro a aun estructura wa_clientes_aux.

CLEAR wa_clientes_aux.

wa_clientes_aux = wa_clientes.

END LOOP.

Esto es lo importante de la técnica de corte de control

ABAP => Dos sentencias

AT NEW campo.

.....

ENDAT.

La sentencia AT NEW campo. se ejecuta x c/valor nuevo q se encuentre almacenado en campo.

La sentencia AT NEW campo mira hacia atrás, es decir compara el contenido del campo del registro actual de la tabla interna q se esta procesando contra el contenido del campo del registro anterior de la tabla interna q se proceso.

  • Si el resultado de esta comparación es q los contenido de ambos campos son DIFERENTES entonces se ejecuta la lógica ABAP q se encuentra dentro de AT NEW.
  • Si el resultado de los campos son iguales entonces NO se ejecuta la lógica.
  • Si estamos procesando el primer registro el campara el contenido del campo contra nada y aquí se ejecuta la logic de AT NEW.

Y la sentencia AT END OF campo.

....

ENDAT.

La sentencia AT END OF campo se ejectua cuando se esta procesando el último registro q tenga almacenado un vlr determinado en el campo.

Esta sentencia mira hacia adelante es decir compara el contenido del campo del registro actual de la tabla interna q se esta procesando contr el contenido del campo del registro sgnte de la tabla interna q todavi no se proceso.

  • Si el resultado de esta comparacion es q los contenidos de ambos campos son diferentes entonces se ejecuta la lógica ABAP q se encuentra dentro del AT END OF.
  • Si el resultado de ambos campos son iguales no se ejecuta esta lógica.
  • Si estamos procesando el último registro de la tabla interna entonces compara el contendio del campo contra nada y el resultado es distinto entonces se ejecuta la logica ABAP q se encuentra denro del AT END OF.

X c/nueva region vamos a ejecutar un AT NEIW REGION y aqui hacemos dos puntos q son:

== Inicializar las variables v_importe_total_region q sumara el importe x region.

== E imprimir la region q estamos procesando

* X c/nueva region

AT NEW region

CLEAR v_importe_total_region.

FORMAT COLOR 1.

WRITE:/ sy-uline(83).

WRITE:/ 'Region :', wa_clientes_aux.region.

WRITE:/ sy-unile(83).

ENDAT.

X c/nuevo distrito vamos a ejecutar un AT NEW distrito, aquí dentro vamos a hacer dos puntos fundamentales q son inicializar la variable v_importe_total_distrito q sumarice el importe x distrito e imprimir el distrito q estamos procesando.

* x c/nuevo distrito

AT NEW distrito

CLEAR v_importe_total_distrito.

FORMAT COLOR 5.

WRITE:/10 'Distrito:', wa_clientes_aux.distrito.

ENDAT.

X c/nuevo numero de cliente vamos ajecutar un AT NEW nrocliente y aqui dentro vamos a incializar la variable v_importe_total_cliente.

* x cada nuevo cliente

AT NEW nrocliente.

CLEAR v_importe_total_cliente.

ENDAT.

Una vez q se ejecutaron c/u de los AT NEW entonces fuera de ellas será necesario sumarizar o acumular c/u de los importes q mostraremos a continuación en el reporte.

ADD wa_clientes_aux-importe TO v_importe_total_cliente.

ADD wa_clientes_aux-importe TO v_importe_total_distrito.

ADD wa_clientes_aux-importe TO v_importe_total_region.

Vamos a imprimir el total de cliente hacer cuando se ejecute el ultimo registro correspondiente al numero de cliente q estamos procesando.

Sentencia AT END OF nrocliente, q en caso de ser el ultimo cliente se ejecutara la lógica q se encuentra dentro del AT END OF q consiste en imprimir en pantalla el numero del cliente y el importe total acumulado x cliente.

* imprimir total de cliente.

AT END OF nrocliente.

FORMAT COLOR 3.

WRITE:/ 30 'Cliente:', wa_clientes_aux-nrocliente.

50 'Importe total cliente:',v_importe_total_cliente.

ENDAT.

Luego vamos a imprimir el total x distrito. esto lo vamos hacer cuando se ejecute el ultimo registro correspondiente al distrito q estamos procesando.

* imprimir total distrito

AT END OF distrito

FORMAT COLOR 5.

WRITE:/10 'Importe total distrito ', v_importe_total_distrito.

ENDAT.

X ultimo hacemos lo mismo con la región.

Aquí ejecutamos la sentencia AT END OF región. en caso de ser la ultima región se ejecutará la lógica a se encuentre dentro del AT END OF. q consiste en imprimir el importe total acumulado x región.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para el Curso SAP ABAP.

SAP Expert

Gustavo Betancur Guzmán

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WS86O

✒️Autor de: 164 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Gustavo Betancur

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los cortes de control utilizando tablas internas" de la mano de nuestros alumnos.

SAP Expert


1. Concepto y Utilidad Un corte de control es una técnica utilizada para estructurar y formatear la salida de un reporte. Su objetivo principal es organizar los datos en pantalla, permitiendo agrupar información, sumarizar campos y mostrar totales o subtotales por distintos criterios (por ejemplo, totales por cliente, distrito o región),. 2. Requisitos Previos (Preparación) Para implementar un corte de control correctamente, se deben seguir ciertos pasos antes de procesar los datos: Estructura de la tabla: La tabla interna de salida debe declararse con los campos en el mismo orden en que se desean visualizar y agrupar. Estructura auxiliar: Es necesario declarar una estructura o área de trabajo auxiliar...

Acceder a esta publicación

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

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

SAP Senior

Los cortes de control utilizando tablas internas 1|¿Qué es un Corte de control? Tal como vimos anteriormente de una de las tareas que más vamos a realizar como programadores ABAP es la confección de reportes de salida por pantalla. Para realizar estos reportes vamos a trabajar con tablas internas, ya que de esta forma podremos almacenar los registros que obtenemos de las tablas base de datos o cargar manualmente los registros de datos que surgen del procesamiento del programa y luego vamos a estructurar y formatear los datos que se mostrarán como salida del programa. Cuando hablamos de estructura y formatear nos referimos a organizar la salida de los datos en la pantalla, dándoles un formato determinado,...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

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

SAP Master


Cortes de control en ABAP Definición y Contexto de los Cortes de Control Los cortes de control permiten estructurar y formatear la salida de datos en reportes ABAP, facilitando agrupamientos, totales y ordenamientos. Se utilizan con tablas internas, donde se almacenan datos obtenidos tanto desde bases de datos como manualmente. Ejemplo de aplicación: un reporte de clientes agrupados por región y distrito, mostrando totales por cada cliente, distrito y región. Implementación Paso a Paso Declarar la tabla interna de salida y su correspondiente estructura auxiliar (WA_CLIENTES_AUX). Definir variables para acumular los importes totales por región, distrito y cliente (V_IMPORTE_TOTAL_REGIÓN, V_IMPORTE_TOTAL_DISTRITO,...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Senior

Tal como vimos anteriormente una de las tareas que más vamos a realizar como programadores ABAP es la confección de reportes de salida por pantalla. Para realizar estos reportes vamos a trabajar con tablas internas, ya que de esta forma podremos almacenar los registros que obtenemos de las tablas base de datos o cargar manualmente los registros de datos que surgen del procesamiento del programa y luego vamos a estructurar y formatear los datos que se mostrarán como salida del programa. Cuando hablamos de estructurar y formatear nos referimos a: organizar la salida de los datos en la pantalla, dándoles un formato determinado, agrupando los campos de salida, ordenando el reporte por determinados campos, sumarizando...

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: Los cortes de control son una técnica esencial para estructurar reportes ABAP, permitiendo agrupar datos por campos clave (ej: región, distrito) y calcular totales parciales. ¡Convierte tus listados en informes profesionales con resúmenes jerárquicos! 1. ¿Qué es un Corte de Control? Definición: Mecanismo que divide un reporte en grupos basados en campos, calculando totales por cada grupo. Funcionalidad: Agrupa registros por campos específicos (ej: región → distrito → cliente). Genera totales parciales y generales automáticamente. Ejemplo:...

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

1 | ¿Qué es un Corte de control? Tal como vimos anteriormente una de las tareas que más vamos a realizar como programadores ABAP es la confección de reportes de salida por pantalla. Para realizar estos reportes vamos a trabajar con tablas internas, ya que de esta forma podremos almacenar los registros que obtenemos de las tablas base de datos o cargar manualmente los registros de datos que surgen del procesamiento del programa y luego vamos a estructurar y formatear los datos que se mostrarán como salida del programa. Cuando hablamos de estructurar y formatear nos referimos a: organizar la salida de los datos en la pantalla, dándoles un formato determinado, agrupando los campos de salida, ordenando el...

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


Los cortes de control utilizando tablas internas 1 Qué es un corte de control Un corte de control en ABAP es una técnica que permite agrupar y procesar datos similares dentro de una tabla interna ordenada, ejecutando determinadas acciones cuando el valor de un campo clave cambia. Finalidad: Es muy útil en la generación de reportes agrupados, por ejemplo, informes por cliente, por proveedor o por fecha. Permite realizar subtotales, encabezados intermedios o contadores cada vez que el valor del campo de control cambia. Funcionamiento: La tabla interna debe estar ordenada previamente con SORT por el campo que se desea controlar. Se utiliza un LOOP AT con bloques específicos...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

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

SAP Expert



Los cortes de control utilizando tablas internes En SAP ABAP, los cortes de control (control breaks) se utilizan comúnmente en la programación de reportes cuando se trabaja con tablas internas ordenadas, especialmente en bucles LOOP AT. Estos cortes permiten ejecutar operaciones específicas cuando hay un cambio en el valor de un campo clave dentro de la tabla. Por ejemplo, se puede usar AT NEW, AT END OF o AT LAST para agrupar datos, calcular subtotales o generar encabezados y totales por grupo. Para que los cortes de control funcionen correctamente, la tabla interna debe estar ordenada previamente por los campos relevantes. Esta técnica facilita la generación de reportes estructurados, agrupados y con cálculos...

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

Los cortes de control utilizando tablas internas 1. Qué es un corte de control? Una de las tareas que más vamos a realizar como programadores ABAP es la confección de reportes de salida por pantalla. Para realizar estos reportes vamos a trabajar con tablas internas, ya que de esta forma podremos almacenar los registros que obtenemos de las tablas bases de datos o cargar manualmente los registros de datos que surgen del procesamiento del programa y luego vamos a estructurar y formatear los datos que se mostrarán como salida del programa. Cuando hablamos de estructurar y formatear nos referimos a: organizar la salida de los datos en la pantalla, dándoles un formato determinado, agrupando los campos de salida,...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

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

SAP Junior

Los Cortes de Control Utilizando Tablas Internas Es una forma de estructurar un reporte de salida por pantalla de modo de poder sumarizar datos mostrar totales por distintos campos del reporte. Los Cortes de Control en definitiva son una toda una técnica, se encuentra compuesta por una serie de pasos que debemos seguir para que funcione correctamente. Para realizar un Corte de Control, ABAP pone a nuestra disposición dos sentencias que nos facilita el trabajo como programadores. La sentencia AT NEW campo, que se ejecuta por cada nuevo valor que se encuentre almacenado en campo. La sentencia mira hacia atrás, es decir, compara el contenido del campo del registro actual de la tabla interna que se está procesando contra...

Acceder a esta publicación

Creado y Compartido por: Carvajal Encina Franco Erasmo / Disponibilidad Laboral: FullTime

 


 

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