In a project named "Test.egp", there is a program called "missing_var" with the following code:
proc means data=sashelp.class; class sex; var wieght; run; %put &syserr;
The value of &syserr when running the code is 3000.
I need to get this value of 3000 in PowerShell when running the project.
$proj_full_path = "test.egp" $eg_guide_app = New-Object -comObject SASEGObjectModel.Application.8.1 $current_project = $eg_guide_app.Open($proj_full_path, "") try{ $current_project.run } catch{ $err_num = ??? #(5000) } $current_project.Close() $eg_guide_app.Quit()
Thanks
@lamp_1234 EG won't return any SAS error codes or log content directly in the script. To accomplish this, you will need to enhance your script to get the .Log object from the Code item that runs this PROC MEANS. Then you'll have to use PowerShell to scan the Log (a text object) for the error message/code you're looking for.
You'll need to add quite a bit of logic, and you can find some examples here: Doing More with SAS Enterprise Guide Automation
@lamp_1234 EG won't return any SAS error codes or log content directly in the script. To accomplish this, you will need to enhance your script to get the .Log object from the Code item that runs this PROC MEANS. Then you'll have to use PowerShell to scan the Log (a text object) for the error message/code you're looking for.
You'll need to add quite a bit of logic, and you can find some examples here: Doing More with SAS Enterprise Guide Automation
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.