Publié le :
Débogage CREATION_INTERNE

Erreurs sémantiques

Cette documentation décrit les erreurs sémantiques dans SAS©. Ces erreurs sont liées à l'utilisation incorrecte d'éléments de syntaxe, même si la syntaxe elle-même est valide. Des exemples incluent un nombre incorrect d'arguments pour une fonction, l'utilisation d'un type de variable inapproprié (numérique pour caractère), des références invalides à un tableau, ou l'utilisation d'une variable non initialisée. SAS© détecte ces erreurs à la compilation. Si la variable n'est pas initialisée, un avertissement est émis par défaut, mais peut être configuré pour générer une erreur bloquante via l'option système VARINITCHK=ERROR.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) ou des librairies non assignées pour démontrer les erreurs.

1 Bloc de code
DATA STEP
Explication :
Cet exemple tente d'assigner une valeur scalaire (3) à un tableau entier ('all'), ce qui est une référence invalide pour un tableau SAS. L'erreur est détectée à la compilation, indiquant 'invalid reference to the array all'.
Copié !
1DATA _null_;
2 array all{*} x1-x5;
3 all=3;
4 DATALINES;
51 1.5
6. 3
72 4.5
83 2 7
93 . .
10;
11 
12RUN;
2 Bloc de code
DATA STEP
Explication :
Dans cet exemple, le programme tente d'accéder à une table 'old' via la librairie 'somelib'. Cependant, 'somelib' n'a pas été préalablement définie avec une instruction LIBNAME. SAS génère une erreur indiquant que 'Libname SomeLib is not assigned' car la référence sémantique est incorrecte.
Copié !
1DATA test;
2 SET somelib.old;
3RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentation liée : Débogage

Sujet / Mot-cléLien vers la ressource
DOC Erreurs liées aux macros fr/sampleCode/ERREUR6CA6
DOC Définitions des types d'erreurs dans SAS fr/sampleCode/DEFINI9A72
Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Prenez l'habitude de lire le journal (Log) dès la phase de compilation. Une erreur sémantique indique souvent une confusion dans la structure de vos données ou dans la portée de vos variables. Utiliser VARINITCHK=ERROR en phase de développement est le meilleur moyen de devenir un programmeur plus rigoureux. »