Comment : |
Vous pouvez inclure des options de tri telles que des sous-totaux et d'autres lignes récapitulatives, des en-têtes et des pieds de page, des soulignements, des sauts de ligne et des sauts de page, ainsi que reprendre le numérotage de pages, en ajoutant une phrase ON à votre requête de rapport. La phrase ON spécifie une option qui peut être déclenchée par le changement dans un critère de tri ou dans un champ d'affichage. L'option basée tri (ligne de synthèse, soulignement, saut de ligne ou saut de page) s'applique à chaque groupe de tri.
Pour rendre les requêtes de rapport flexibles, des options peuvent être inclus qui ne sont pas nécessaires dans chaque situation. Les sélections d'utilisateur contrôlent alors les options utilisées pour chaque exécution de la requête.
Par défaut, si le champ référencé dans la phrase ON ne se trouvent pas dans la requête, ou si l'option n'est pas prise en charge avec le type de champ spécifié, le message suivant est généré et le traitemernt s'interrompt :
(FOC013) The 'ON FIELDNAME' FIELD IS NOT A SORT FIELD: sortfield
Vous pouvez utiliser la commande SET ONFIELD =IGNORE pour indiquer à WebFOCUS d'ignorer les phrases ON faisant référence aux champs manquants ou aux champs n'étant pas supposés être pris en charge par l'option spécifiée.
Notez que tout champ utilisé doit être présent dans le fichier Master pour la sources de données ou le message suivant est généré et l'exécution s'interrompt :
(FOC003) THE FIELDNAME IS NOT RECOGNIZED: field
{BY|ON} sortfield option [[AND] option ...]
où :
sont identiques au niveau fonctionnel. La différence se trouve au niveau syntaxique (BY vous permet de spécifier la fonctionnalité de tri comme faisant partie de la phrase, tandis que ON vous permet de la spécifier séparément de la phrase de tri). Pour plus d'informations, consultez la documentation relative à l'option de critère de tri que vous utilisez.
Est le nom d'un champ de tri vertical (BY).
Est l'une des fonctionnalités de tri suivantes : PAGE-BREAK, PAGE-BREAK REPAGE, RECAP, RECOMPUTE, SKIP-LINE, SUBFOOT, SUBHEAD, SUBTOTAL, SUB-TOTAL, SUMMARIZE, UNDER-LINE.
peut être compris entre deux ensembles d'options de critère de tri afin d'améliorer la lisibilité.
SET ONFIELD = {ALL|IGNORE}
ON TABLE SET ONFIELD {ALL|IGNORE}
où :
Délivre un message et termine l'exécution lorsqu'un champ référencé dans une phrase ON ne figure pas dans la requête. ALL est la valeur par défaut.
Ignore les phrases ON qui font référence aux champs qui ne figurent pas dans la requête, ainsi qu'aux phrases ON qui incluent des options non prises en charge par le type de champ spécifié.
La requête suivante contre la source de données EMPDATA a des phrases ON pour les champs DEPT, DIV, et PIN. PIN est un critère de tri, mais l'autre critère de tri doit être saisi au moment de l'exécution comme la variable amper &F1 :
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
Exécutez la requête en fournissant la valeur DEPT pour la variable &F1. Les messages suivants sont générés :
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
Maintenant modifiez la valeur du paramètre ONFIELD à IGNORE et exécutez encore la requête, en fournissant la valeur DEPT pour la variable &F1. La sortie partielle est :
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 |