La macro `mp_perflog` permet de logger des messages avec un horodatage précis et l'identifiant du job système. Elle est conçue pour être robuste : elle vérifie l'existence de la table de stockage (par défaut `work.mp_perflog`) à l'aide de la macro `%mf_existds` et l'initialise automatiquement si elle est absente. L'insertion des données est réalisée via `PROC SQL`.
Analyse des données
Type : CREATION_INTERNE
La table de stockage est gérée en interne : elle est créée par le script lors du premier appel si elle n'existe pas.
1 Bloc de code
DATA STEP Data
Explication : Vérification conditionnelle de l'existence de la table cible. Si elle n'existe pas, un Data Step crée la structure vide avec les colonnes `sysjobid`, `label` et `dttm`.
Copié !
%if not (%mf_existds(&libds)) %then %do;
data &libds;
length sysjobid $10 label $256 dttm 8.;
format dttm datetime19.3;
call missing(of _all_);
stop;
run;
%end;
1
%IF not (%mf_existds(&libds)) %THEN %DO;
2
DATA &libds;
3
LENGTH sysjobid $10 label $256 dttm 8.;
4
FORMAT dttm datetime19.3;
5
call missing(of _all_);
6
stop;
7
RUN;
8
%END;
2 Bloc de code
PROC SQL Data
Explication : Ajout d'une nouvelle ligne dans la table de logs contenant l'ID du job système, le libellé du point de contrôle et l'horodatage courant.
Copié !
proc sql;
insert into &libds
set sysjobid="&sysjobid"
,label=symget('label')
,dttm=%sysfunc(datetime());
quit;
1
PROC SQL;
2
insert into &libds
3
SET sysjobid="&sysjobid"
4
,label=symget('label')
5
,dttm=%sysfunc(datetime());
6
QUIT;
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 : Allan Bowe, SASjs Core (https://github.com/sasjs/core)
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.