Bonjour,
Dans une macro je crée une macro-variable avec Call SymputX :
A priori la macro-variable &MySALBRUA n'est pas créee alors que &MySALBRU1 est bien créee :
Code : Sélectionner tout - Visualiser dans une fenêtre à part C2=&MyCoherencePasVerifiee; CALL SYMPUTX('MySALBRUA', SALBRUA,'G'); CALL SYMPUTX('MySALBRU1', SALBRU1,'G');%If %eval(&MySALBRUA)<%eval(&MySALBRU1) %Then %do; C2=&MyCoherenceNok; %End; %Else %Do; C2=&MyCoherenceOk; %End;
Est-il mieux de déclarer les macro-variables avec %Global à la main ?MPRINT(TESTCOHERENCES): CALL SYMPUTX('MySALBRUA', SALBRUA,'G');
MPRINT(TESTCOHERENCES): CALL SYMPUTX('MySALBRU1', SALBRU1,'G');
WARNING: Référence symbolique apparente MYSALBRUA non traitée.
WARNING: Référence symbolique apparente MYSALBRUA non traitée.
ERROR: Opérande caractère trouvé dans la fonction %EVAL ou condition %IF là où un opérande
numérique est requis. La condition était : &MySALBRUA
SYMBOLGEN : Macro variable MYSALBRU1 traitée dans +0000673
Faut-il les initialiser obligatoirement ?
Merci
Partager