I am able to start the parallel processing procedure but it is failing to bring over my macro variables. I am using the %syslput _all command to bring them over. This is usuing a Linux based system. Does anyone know how I could bring over my Marco variables in parallel processing?
Please post a complete example of your code. Did you SIGNON first before using %SYSLPUT?
It appears that it is not bringing in any of my macro variables.
Code I am using:
signon task&threadnum inheritlib=(risk);
rsubmit wait=no log="&basedir./task&threadnum..log" output="&basedir./task&threadnum..lst";
%syslput _all_;
%put _all_;
data risk.servings_thread&threadnum._&scenario (keep=scenario estnum lotnum servnum serving_conc serving_weight serving_cfu random);
set risk.lots_&scenario (where=(&beginest <= estnum <= &endest));...................
Error I am getting:
WARNING: Apparent symbolic reference THREADNUM not resolved.
1 data risk.servings_thread&threadnum._&scenario (keep=scenario estnum lotnum servnum
-
22
200
1 ! serving_conc serving_weight serving_cfu random);
WARNING: Apparent symbolic reference SCENARIO not resolved.
This should work. You are copying local macro variables up to your RSUBMIT server session.
signon task&threadnum inheritlib=(risk);
%syslput _all_;
rsubmit wait=no log="&basedir./task&threadnum..log" output="&basedir./task&threadnum..lst";
%put _all_;
endrsubmit;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.