Desktop productivity for business analysts and programmers

SAS/Connect endrsubmit ignored (tokenizer problem?)

Accepted Solution Solved
Reply
Trusted Advisor
Posts: 1,213
Accepted Solution

SAS/Connect endrsubmit ignored (tokenizer problem?)

Hi,

 

I'm playing on a new server, where they have EG configured to use rsubmits (basically rsubmit and endrsubmit are inserted as precode and postcode).

 

I noticed that if I submit:

 

%macro doit(x=1);
  %put x=&x;
%mend doit;

%doit()

 

everything breaks.  Note there is no trailing semicolon on the macro call.  After EG adds the wrapper, in effect I am submitting:

 

rsubmit;
%macro doit(x=1);
  %put x=&x;
%mend doit;

%doit()

endrsubmit;

 

 

It looks to me like in that case, SAS is not seeing the endrsubmit statement.  If I add a semicolon after %doit(), or even a /* */ comment, SAS will see the endrsubmit and everything works fine. 

 

Have other people seen this behavior from  SAS/Connect on EG?  Or PC SAS?  Curious if this is somehow an EG problem, or (more likely) a word scanner / tokenizer problem.


Accepted Solutions
Solution
‎05-27-2016 12:17 PM
Community Manager
Posts: 2,693

Re: SAS/Connect endrsubmit ignored (tokenizer problem?)

You might be able to fix by adding the "quote killer" line at the start of your post-code option:

 

;*';*";*/;quit;

 

View solution in original post


All Replies
Solution
‎05-27-2016 12:17 PM
Community Manager
Posts: 2,693

Re: SAS/Connect endrsubmit ignored (tokenizer problem?)

You might be able to fix by adding the "quote killer" line at the start of your post-code option:

 

;*';*";*/;quit;

 

Trusted Advisor
Posts: 1,213

Re: SAS/Connect endrsubmit ignored (tokenizer problem?)

Thanks Chris.  Yes, just changing the post code from endrsubmit; to ;endrsubmit;  fixed the problem.

 

Mostly was just curious if this same problem would happen with PC/SAS (in which case it's really the tokenizer or something like that that is having the problem), or if it is an  EG-only problem.  My guess is it would happen in PC/SAS too, but I don't have SAS/CONNECT on my PC SAS so can't test it.

 

As a side note, there have been times I thought it would be nice if there was a way to turn off EG's generation of the quote killer.  I've had a few times when I had an unmatched quote, but because EG always adds the quote killer, it took me a minute or two longer than usual to figure out what was going on.  But that's a minor point.  I can see the agument for always forcing the quote killer; I'm sure it cut down the number of calls to tech support with complaint  "my SAS session is hung and I don't know why.

 

(Left off the closing quote there, get it? : )

 

--Q.

Community Manager
Posts: 2,693

Re: SAS/Connect endrsubmit ignored (tokenizer problem?)

@Quentin - as you guess, bad things happen when you leave an open comment or quote when you submit a job to SAS.  The quote killer line is insurance that prevents many more problems than it causes...

Community Manager
Posts: 2,693

Re: SAS/Connect endrsubmit ignored (tokenizer problem?)

Oh, and you wondered if the behavior is unique to EG -- I doubt that it is.  I suspect if you sent the same code sequence in PC SAS you would have the same behavior in the CONNECT session.

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 238 views
  • 2 likes
  • 2 in conversation