BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
MChalut
Calcite | Level 5

Hello! I have problem remote submitting a program which includes a autoexec file and sysparm in the call.  I am loosing my sysparm variables.  I am new at this and don't have a clue of where to look anymore 😞

 

So here it is...

 

This is my call:

"D:\Applications\SASHome\SASFoundation\9.4\sas.exe" -CONFIG "D:\Applications\SASHome\SASFoundation\9.4\nls\en\SASV9.CFG" -SYSIN \\BrSasDev\ExternalData\Programs\DEV\Code\SAS_ExternalData_Chauffeur_OneAutomation.sas -sysparm 'DIR=Programs, ENV=DEV, APP=NaicsUpdate, P_01=D, P_02=\\fld6filer\BrsSystems\Workitems\TF17602\Testing\SAS\, P_03=BrSqlDev01, P_04=BrFrameDevelopment, P_05=\\BrSasDev\ExternalData\Programs\Dev\In\NaicsUpdate\OneAutomationTest.txt, P_06=SRGD-DRSG, P_07=66' -autoexec \\BrSasDev\ExternalData\Programs\DEV\AUTO\autoexec_DEV_NaicsUpdate.sas -log \\BrSasDev\ExternalData\Programs\DEV\LOG\Log_NaicsUpdate_2019-04-03T11-07-19.txt -nosplash -icon -batch 

And this is the content of my autoexec:

options autosignon;
rsubmit BrSasDev;

%global running errcode logger Oops_macro Oops_arg BRDEVTST inFileIncludeWithEffDate inFileIncludeWithoutEffDate;
%let thisAPP=NaicsUpdate;

%let thisSASserver=\\BrSasDev\ExternalData;
%let thisSASdir=Programs;
%let thisENV=DEV;
%let mycrpath=&thisSASserver\&thisSASdir\&thisEnv\MACRO;
libname mymacro "&mycrpath";
options mstored sasmstore = mymacro;
options noovp; /* no over print, limits error message extra copies in log */
%let logger="&thisSASserver\&thisSASdir\&thisENV\log\logging_default_&thisAPP..txt";
%let inFileIncludeWithEffDate = "&thisSASserver\&thisSASdir\&thisENV\Include\record_NaicsUpdate_withEffDate_in.txt";
%let inFileIncludeWithoutEffDate = "&thisSASserver\&thisSASdir\&thisENV\Include\record_NaicsUpdate_noEffDate_in.txt";

%let BRDEVTST = 1;

%put &sysparm;

So my parameters are not being passed.  Can somebody tell be what I am doing wrong?

 

Thank you in advance 🙂

Mylene

 

1 ACCEPTED SOLUTION

Accepted Solutions
DaveHorne
SAS Employee

Hi @MChalut, one way is using the &SYSLPUT statement.  This provides a way to pass macro variables from the local to remote session:

 

 

signon BrSasDev;

%syslput myparms=&sysparm;

rsubmit BrSasDev;

 

 

Then you would need to parse off the &myparms macro variable into smaller macro variables for each name/value pair.  Here's one example:

 

 

signon BrSasDev;
%syslput myparms=&sysparm;
rsubmit;

%put &myparms;

%let DIR=%scan(%bquote(&myparms),1,',');
%let DIR=%scan(&dir,2,'=');
%put &dir;

%let ENV=%scan(%bquote(&myparms),2,',');
%let ENV=%scan(&env,2,'=');
%put &env;

endrsubmit;
signoff noscript;

 

 

Here's the log output:

 

 

NOTE: Remote signon to BrSasDev complete.
33   %syslput myparms=&sysparm;
34
35   rsubmit;
NOTE: Remote submit to BrSasDev commencing.
1    %put &myparms;
DIR=Programs, ENV=DEV, APP=NaicsUpdate, P_01=D, P_02=\\fld6filer\BrsSystems\Workitems\TF17602\Testing\SAS\, P_03=BrSqlDev01, P_04=BrFrameDevelopment,
P_05=\\BrSasDev\ExternalData\Programs\Dev\In\NaicsUpdate\OneAutomationTest.txt, P_06=SRGD-DRSG, P_07=66
2
3    %let DIR=%scan(%bquote(&myparms),1,',');
4    %let DIR=%scan(&dir,2,'=');
5    %put &dir;
Programs
6
7    %let ENV=%scan(%bquote(&myparms),2,',');
8    %let ENV=%scan(&env,2,'=');
9    %put &env;
DEV
NOTE: Remote submit to BrSasDev complete.
36   signoff noscript;
NOTE: Remote signoff from BrSasDev commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.37 seconds
      user cpu time       0.10 seconds
      system cpu time     0.15 seconds
      memory              9257.84k
      OS Memory           9828.00k
      Timestamp           04/03/2019 03:54:32 PM
      Step Count                        0  Switch Count  50

NOTE: Remote signoff from BrSasDev complete.

 

 

Hope this helps.

View solution in original post

2 REPLIES 2
DaveHorne
SAS Employee

Hi @MChalut, one way is using the &SYSLPUT statement.  This provides a way to pass macro variables from the local to remote session:

 

 

signon BrSasDev;

%syslput myparms=&sysparm;

rsubmit BrSasDev;

 

 

Then you would need to parse off the &myparms macro variable into smaller macro variables for each name/value pair.  Here's one example:

 

 

signon BrSasDev;
%syslput myparms=&sysparm;
rsubmit;

%put &myparms;

%let DIR=%scan(%bquote(&myparms),1,',');
%let DIR=%scan(&dir,2,'=');
%put &dir;

%let ENV=%scan(%bquote(&myparms),2,',');
%let ENV=%scan(&env,2,'=');
%put &env;

endrsubmit;
signoff noscript;

 

 

Here's the log output:

 

 

NOTE: Remote signon to BrSasDev complete.
33   %syslput myparms=&sysparm;
34
35   rsubmit;
NOTE: Remote submit to BrSasDev commencing.
1    %put &myparms;
DIR=Programs, ENV=DEV, APP=NaicsUpdate, P_01=D, P_02=\\fld6filer\BrsSystems\Workitems\TF17602\Testing\SAS\, P_03=BrSqlDev01, P_04=BrFrameDevelopment,
P_05=\\BrSasDev\ExternalData\Programs\Dev\In\NaicsUpdate\OneAutomationTest.txt, P_06=SRGD-DRSG, P_07=66
2
3    %let DIR=%scan(%bquote(&myparms),1,',');
4    %let DIR=%scan(&dir,2,'=');
5    %put &dir;
Programs
6
7    %let ENV=%scan(%bquote(&myparms),2,',');
8    %let ENV=%scan(&env,2,'=');
9    %put &env;
DEV
NOTE: Remote submit to BrSasDev complete.
36   signoff noscript;
NOTE: Remote signoff from BrSasDev commencing.
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
      real time           0.37 seconds
      user cpu time       0.10 seconds
      system cpu time     0.15 seconds
      memory              9257.84k
      OS Memory           9828.00k
      Timestamp           04/03/2019 03:54:32 PM
      Step Count                        0  Switch Count  50

NOTE: Remote signoff from BrSasDev complete.

 

 

Hope this helps.

MChalut
Calcite | Level 5

It's working!!  Thank a lot for your help!!

Have a great day 🙂

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1002 views
  • 3 likes
  • 2 in conversation