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,091

Re: Some macro function works only after reboot of SAS

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,091

Re: Some macro function works only after reboot of SAS

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

 
☑ This topic is solved.

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

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