sessionProp combineFmtLibs

Gestion des dépendances manquantes dans un flux ETL automatisé

Scénario de test & Cas d'usage

Contexte Métier

Dans un processus d'intégration de données automatisé (ETL) nocturne, une action tente de consolider les formats de devises du jour. Cependant, il arrive que le flux en amont ne génère pas certains formats exotiques. Le processus doit être résilient : il doit consolider les formats disponibles sans planter si un format spécifique attendu manque à l'appel.
À propos du Set : sessionProp

Configuration des propriétés de la session.

Découvrir toutes les actions de sessionProp
Préparation des Données

Création d'une bibliothèque source 'DailyRates' contenant un format standard mais manquant un format exotique attendu.

Copié !
1PROC CAS;
2sessionProp.addFmtLib / fmtLibName='DailyRates';
3sessionProp.addFormat / fmtLib='DailyRates', fmtName='$USD', ranges={{start='1', label='Dollar US'}};
4/* Le format $CRYPTO est intentionnellement absent ici */
5RUN;

Étapes de réalisation

1
Tentative de combinaison en demandant un format existant ($USD) et un format inexistant ($CRYPTO) avec l'option ignoreNameNotFound=TRUE.
Copié !
1PROC CAS;
2sessionProp.combineFmtLibs /
3 fmtLibOut='ResilientLib',
4 fmtLibsIn={'DailyRates'},
5 formatNames={'$USD', '$CRYPTO'},
6 ignoreNameNotFound=TRUE;
7RUN;
2
Contre-test : Tentative sans l'option pour vérifier l'échec (optionnel pour validation QA).
Copié !
1PROC CAS;
2/* Cette étape devrait échouer */
3sessionProp.combineFmtLibs /
4 fmtLibOut='FailLib',
5 fmtLibsIn={'DailyRates'},
6 formatNames={'$CRYPTO'},
7 ignoreNameNotFound=FALSE;
8RUN;

Résultat Attendu


L'étape 1 s'exécute avec succès (Code 0), générant 'ResilientLib' avec seulement '$USD'. L'avertissement concernant '$CRYPTO' manquant est ignoré ou logué sans arrêt critique. L'étape 2 (si exécutée) génère une erreur fatale confirmant le comportement par défaut.