Bonjour, j'essai de faire tourner le code suivant:
Jusque là tout va bien, ça ça marche, le PUT me renvoit la bonne valeur à chaque itération et pour chaque process.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 %MACRO test(); option autosignon=yes ; options nonotes spool nomprint nomlogic nosymbolgen; OPTIONS SASCMD="/opt/SAS_1.4/SASFoundation/9.2/sasexe/sas -CONFIG /opt/SAS_1.4/SASFoundation/9.2/sasv9.cfg"; libname para '/home/public'; %DO loop_on_server = 1 %TO 3; %IF (&loop_on_server. = 1) %THEN %DO; %LET dep = 1; %LET fin = 5000; %END; %IF (&loop_on_server. = 2) %THEN %DO; %LET dep = 5001; %LET fin = 10000; %END; %IF (&loop_on_server. = 3) %THEN %DO; %LET dep = 10001; %LET fin = 15000; %END; %SYSLPUT iteration_server = &loop_on_server. / remote = task&loop_on_server.; %SYSLPUT dep = &dep. / remote = task&loop_on_server.; %SYSLPUT fin = &fin. / remote = task&loop_on_server.; RSUBMIT PROCESS = task&loop_on_server. wait=no; LIBNAME para '/home/public'; %DO loop_combis_server = &dep. %TO &fin.; /*FUTUR AJOUT*/ %PUT &loop_combis_server; %END; ENDRSUBMIT; %END; waitfor _all_ task1 task2 task3; signoff task1; signoff task2; signoff task3; %MEND test; %test();
Maintenant je prends une table à une colonne intitulée ID qui contient les valeurs allant de 1 à 15000, je rajoute là où il y a écrit /*FUTUR AJOUT*/ :
Et là ça ne va plus, j'ai le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DATA para.TEST&iteration_server.; OBS = &loop_combis_server.; RUN;
Je n'arrive pas à comprendre le souci... Y-aurait-il un souci avec la façon dont j'ai créé la macro-variable &loop_combis_server de la boucle %DO dans mon rsubmit?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 1350 DATA para.TEST&iteration_server.; 1351 OBS = &loop_combis_server.; - 386 200 WARNING: Apparent symbolic reference LOOP_COMBIS_SERVER not resolved. ERROR 386-185: Expecting an arithmetic expression. ERROR 200-322: The symbol is not recognized and will be ignored. 1352 RUN;
Merci d'avance pour votre intérêt à mon problème et le temps que vous y passez.
Partager