Le problème avec &SYSDATE
Si vous travaillez régulièrement avec SAS©, vous avez probablement déjà utilisé la macro-variable automatique &SYSDATE. Cependant, un comportement spécifique peut surprendre les utilisateurs : &SYSDATE ne stocke pas la date actuelle, mais la date de démarrage de la session SAS©.
Si vous lancez SAS© le lundi et que vous laissez votre session ouverte jusqu'au vendredi, &SYSDATE indiquera toujours la date de lundi. La seule façon de mettre à jour cette variable est de redémarrer SAS©, ce qui n'est pas idéal pour des processus automatisés ou de longues sessions de travail.
Alors, comment obtenir la date ou l'heure exacte au moment de l'exécution sans se déconnecter ?
La Solution : La fonction %SYSFUNC
La méthode la plus robuste pour obtenir une valeur dynamique (mise à jour en temps réel) consiste à utiliser la macro-fonction %SYSFUNC. Elle permet d'exécuter des fonctions SAS© standard (comme today(), time(), ou datetime()) directement dans le langage macro.
Voici les différentes méthodes pour récupérer ces informations, que ce soit pour créer des macro-variables ou pour les utiliser directement dans le code.
