Cómo: |
Puede incluir opciones basadas en clasificación, como subtotales y otras líneas de resumen, encabezados y pies de clasificación, subrayados, saltos de línea y de página, así como numeración de páginas de reinicio, mediante la frase WHEN en su solicitud de informe. La frase ON especifica una opción que puede ser desencadenada por el cambio de un campo de clasificación o visualización. La opción basada en clasificación (línea de resumen, subrayado, salto de línea o salto de página) queda aplicada en cada grupo de clasificación.
Para que las solicitudes de informes sean más flexibles, puede incluir opciones que no sean necesarias en todas las situaciones. Como resultado, las selecciones del usuario controlarán las opciones usadas en cada ejecución de la solicitud.
Por defecto, si el campo citado en la frase ON no está presente en la solicitud, o si el tipo de campo especificado no admite la opción, se genera el mensaje siguiente y el procesamiento finaliza:
(FOC013) The 'ON FIELDNAME' FIELD IS NOT A SORT FIELD: sortfield
Puede usar el comando SET ONFIELD =IGNORE para indicar a WebFOCUS que ignore las frases ON que hagan referencia a campos no disponibles o no compatibles con la opción especificada.
Tenga en cuenta que cualquier campo utilizado debe estar presente en el archivo máster del origen de datos o se generará el siguiente mensaje y la ejecución finalizará:
(FOC003) THE FIELDNAME IS NOT RECOGNIZED: field
{BY|ON} sortfield option [[AND] option ...]
donde:
Sus funciones son las mismas. La única diferencia es sintáctica (BY le permite especificar la característica basada en clasificación como parte de la frase de clasificación, mientras que ON le permite especificarla independientemente de la frase de clasificación). Para más información, consulte la documentación correspondiente a la opción sortfield que esté utilizando.
Es el nombre de un campo de clasificación vertical (BY).
Es uno de los siguientes características basadas en clasificación: PAGE-BREAK, PAGE-BREAK REPAGE, RECAP, RECOMPUTE, SKIP-LINE, SUBFOOT, SUBHEAD, SUBTOTAL, SUB-TOTAL, SUMMARIZE, UNDER-LINE.
Se puede incluir entre dos conjuntos de opciones sortfield para mejorar la legibilidad.
SET ONFIELD = {ALL|IGNORE}
ON TABLE SET ONFIELD {ALL|IGNORE}
donde:
Emite un mensaje y finaliza la ejecución cuando un campo citado en la frase ON no está presente en la solicitud. ALL es el valor predeterminado.
Ignora las frases ON que hacen referencia a campos que no están presentes en la solicitud, además de frases ON que incluyen opciones no admitidas por el tipo de campo especificado.
La siguiente solicitud, emitida frente al origen de datos EMPDATA tiene frases ON para los campos DEPT, DIV y PIN. PIN es un campo de clasificación, pero debe introducir el otro campo de clasificación como la variable ampersand &F1 en tiempo de ejecución:
SET USER = EUSER TABLE FILE EMPDATA SUM SALARY BY &F1 BY PIN ON DEPT SKIP-LINE NOSPLIT ON &F1 SUBTOTAL ON DIV PAGE-BREAK ON TABLE SET ONFIELD ALL END
Ejecute la solicitud proporcionando el valor DEPT para la variable &F1. Se generan los siguientes mensajes:
ERROR AT OR NEAR LINE 8 IN PROCEDURE IGNORE3 FOCEXEC * (FOC013) THE 'ON FIELDNAME' FIELD IS NOT A SORT FIELD: DIV BYPASSING TO END OF COMMAND (FOC009) INCOMPLETE REQUEST STATEMENT
A continuación, cambie el valor del parámetro ONFIELD a IGNORE y vuelva a ejecutar la solicitud, proporcionando el valor DEPT para la variable &F1. El resultado parcial es:
DEPT PIN SALARY ---- --- ------ ACCOUNTING 000000070 $83,000.00 000000100 $32,400.00 000000300 $79,000.00 000000370 $62,500.00 000000400 $26,400.00 *TOTAL ACCOUNTING $283,300.00 ADMIN SERVICES 000000170 $30,800.00 000000180 $25,400.00 *TOTAL ADMIN SERVICES $56,200.00
WebFOCUS |