Publié le :
Macro CREATION_INTERNE

Gestion des tables Core SASjs (mp_coretable)

Ce code est également disponible en : Deutsch English Español
En attente de validation
La macro `mp_coretable` facilite la création des structures de tables standards utilisées par le framework sasjs (comme DIFFTABLE, LOCKTABLE, FILTER_SUMMARY, etc.). Elle agit comme un répartiteur qui appelle les macros de définition de données appropriées (`mddl_dc_*`) en fonction du type de table demandé. Elle offre également un mode de prévisualisation (si `libds=0`) qui génère la table temporairement, affiche sa description dans le journal, puis la supprime.
Analyse des données

Type : CREATION_INTERNE


Les structures de données sont définies par des appels de macros internes (`%mddl_dc_*`). Aucune source de données externe n'est lue.

1 Bloc de code
MACRO
Explication :
Détermination du nom de la table de sortie. Utilise `%mf_getuniquename()` pour générer un nom temporaire unique si aucun nom n'est fourni via `libds`.
Copié !
1%let outds=%sysfunc(ifc(&libds=0,%mf_getuniquename(),&libds));
2 
2 Bloc de code
PROC SQL Data
Explication :
Sélection conditionnelle et exécution de la macro DDL spécifique (`%mddl_dc_*`) correspondant au type de table demandé (`&table_ref`) pour créer la structure de données.
Copié !
1PROC SQL;
2%IF &table_ref=DIFFTABLE %THEN %DO;
3 %mddl_dc_difftable(libds=&outds)
4%END;
5%ELSE %IF &table_ref=LOCKTABLE %THEN %DO;
6 %mddl_dc_locktable(libds=&outds)
7%END;
8/* ... autres conditions pour FILTER_SUMMARY, FILTER_DETAIL, MAXKEYTABLE ... */
3 Bloc de code
PROC SQL
Explication :
Nettoyage en mode prévisualisation : si la table a été créée dans un emplacement temporaire (libds=0), sa structure est décrite dans la log puis la table est supprimée.
Copié !
1%IF &libds=0 %THEN %DO;
2 PROC SQL;
3 describe TABLE &syslast;
4 drop TABLE &syslast;
5%END;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.