Publié le :
Administration CREATION_INTERNE

Recherche de fichiers XPT via commande système

Attention : Ce code nécessite des droits administrateur.
Ce programme définit une macro SAS© nommée 'find' qui exécute une commande système via l'instruction 'X'. La commande Unix 'find' est utilisée pour localiser tous les fichiers avec l'extension .xpt dans un répertoire cible (/home/xxx), lister leurs inodes, trier les résultats et rediriger la sortie vers un fichier texte (/home/xxx/zzz.txt). Le script inclut une gestion d'erreur critique : si la commande système échoue (code retour &sysrc différent de 0), la session SAS© est immédiatement terminée avec 'endsas'.
Analyse des données

Type : CREATION_INTERNE


Le script ne lit aucune table SAS. Il interagit directement avec le système d'exploitation pour générer un fichier texte de sortie.

1 Bloc de code
MACRO
Explication :
Définition et appel de la macro 'find'. Utilisation de l'instruction 'X' pour passer des commandes au système d'exploitation hôte. Vérification du code retour système (&sysrc) et arrêt forcé de la session (endsas) en cas d'erreur.
Copié !
1%macro find ;
2 
3X 'find /home/xxx -name "*.xpt" -exec ls -i1 {} \; | sort > /home/xxx/zzz.txt';
4 
5%IF &sysrc ne 0 %THEN %DO ;
6endsas;
7%END ;
8 
9%mend find ;
10 
11%find ;
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.
Banner
Le Conseil de l'Expert
Expert
Simon
Expert SAS et fondateur.
« L'usage de la variable système &SYSRC immédiatement après la commande X est une excellente pratique. En forçant la fin de session avec endsas en cas d'erreur, vous empêchez l'exécution de traitements ultérieurs basés sur des fichiers qui n'auraient pas été trouvés ou générés, garantissant ainsi l'intégrité de vos processus. »