Comment assurer une traçabilité de niveau entreprise dans vos scripts automatisés ?

Traçabilité Proactive via CASL

Dans un environnement de production piloté par des microservicesLes microservices sont une approche d'architecture logicielle où une application est décomposée en une collection de petits services indépendants, spécialisés et communicant entre eux via des APIs légères. Contrairement aux architectures "monolithiques" anciennes, chaque microservice remplit une fonction unique (ex: gestion du catalogue, authentification, moteur de calcul).

Dans SAS Viya 4, cette architecture est native. Elle permet à la plateforme de s'exécuter sur Kubernetes, offrant une flexibilité totale : chaque composant de SAS peut être mis à jour, redémarré ou mis à l'échelle (scaling) individuellement sans affecter le reste du système.
, la traçabilité est cruciale. L action echo peut être insérée stratégiquement pour confirmer le passage de jalons critiques. Elle permet de :

  • Valider les paramètres d entrée avant l exécution de procédures stockées.
  • Journaliser les statuts intermédiaires pour les systèmes de monitoring tiers.
  • Afficher des messages personnalisés pour guider les utilisateurs finaux lors de l exécution de scripts interactifs.

En tant qu expert, je recommande son usage systématique pour documenter le comportement dynamique du code CASLLangage de script de SAS Viya utilisé pour interagir avec le serveur CAS. Il permet de combiner des actions CAS, de gérer la logique de programmation et de manipuler les résultats en mémoire..

Illustration de la réponse

Exemple de Code Additionnel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* CASL Script : Monitoring de Traçabilité Entreprise
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */


proc cas;
/* 1. Définition des paramètres d'entrée */
input_table = "SALSE_DATA";
caslib_name = "Public";

/* 2. Validation et Echo de passage de jalon */
if not(table.tableExists(table=input_table, caslib=caslib_name)) then do;
builtins.echo / message="ERR: La table " || input_table || " est introuvable. Arrêt du script.";
exit({severity=2});
end;
else do;
builtins.echo / message="INFO: Validation de la table " || input_table || " effectuée avec succès.";
end;

/* 3. Extraction de métadonnées pour monitoring tiers */
table.columnInfo r=info / table=input_table;

/* Construction d'un message structuré */
log_msg = "STG_CHECK: Table=" || input_table || " | Cols=" || put(info.columninfo.nrows, 8.) || " | TS=" || put(datetime(), datetime20.);
builtins.echo / message=log_msg;

/* 4. Exécution de la logique métier /
/ ... code de transformation ... */


builtins.echo / message="INFO: Fin de traitement - Libération des ressources CAS.";
quit;

Exemples pour l'action echo

Un simple message de bienvenue

Affiche une chaîne de caractères simple dans le journal pour vérifier que la communication avec CAS fonctionne.

Débogage de structures de données complexes

Cet exemple montre comment utiliser echo pour inspecter une liste (dictionnaire) CASL contenant différents types de données (chaînes, nombres, listes imbriquées).

Vous pourriez aussi aimer...