Bonjour,
J'ai mis en place une macro qui permet de boucler sur différents catalogues.
La macro fait les étapes suivantes pour chaque catalogue :
- Création d'une table Product pour chaque produit présent dans le catalogue
- Détermination de la dernière ligne de la table pour boucler ensuite sur chaque produit
- Boucler sur toutes les lignes de la table Product (%do item=1 %to &nb)
- Execution des instructions dans la boucle
Mais je rencontre une erreur lorsque la table Product est vide car la boucle ne peut se realiser.
Pouvez-vous m'aider à contourner cette erreur?
Merci d'avance
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
17
18
19
20
21
22
23
24
25
26
27
28 %Macro CALC(CAT =); proc sql; create table PRODUCT as select distinct PRODUIT from & CAT.; quit; DATA _null_; SET PRODUCT END=eof; IF eof THEN DO; CALL SYMPUT('nb',put(_N_,8.)); run; %do item=1 %to &nb; %end; %mend; % CALC (CAT= CAT_&&SuffixDate);
Partager