Macro pour lister les formats système SAS

Niveau de difficulté
Débutant
Publié le :
La macro `%sysfmtlist` est une macro 'in-datastep' conçue pour retourner une chaîne de caractères contenant une liste de formats système SAS© couramment utilisés. Son objectif est de faciliter l'identification des formats système par rapport aux formats utilisateur dans un DATA step, comme illustré dans l'exemple d'utilisation fourni. Elle est compatible avec SAS© 8.2 et versions ultérieures, y compris SAS© Viya 4. Les formats spécifiques à S370 sont intentionnellement omis car non requis pour les environnements Unix. L'auteur note l'absence d'une méthode officielle via `PROC CONTENTS` pour identifier ces formats, suggérant que cette macro pourrait être obsolète si une telle fonctionnalité était introduite.
Analyse des données

Type : CREATION_INTERNE


La macro `%sysfmtlist` ne traite pas de données externes ni de tables SASHELP. Elle génère une liste de formats système directement codée en dur dans sa définition, agissant comme une source de données interne pour d'autres traitements SAS.

1 Bloc de code
MACRO Data
Explication :
Ce bloc définit la macro `%sysfmtlist`. Lors de son appel, elle ne prend aucun paramètre et retourne une liste de chaînes de caractères (les noms des formats système) séparées par des espaces. Ces formats peuvent être des formats numériques (comme `COMMA`, `DATE`) ou des formats caractères (comme `$CHAR`, `$HEX`). L'instruction `%put` au début de la macro affiche un message de traçage dans le log SAS, indiquant que la macro a été appelée. La liste des formats est directement insérée dans le corps de la macro et sera résolue lors de son exécution.
Copié !
1 
2 
3%put MACRO CALLED: sysfmtlist v1.0;
4 
5%macro sysfmtlist;
6 "$ASCII" "$BINARY" "$CHAR" "$EBCDIC" "$HEX" "$KANJI" "$KANJIX"
7 "$MSGCASE" "$OCTAL" "$QUOTE" "$REVERJ" "$REVERS" "UPCASE"
8 "$VARYING" "$" "BEST" "BINARY" "COMMA" "COMMAX" "D" "DATE"
9 "DATEAMP" "DATETIME" "DAY" "DDMMYY" "DOLLAR" "DOWNAME" "E"
10 "EURDFDD" "EURDFDE" "EURDFDN" "EURDFDT" "EURDFDW" "EURDFMN"
11 "EURDFMY" "EURDFWDX" "EURDFWKX" "F" "FLOAT" "FRACT" "HEX" "HHMM"
12 "HOUR" "IB" "IBR" "IEEE" "JULDAY" "JULIAN" "MINGUO" "MMDDYY"
13 "MMSS" "MMYY" "MONNAME" "MONTH" "MONYY" "NEGPAREN" "NENGO"
14 "NUMX" "OCTAL" "PD" "PDJULG" "PERCENT" "PIB" "PIBR" "PK"
15 "PVALUE" "QTR" "QTRR" "RB" "ROMAN" "SSN"
16 /* S370 formats missed out as not required for Unix */
17 "TIME" "TIMEAMPM" "TOD" "WEEKDATE" "WEEKDATX" "WEEKDAY"
18 "WORDDATE" "WORDDATX" "WORDF" "WORDS" "YEAR" "YEN" "YYMM"
19 "YYMMDD" "YYMON" "YYQ" "YYQR" "Z" "ZD"
20%mend sysfmtlist;
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.
Informations de Copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.


Documentation liée

Aucune documentation spécifique pour cette catégorie.