Bonjour à tous,
Je rencontre un petit souci avec un CALL SYMPUT, si quelqu'un avait une solution, je la prendrais avec grand plaisir.
Explications :
Je vais essayer de faire court et simple, mais l'idée est de récupérer la valeur d'une de mes variables (elle s appelle ENTREE_PRP, variable numérique), afin d'en remplir d'autres .
Voici le code :
Comme le montre le code, j ai besoin de créer une macro-variable, afin de récupérer la valeur de ENTREE_PRP( je ne vois pas comment faire autrement).
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 %MACRO DEJAPRP(MMOISDEB,MMOISFIN); DATA PTAUX01RC; set PTAUX01RC ; CALL SYMPUT ('debut',ENTREE_PRP); %PUT &debut; %DO I=1 %TO 12 ; /*AUTRE*/ SITUATION_&I="AUTRE"; /*PRP*/ IF MOTCD&debut=67 THEN SITUATION_&I="PRP"; %END; RUN; %MEND; %DEJAPRP(MMOISDEB=379,MMOISFIN=390);
A mon grand regret, ma mv %debut ne prend pas toutes les valeurs de ENTREE_PRP, mais simplement "ENTREE_PRP" , tout le temps
Par contre, si je fais ceci :
La mv %debut prend bien toutes les valeurs de ENTREE_PRP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DATA _NULL_; set PTAUX01RC ; CALL SYMPUT ('debut',ENTREE_PRP); %PUT &debut; run;
Voilà, en espérant que quelqu'un ait une idée, je vous souhaite une excellente journée bien ensoleillée!!! (et c est pas souvent le cas quand on habite à Lille)
Partager