2013-08-30 6 views
0

Nous utilisons SAS pour générer beaucoup de rapports et enregistrer le journal dans un fichier. Jusqu'à présent, tout va bien, sauf une chose.SAS: Comment cacher des choses dans le fichier journal

Nous avons une macro qui vérifie les fichiers journaux pour les mots d'avertissement et d'erreur et si elle a trouvé ces mots, il a mis le fichier dans un dossier d'erreur. Le problème que nous avons est quand nous importer un fichier CSV avec l'importation de proc, il est automatiquement mis cela dans le fichier journal:

proc import datafile=XXXXXXXXXX 
out=XXXXXXXXXX 
dbms=dlm 
replace; 
delimiter=','; 
getnames=yes; 
datarow=2; 
GUESSINGROWS=1000; 
run; 

/********************************************************************** 
* PRODUCT: SAS 
* VERSION: 9.1 
* CREATOR: External File Interface 
* DATE:  30AUG13 
* DESC:  Generated SAS Datastep Code 
* TEMPLATE SOURCE: (None Specified.) 
***********************************************************************/ 
data XXXXXXXX; 
%let _EFIERR_ = 0; /* set the ERROR detection macro variable */ 
infile XXXXXXXX delimiter = ',' MISSOVER DSD firstobs=2 ; 
informat XXXXXXXX $5. ; 
... code continue 
format XXXXXXXX $5. ; 
... code continue 
input 
XXXXXXXX $ 
... code continue 
; 
if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection macro variable */ 
run; 

Nous sommes partis avec un groupe de fichiers qui sont marqués avec une erreur, mais ils shouldn ne pas être marqué. Une idée sur ce que nous pourrions faire pour cacher le code d'importation proc dans les fichiers journaux?

Merci

Répondre

3

Lorsque la vérification des erreurs journaux, je considère que ERROR ou WARNING au début de la ligne, par exemple

if index(_infile_, 'ERROR') = 1 .... 

Nous avons également une liste de messages d'erreur autorisés.

Si ce n'est pas le cas, il semble que vous pouvez cacher ce que l'IMPORT génère avec l'option NOSOURCE, mais ce n'est pas très agréable.

options nosource; 
proc import file='E:\test.csv' out=test replace; 
run; 
options source; 
+0

C'est exactement ce que je cherchais. Merci – FranckH

Questions connexes