CORTES DE CONTROL UTILIZANDO TABLAS INTERNAS EN REPORTES.
========================================================
Se utilizan para la generacion de listados con la sentencia AT.
Ejemplo de uso:
*&---------------------------------------------------------------------*
*& Report ZABAP_PRUE_CORTE_M099K
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZABAP_PRUE_CORTE_M099K.
TYPES:
BEGIN OF ti_estudiante, "NUEVO TIPO DE DATOS LOCAL
legajo(5) TYPE n,
nombre(10) TYPE c,
apellido(15) TYPE c,
grado(10) TYPE c,
cuota TYPE i,
END OF ti_estudiante.
DATA:
lst_estudiantes TYPE STANDARD TABLE OF ti_estudiante,
var_estudiante LIKE LINE OF lst_estudiantes,
var_estudiante_aux LIKE LINE OF lst_estudiantes.
DATA:
v_acum TYPE i.
START-OF-SELECTION.
var_estudiante-legajo = 4.
var_estudiante-nombre = 'Juan'.
var_estudiante-apellido = 'Alvarez'.
var_estudiante-grado = 'SEGUNDO'.
var_estudiante-cuota = 120.
INSERT var_estudiante INTO TABLE lst_estudiantes.
var_estudiante-legajo = 5.
var_estudiante-nombre = 'Lucas'.
var_estudiante-apellido = 'Benitez'.
var_estudiante-grado = 'PRIMERO'.
var_estudiante-cuota = 400.
INSERT var_estudiante INTO TABLE lst_estudiantes.
var_estudiante-legajo = 2.
var_estudiante-nombre = 'Maria'.
var_estudiante-apellido = 'Mariño'.
var_estudiante-grado = 'SEGUNDO'.
var_estudiante-cuota = 350.
INSERT var_estudiante INTO TABLE lst_estudiantes.
var_estudiante-legajo = 1.
var_estudiante-nombre = 'julia'.
var_estudiante-apellido = 'Benitez'.
var_estudiante-grado = 'PRIMERO'.
var_estudiante-cuota = 500.
INSERT var_estudiante INTO TABLE lst_estudiantes.
"ORDENO LA TABLA INTERNOA SEGUN EL ORDEN QUE QUIERO QUE SE VISUALIZEN LOS DATOS
SORT lst_estudiantes BY grado apellido nombre legajo cuota.
"RECORRO LA TABLA INTERNA
LOOP AT lst_estudiantes INTO var_estudiante.
"COPIO EL CONTENIDO DEL REGISTRO EN UNA ESTRUCTURA AUXILIAR
CLEAR var_estudiante_aux.
var_estudiante_aux = var_estudiante.
"POR CADA NUEVO CLIENTE
AT NEW grado.
CLEAR v_acum.
FORMAT COLOR 1.
WRITE:/'Legajo : ',var_estudiante_aux-legajo.
ENDAT.
"ACUMULO EL IMPORTE
ADD var_estudiante_aux-cuota TO v_acum.
AT END OF grado.
"IMPRIMO LOS TITULOS DE LOS CAMPOS A MOSTRAR
WRITE: /10 'GRADO',
20 'NOMBRE',
30 'APELLIDO',
45 'TOTAL'.
WRITE: /10 var_estudiante_aux-grado,
20 var_estudiante_aux-nombre,
30 var_estudiante_aux-apellido,
45 v_acum.
ULINE.
ENDAT.
ENDLOOP.
END-OF-SELECTION.