Le Conseil de l'Expert
Simon
Expert SAS et fondateur.
« La macro _delFile illustre une méthode propre et robuste pour gérer la suppression de fichiers directement depuis le langage macro, sans avoir recours à des commandes système dépendantes de l'OS (comme rm ou del). En s'appuyant sur les fonctions FILENAME et FDELETE via le processeur de macros, elle offre une portabilité totale entre Windows et Unix, tout en permettant un contrôle fin sur le succès de l'opération.
Recommandations et points de vigilance
L'importance du code retour : L'une des forces de cette macro est qu'elle retourne la valeur de la variable &rc générée par fdelete. Une valeur de 0 confirme la suppression, tandis qu'une valeur différente indique souvent un fichier verrouillé ou des droits d'accès insuffisants. Pour un usage industriel, il est conseillé de tester ce retour (ex: %if %_delFile(...) = 0 %then...) afin de conditionner la suite de votre traitement.
Gestion du Fileref : Le script utilise un fileref temporaire nommé _tmpf. C'est une bonne pratique, mais attention aux collisions si vous exécutez plusieurs processus en parallèle. Une amélioration d'expert consisterait à utiliser la fonction DUMMY ou un nom généré dynamiquement pour garantir l'unicité du fileref durant l'exécution.
Sécurité des chemins : Assurez-vous que le paramètre &i_file est passé entre guillemets si le chemin contient des espaces. De plus, n'oubliez pas que fdelete ne peut supprimer un fichier que si celui-ci n'est pas déjà ouvert par une session SAS ou une autre application. »