Architecting, installing and maintaining your SAS environment

Some macro function works only after reboot of SAS

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 9
Accepted Solution

Some macro function works only after reboot of SAS

[ Edited ]

Hi,

 

Some of the macro function like %compress , %eval , are malfunctioning.

But after reboot of SAS server it got fixed automatically.Can you please let me know the reason behind this issue.

I'm Using: SAS 9.3

In the below scenario %eval function works differently .

Below is the log :

 

SYMBOLGEN:  Macro variable PGM_TYPE resolves to qc

SYMBOLGEN:  Macro variable VALID_WH resolves to elig med rx qc export checks prv care onewagexport

MLOGIC(RUN):  %IF condition %eval(&pgm_type in &valid_wh.) = 0 is TRUE

 

 

 

SYMBOLGEN:  Macro variable PGM_TYPE resolves to qc

SYMBOLGEN:  Macro variable VALID_WH resolves to elig med rx qc export checks prv care onewagexport

MLOGIC(RUN):  %IF condition %eval(&pgm_type in &valid_wh.) = 0 is FALSE

 

Thanks,

Kayalvizhi


Accepted Solutions
Solution
‎05-11-2017 10:24 AM
Super User
Posts: 5,503

Re: Some macro function works only after reboot of SAS

Posted in reply to Kayalvizhi

The IN operator in macro language can be tricky (obviously?).  One possibility in the case you describe ... there will be a default value for the MINDELIMITER option.  If it's a blank, that would work when you restart your code since you have blanks between the items in your list.  But if your earlier code re-set the MINDELIMITER to some other character, the logic would no longer find a match.

View solution in original post


All Replies
Solution
‎05-11-2017 10:24 AM
Super User
Posts: 5,503

Re: Some macro function works only after reboot of SAS

Posted in reply to Kayalvizhi

The IN operator in macro language can be tricky (obviously?).  One possibility in the case you describe ... there will be a default value for the MINDELIMITER option.  If it's a blank, that would work when you restart your code since you have blanks between the items in your list.  But if your earlier code re-set the MINDELIMITER to some other character, the logic would no longer find a match.

Occasional Contributor
Posts: 9

Re: Some macro function works only after reboot of SAS

Posted in reply to Astounding
 
☑ This topic is solved.

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

Discussion stats
  • 2 replies
  • 150 views
  • 1 like
  • 2 in conversation