La macro ne traite pas de données à proprement parler, mais interagit avec le système de fichiers de SAS Drive (métadonnées d'existence de dossier). Aucune donnée externe n'est lue ou créée au sein de la macro elle-même pour traitement analytique.
1 Bloc de code
MACRO (mf_abort)
Explication : Ce bloc vérifie la valeur de la variable système `&syscc`. Si `&syscc` n'est pas zéro (indiquant une erreur précédente), la macro `mf_abort` est appelée pour arrêter l'exécution et afficher un message d'erreur. Cela garantit que la macro `mfv_existfolder` ne s'exécute pas si l'environnement est déjà dans un état d'erreur.
Copié !
%mf_abort(
iftrue=(&syscc ne 0),
msg=Cannot enter mfv_existfolder.sas with syscc=&syscc
)
1
%mf_abort(
2
iftrue=(&syscc ne 0),
3
msg=Cannot enter mfv_existfolder.sas with syscc=&syscc
4
)
2 Bloc de code
MACRO
Explication : Déclare les variables macro locales `fref`, `rc`, et `var`. La variable `fref` est ensuite assignée une référence de fichier unique via la macro `mf_getuniquefileref` pour éviter les conflits et assurer l'unicité de la référence de fichier temporaire.
Explication : Ce bloc est le cœur de la macro. Il tente d'assigner une référence de fichier (`fref`) à un chemin de dossier (`&path`) sur SAS Drive en utilisant le moteur `filesrvc`. La fonction `filename` retourne 0 si l'assignation réussit (ce qui indique que le dossier existe). Si le dossier existe, la macro retourne la valeur '1'. Si le dossier n'existe pas, la fonction `filename` met `&syscc` à une valeur non nulle; la macro réinitialise alors `&syscc` à 0 dans le bloc `%else` pour éviter que cet échec n'affecte les opérations futures. La variable `var` et la référence de fichier sont nettoyées après usage.
Explication : Ce bloc vérifie à nouveau la valeur de `&syscc` avant de quitter la macro. Si `&syscc` est non nul, la macro `mf_abort` est appelée pour signaler une erreur, indiquant un problème survenu pendant l'exécution du corps de la macro `mfv_existfolder`.
Copié !
%mf_abort(
iftrue=(&syscc ne 0),
msg=Cannot leave mfv_existfolder.sas with syscc=&syscc
)
1
%mf_abort(
2
iftrue=(&syscc ne 0),
3
msg=Cannot leave mfv_existfolder.sas with syscc=&syscc
4
)
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.