|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 284 ![]() |
Bonjour, j'ai trouvé sur le Net un petit programme SAS qui permet de vérifier l'existence d'une variable dans une table SAS.
Je l'ai executé et il marche mais le problème c'est qu'il y a des choses que je ne comprends pas dans ce code. Le jeu de données : Code :
Code :
Merci de votre aide. ash_rmy. |
||||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() ![]() |
Salut,
%IF &DSN NE %THEN => Test si le paramètre DSN est renseigné (n'est pas égal à vide). Dans ton exemple DSN=BIDON donc on rentre dans le %IF %STR => permet de ne pa prendre en compte, lors de la compilation de la macro des caractères spéciaux comme ' " ; &syserr (pour système error) est une variable système qui se met à 1 quand il y a eu une ERROR dans la log. En fait ta macro lit la table &DSN en gardant la variable &VAR. Si cette variable n'existe pas, ça provoque une erreur et ça met &syserr à 1 ... C'est pas très propre car ça met forcément une erreur dans la log ... Pour vérifier l'existence d'une variable tu peux voir si elle est présente dans la table sashelp.vcolumn qui est une vue système qui liste toute les variables de toutes tes tables Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : juillet 2006 Messages : 284 ![]() |
Merci bien Steel,
dans ton code, je ne comprends pas bien le de . Qu'est ce que c'est que le %' ? Merci. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2006 Messages : 1 973 ![]() |
Juste pour compléter sur syserr : vaut 0 si l'éxecution s'est bien effectué sans message d'avertissement ... peut prendre aussi les valeurs 1,2,4,>4 quand des erreurs se sont produites.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com