Bonjour,
Pendant l'ex�cution de mon programme j'ai mis des messages pr�d�finis (par un suffixe) dans le log.
exemple:
Je parcours ensuite le log afin de filtrer uniquement certains types de messages.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 %put TITRE_UNICITY: TEST D''UNICITE; %put MESSAGE: mon message; %put MESSAGE: mon deuxième message; %put TITRE_INTEGRITY: TEST D''INTEGRITE;
J'aurais voulu ici effectuer un "case of" afin d'�viter des test inutiles.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 data _null_; infile logfile truncover; input linetxt $90.; if &err=0 then do; /*case of = TITLE: UNICITY;*/ if index(linetxt,"MESSAGE:")>0 and index(linetxt,"put MESSAGE:")=0 then do; file result; res = substrn(linetxt,10,lengthc(linetxt)); put res; end; end; run;
En effet, si je sais que je suis sur un titre, je ne serai jamais sur un message. --> donc plus la peine de tester.
En plus, j'ai plusieurs titre et un ligne lue ne peut contenir qu'un seul titre � la fois.
Y a-t-i moyen d'�viter toute une imbrication de elseif?
En cherchant sur le net, je vois qu'un case when mais qui s'utilise avec du sql...
Partager