addFmtLib - Comment puis-je spécifier la source de la bibliothèque de formats à ajouter ?

Sourcing : Table CAS ou Fichier Physique ?

Réponse

Vous avez deux options principales : 1) Utiliser les paramètres `caslib` et `name` pour charger une bibliothèque de formats à partir d'un fichier SASHDAT dans une caslib existante. 2) Utiliser le paramètre `path` pour spécifier le chemin d'accès direct à un fichier sur le nœud de contrôle du serveur. Vous ne devez pas utiliser `path` en même temps que `caslib` ou `name`.
SAS / CASL
proc cas;
   sessionProp.addFmtLib /
      /* OPTION RECOMMANDÉE : Chargement depuis une table CAS */
      /* Ces deux paramètres remplacent l'utilisation de 'path' */
      caslib="casuser",       /* La librairie contenant la table source */
      name="myformatcontrol", /* La table source (issue du CNTLOUT) */
      
      /* Nom de la destination en mémoire */
      fmtLibName="MesFormatsPropres", 
      
      /* Activation immédiate et écrasement si existant */
      fmtSearch="REPLACE",
      replace=true;
quit;
Cette réponse vous a-t-elle aidé ?
Privilégiez l'approche "Cloud-Native" via une Table CAS.

Bien que le paramètre path existe, il est souvent déconseillé dans les environnements SAS Viya modernes (déployés sur Kubernetes).

Pourquoi éviter path ? Il fait référence à un chemin physique strict sur le disque du nœud Contrôleur. Si votre architecture change ou si le pod redémarre sans volume persistant, le lien casse.

Pourquoi utiliser caslib + name ? Cette méthode est robuste. Elle charge les formats depuis une table en mémoire (ou un fichier .sashdat accessible via une caslib). Cela rend vos formats portables, indépendants de l'architecture physique et faciles à partager.

La Best Practice consiste à toujours charger votre table de contrôle (issue d'un PROC FORMAT CNTLOUT) en mémoire dans une caslib (comme fait dans votre préparation), puis de la référencer via caslib et name.
addFmtLib

sessionProp

Doc : addFmtLib