Selon l’interface utilisée pour exécuter votre programme SAS, vous disposerez de plus ou moins de fonctionnalités pour identifier les problèmes potentiels dans votre journal.
Faire défiler le journal pour repérer les messages critiques est une opération manuelle qui n’est pas fiable à 100 %. De plus, elle est fastidieuse. Cela signifie que la vérification sera effectuée de temps à autre, et non à chaque exécution du programme.
Il peut être intéressant de créer son propre outil pour vérifier les messages.
De quels types de messages parlent-t-on ?
Les message classiques
Par défaut, les systèmes SAS génèrent trois types de messages : ERROR, WARNING et NOTE.
Alors que les messages ERROR doivent être corrigés et que les messages WARNING doivent être corrigés ou documentés, certains messages NOTE peuvent mettre en évidence des points à prendre en considération.
Les messages sur demande
De plus, des messages « INFO: » peuvent s’afficher lorsque l’option globale est activée.
options msglevel=i;
Le message indiquant que des variables communes aux datasets fusionnés ne sont pas listées dans l’instruction by sont à prendre au sérieux.
L’option produit de très nombreux message. Mais, je n’en connais pas d’autres messages « INFO: » utiles au programmeur.
Les messages propres à l’utilisateur
Enfin, des messages spécifiques à l’utilisateur peuvent également s’afficher dans le journal. Il s’agit d’une pratique courante lors du développement de macros SAS, afin d’aider l’utilisateur final dans l’interprétation des résultats.
Qu’est-ce qu’un bon filtre ?
Les filtres sont utiles, mais les bons filtres sont encore mieux. Qu’est-ce qu’un bon filtre ?
- Un filtre qui répertorie de manière concise tous les problèmes pertinents, et uniquement ceux-là.
- Un filtre facilement accessible, car nous voulons que le programmeur consulte le journal à chaque fois.
Si on peut être notifié du problème en amont, avant même d’exécuter le programme, c’est encore mieux.
Quelles sont les solutions existantes ?
L’interface Altair Workbench (Altair SLC/Rapidminer SLC)
Avec l’interfacen Altair Workbench, vous êtes averti de certains problèmes de syntaxe avant même d’exécuter votre code. Imaginons que vous ayez oublié une virgule dans votre procédure SQL ou qu’il manque une instruction de fin dans votre étape de données : l’éditeur Altair SLC vous le signalera.
L’interface SAS Studio
SAS Studio vous aide à identifier les messages ERROR, WARNING et NOTE, qui sont regroupés dans la petite fenêtre d’en-tête du journal. Cliquez sur l’un de ces messages pour être redirigé vers la ligne correspondante dans le journal. Les messages INFO ne sont pas inclus, même lorsque l’option globale est activée.
Cela facilite la gestion des ERROR, mais n’est pas vraiment pratique pour consulter les autres messages, en particulier les NOTEs critiques. Il est difficile de garder une vue d’ensemble des problèmes à résoudre.
Les interfaces développées en interne
Certaines interfaces propres à l’entreprise peuvent offrir des fonctionnalités supplémentaires pour filtrer les ERRORs, les WARNINGs et les NOTEs critiques, telles que des messages identifiés par l’entreprise comme problèmes à résoudre ou à documenter.
Le programme SAS que vous exécutez sur votre journal
Un journal n’est qu’un fichier texte facilement lisible.
Faute de pouvoir ajouter une fonctionnalité à votre interface de programmation, vous pouvez créer un programme qui vous listera les messages importants pour vous.
- Les NOTEs critiques
- Les messages utilisateurs
- Les messages nécessisant d’être documentés
Ce rapport pourra servir dans votre processus de validation de vos programmes.
filename demo catalog 'work.pgm.procprint.source';
data _null_;
infile demo;
input ;
file print;
if find(_infile_,'ERROR:') ne 0 then put _infile_ ;
run;
filename demo clear;
Dans cet exemple, toutes les lignes avec le terme ERROR: sont envoyés dans la destination par défaut.
Laisser un commentaire