
Cortes de control utilizando tablas internas en reportes.
Antes de usar cortes de control en una tabla interna es necesario que la tabla este ordenada por el campo que va a ser utilizado de control.
1- ABAP llena de asteriscos a la derecha del campo por el cual se hace el corte. Por tenemos que asignar los valores del registro actual, a un registro auxiliar, de la misma estructura.
CLEAR st_clientes_aux.
St_clientes_aux = st_clientes.
2- La sentencia AT NEW, dentro de un loop para leer una tabla interna, compara el número clave actual, con el anterior. Si son distintos, se activa el evento AT NEW y se ejecuta todo el código dentro de este evento. El evento AT NEW se termina con ENDAT.
AT NEW nrocli.
CLEAR v_importe_acumulado.
FORMAT COLOR 1.
WRITE:/ ‘Importe Ciente:’ st_clienter_aux-nrocli.
ENDAT.
3- El evento AT END se activa al acabarse los registros pertenecientes al campo de control. ABAP compara el numero actual con el siguiente; si son distintos se activa el AT END. El AT END se termina con ENDAT. Todo código de totalización por valor del campo de control, se realizaría aquí.