CORTE DE CONTROL A TABLA INTERNA:
Permite hacer un listado de un campo por totales o agrupar resultados. Sumariza datos
La tabla de salida, debe ordenarse por los campos por los que se va a mostrar el listado.
Hay que tener cuenta que el resto de datos de la derecha de la tabla desde donde se inicia el corte, serán ignorados.
Si la tabla tiene 4 campos pero queremos hacer el corte por los campos 2 y 3 hay que indicar el campo que se encuentre más a la derecha, se indicaría el campo3 y se ignoraría el campo4.
Se pueden indicar AT NEW y AT END OF según los campos para proceder a agrupar datos y luego hacer subgrupos. Ordenar por región y luego ordenar por cliente.
Es necesario crear una estructura auxiliar para trabajar con ella en el corte.
El orden sería:
1 cargar la tabla
2 ordenar la tabla
3 hacer el LOOP de lectura
4 hacer los AT NEW y AT END OF que correspondan.
AT NEW:
Esta sentencia compara el valor acutal del campo con el anterior valor del campo, si es diferente ejecuta las sentencias que hay dentro del AT NEW.
SINTAXIS:
AT NEW <campo>.
… <sentencias>.
ENDAT.
AT END OF:
Esta sentencia compara el valor actual del campo con el siguiente valor del campo, si es diferente ejecuta la sentencias que hay dentro del AT END.
SINTAXIS:
AT END OF <campo>.
… <sentencias>.
ENDAT.
Existe también AT FIRST y AT LAST