PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP Los cortes de control utilizando tablas internas

ABAP Los cortes de control utilizando tablas internas

ABAP Los cortes de control utilizando tablas internas

CORTE DE CONTROL TABLA INTERNA

El corte de control nos sirve para visualizar subtotales por algunos campos, de esta forma podemos visualizar un informe de forma sencilla.

Pasos para hacer un corte de control:

1. Ordenar la tabla interna de la forma que se visualice posteriormente.

2. Recorrer la tabla para hacer el listado.

Nota: Es necesario realizar una copia de cada registro ya que en el corte SAP coloca información no deseada en las columnas faltantes.

3. Para seleccionar por bloques de cliente hacemos AT NEW. .... ENDAT

En AT NET campo comparará el valor del campo a evaluar si es diferente (actual con anterior). Si lo es entonces ejecutará lo que haya adentro de AT NEW.

4. Hacer las operaciones deseadas, por ejemplo: acumulo de importe.

ADD st_clientes_aux-importe TO v_importe_acumulado.

5. Luego se procede a colocar AT END OF ... ENDAT. Esta sentencia nos permite comparar el valor actual del campo y con el anterior si hubo cambios, en caso de haber cambios entonces se procede a ejecutar el código dentro de AT END OF y ENDAT.

6. Usar SUM or ADD para sumarizar valores numericos.

NOTA

Supongamos que queremos hacer un corte de control por varios campos entonces:

1. Hacemos el corte al campo mas a la derecha. Por ejemplo si tenemos los campos campo1, campo2 y campo3 entonces hacemos el corte en AT NEW campo3.

SPAN { font-family: "Consolas"; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } *&---------------------------------------------------------------------*
*& Report Z_CORTE_DE_CONTROL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_corte_de_control.

* Tipo de la estructura de clientes
TYPES: BEGIN OF ty_clientes,
distrito(3) TYPE c,
nrocli(5) TYPE c,
region(4) TYPE c,
cuenta(5) TYPE c,
concepto(30) TYPE c,
importe TYPE i,
END OF ty_clientes.

* Tablas internas y estructuras
DATA: ti_clientes TYPE STANDARD TABLE OF ty_clientes,
st_clientes LIKE LINE OF ti_clientes,
st_clientes_aux LIKE LINE OF ti_clientes.

* Flag
DATA: v_importe_acumulado_distrito TYPE i,
v_importe_cliente TYPE i.

*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*

* 1
st_clientes-nrocli = '00001'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '202'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'IVA100%'.
st_clientes-importe = 30.
INSERT st_clientes INTO TABLE ti_clientes.

* 2
st_clientes-nrocli = '00005'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '202'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'RECARGOS NPRIV'.
st_clientes-importe = 90.
INSERT st_clientes INTO TABLE ti_clientes.

* 3*
st_clientes-nrocli = '00012'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '203'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'IVA21%'.
st_clientes-importe = 20.
INSERT st_clientes INTO TABLE ti_clientes.

* 4
st_clientes-nrocli = '00012'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '203'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'IVA21%'.
st_clientes-importe = 40.
INSERT st_clientes INTO TABLE ti_clientes.

* 5
st_clientes-nrocli = '00005'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '204'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'RECARGOS NPRIV'.
st_clientes-importe = 30.
INSERT st_clientes INTO TABLE ti_clientes.

* 6
st_clientes-nrocli = '00001'.
st_clientes-region = 'RECA'.
st_clientes-distrito = '204'.
st_clientes-cuenta = '47100'.
st_clientes-concepto = 'IVA100%'.
st_clientes-importe = 10.
INSERT st_clientes INTO TABLE ti_clientes.

*------------------------------------------------
* Hacer el siguiente informe
*Distrito: XXX
* Cliente Región Cuenta Concepto Importe Total
* XXXXX XXXX XXXXX XXXXXXX XXXXX
* XXXXX XXXX XXXXX XXXXXXX XXXXX
* El importe total del distrito es: XXX
*Distrito: XXX
* Cliente Región Cuenta Concepto Importe Total
* XXXXX XXXX XXXXX XXXXXXX XXXXX
* XXXXX XXXX XXXXX XXXXXXX XXXXX
* El importe total del distrito es: XXX
*------------------------------------------------



* Ordeno la tabla interna
SORT ti_clientes BY distrito nrocli region cuenta concepto. "Es necesario hacer que distrito sea el primero en la tabla interna

* Recorro la tabla interna
LOOP AT ti_clientes INTO st_clientes.

* Copio el contenido del registro a una estructura auxiliar
CLEAR st_clientes_aux.
st_clientes_aux = st_clientes.

* Por cada nuevo distrito
AT NEW distrito.
CLEAR v_importe_acumulado_distrito.
FORMAT COLOR 1.
WRITE:/ 'Distrito:', st_clientes_aux-distrito.

* Imprimo titulos de los detalles
SKIP 1.
WRITE:/10 'Cliente',
20 'Region',
30 'Cuenta',
45 'Concepto',
65 'Importe Total'.
ENDAT.

* Acumulo el importe por cliente
ADD st_clientes_aux-importe TO v_importe_cliente.

AT END OF nrocli.

* Imprimo titulos de los detalles
WRITE: /10 st_clientes_aux-nrocli,
20 st_clientes_aux-region,
30 st_clientes_aux-cuenta,
45 st_clientes_aux-concepto,
65 v_importe_cliente.

* Acumulo el importe por distrito
ADD v_importe_cliente TO v_importe_acumulado_distrito.
CLEAR v_importe_cliente.

ENDAT.

AT END OF distrito.

SKIP 1.
WRITE:'El importe total del distrito es:',v_importe_acumulado_distrito.
WRITE:/ sy-uline.
ENDAT.

ENDLOOP.


 

 

 

Comentario:

#1 / 15 de Oct de 2018 / Ninoska Marquez:
gracias por su aporte

Juan Giron Ruiz:
Es con gusto Ninoska!!! :D


Sobre el autor

Publicación académica de Juan Pablo Giron Ruiz, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Juan Pablo Giron Ruiz

Colombia - Legajo: FG66E

✒️Autor de: 21 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero electrónico con conocimientos sólidos en ciencias de la computación y magister en ciencias de ingeniería eléctrica. proactivo y amante a los retos profesionales.

Certificación Académica de Juan Giron

✒️+Comunidad Académica CVOSOFT

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

SAP SemiSenior

Cortes de control con tablas internas. Puedo realizar el corte segun el acumulado que desee realizar muy util. utilizando sentencias at.

Acceder a esta publicación

Creado y Compartido por: Christian Camilo Alzate Duque

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

SAP SemiSenior

Cortes de control utilizando tablas internas. En este ejemplo ilustran la manera de hacer cortes de control los pasos a seguir son. 1. Cargar tabla interna con distintos registros. 2. Ordenar la tabla interna según orden que se quiere que se visualicen los datos. 3. Recorrer la tabla para realizar listado. 4. Dentro del LOOP se deben pasar los datos que se están recorriendo a una estructura auxiliar. 5. AT NEW compara los campos por los cuales se desea realizar el corte de control. 6. Se acumulan los valores por los cuales se quieren sumar, contar. 7. Para la impresión de los datos se utiliza la sentencia AT END seguida del campo por el cual se realiza el corte.

Acceder a esta publicación

Creado y Compartido por: Fabio Gallo

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

SAP Master

video para crear cortes de control utilizndo tablas internas. con la sentencia AT NEW se realiza el corte de control.

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

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

SAP Senior

Unidad 3 - 2 - Cortes de control utilizando tablas internas en reportes. Los cortes de control son utilizados para la generacion e listados, utilizando la sentencia AT. **Antes de realizar el corto de control dentro de un loop. Debemos pasar los datos que se estan recorriendo a una estructura auxiliar.. Esto se debe a que ABAP complete con * todos los campos a la derecha del campo por el cual realizamos el corte.corte. AT NEW: INternamente compara el actual campo con el valr anterior. Si estos son disitntos entonces se preocesa el codigo que esta dentro del AT NEW. AT END: para realizar la impresion de los datos, utilizamos la sentencia AT END. Intermente compara el campo actual con el proximo, si estos son disitintos entonces se procesara...

Acceder a esta publicación

Creado y Compartido por: Matias Ciutat

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

SAP Senior

Cortes de control utilizando tablas internas en reportes. Veremos como realizar corte de control a una tabla interna para poder imprimir un listado por pantalla. una tabla interna con Registro de clientes que incluyen un importe entre los campos. Y queremos obtener un listado de clientes donde se muestre una solo linea el total por clientes. En este caso se realizaría un corte de control por cada nuevo cliente y un corte para imprimir los resultados. Cargar tabla de clientes con diferentes registros. Abap completa con asteriscos todos los campos a la derecha del campo por el cual hacemos el corte. Sentencia AT NEW= compara el actual numero de cliente con el anterior numero de cliente. en caso de ser distintos se procederá....

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

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

SAP Senior

- Cortes de control utilizando tablas internas Corte de control: Forma de estructurar un reporte de salida de modo de poder sumarizar datos y mostrar totales por distintos campos del reporte. Una condición importante de los cortes de control es que la tabla de salida del reporte debe ordenarse por los campos que se realiza el corte de control. Es indispensable usar una tabla auxiliar para almacenar los datos del registros de la tabla interna, ya que ABAP llenará con asteriscos los campos que se encuentren a la derecha del campo por el que se realiza el corte y se perderá la info almacenada en ellos. AT NEW <campo> : Compara el valor actual del campo con el anterior, si es distinto entonces se procesa el código...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

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

SAP Senior

Cortes de control utilizando tablas internas Corte de control: Estructurá un reporte de salida para poder sumarizar datos y mostrar totales por distintos campos del reporte. Una condición importante de los cortes de control es que la tabla de salida del reporte debe ordenarse por los campos que se realiza el corte de control. Es indispensable usar una estructura auxiliar para almacenar los datos del registros de la tabla interna, ya que ABAP llenará con asteriscos los campos que se encuentren a la derecha del campo por el que se realiza el corte y se perderá la info almacenada en ellos. AT NEW <campo> : Compara el valor actual del campo con el anterior, si es distinto entonces se procesa el código...

Acceder a esta publicación

Creado y Compartido por: Miguel Mauricio Sierra Cardona

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

SAP Senior

Cortes de control utilizando tablas internas Corte de control: Forma de estructurar un reporte de salida de modo de poder sumarizar datos y mostrar totales por distintos campos del reporte. Una condición importante de los cortes de control es que la tabla de salida del reporte debe ordenarse por los campos que se realiza el corte de control. Es indispensable usar una tabla auxiliar para almacenar los datos del registros de la tabla interna, ya que ABAP llenará con asteriscos los campos que se encuentren a la derecha del campo por el que se realiza el corte y se perderá la info almacenada en ellos. AT NEW <campo> : Compara el valor actual del campo con el anterior, si es distinto entonces se procesa el código...

Acceder a esta publicación

Creado y Compartido por: Juan Rodrigo Meza Avina

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

SAP Senior

CORTES DE CONTROL UTILIZANDO TABLAS INTERNAS: Para hacer un corte de control tenemos que seguir los siguientes pasos: Cargar la tabla interna. Ordenar la tabla segun el orden que queramos, esto lo hacemos con la sentencia SORT. Se recorre la tabla interna para realizar el listado. Esto lo haremos con la sentencia LOOP AT. Antes de realizar el corte debemos pasar los datos a una estructura auxiliar. Se realiza el corte con la sentencia AT NEW que compara el valor del campo actual con el del campo anterior y si son distintos se procesa el codigo de AT NEW. Usamos ADD TO para acumular los importes. Para imprimir los datos usamos AT END seguida del campo por el cual hacemos el corte, que compara el campo actual con proximo...

Acceder a esta publicación

Creado y Compartido por: Gema Moreno Ferreiro

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

SAP Expert


CORTES de CONTROL Es un forma de estructurar un reporte de salida de modo de poder sumar campos y poder mostrar totales por los campos seleccionados del reporte. Una condición esencial para los cortes de control es que la tabla debe estar ordenada por los campos a los cuales se le va a realizar el corte de control. Es indispensable utilizar una estructura auxiliar para almacenar los datos internos del registro . Se va a utilizar la sentencias: AT NEW <campo> Esta compara el valor anterior del campo con el valor actual, si es diferente entonces se procesará lo que esta en AT NEW AT END <campo> Compara el valor actual con el valor siguiente, si son diferente se procesará el código del AT END. Se puede realizar...

Acceder a esta publicación

Creado y Compartido por: Maria Guadalupe Gonzalez Sanchez

 


 

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