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
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.