EG is written in C# so it will use .NET code to do code gen.
As background, codegen in SAS can be done easily. See this link for my sample code.
https://github.com/savian-net/SasTipsTricks?tab=readme-ov-file#dynamic-code
However, EG uses C#, not SAS, for controlling the app environment:
For C#, when you select items on a UI, we can detect their state and write the SAS code to do that action. That code is then submitted to SAS using IntTech.
Here is some sample C# code to illustrate the code gen. This is then submitted to SAS Integration Technologies, via C#, in a call that is something (syn?) like ws.Submit(_sb.ToString()):
_sb.AppendLine($@" filename resp 'c:\temp\{svc.Name}.json';");
_sb.AppendLine();
_sb.AppendLine($" proc http");
_sb.AppendLine($" method=\"{svc.Verb}\"");
_sb.AppendLine($" url = \"http://&SERVER.:&PORT./Sas/{svc.Name}{parms.urlParms}\"");
_sb.AppendLine($" out= resp;");
_sb.AppendLine($" run;");
I use this technique a lot, C# to SAS, for web services and utility functions. Chris H got me started on it 25 yrs ago.
... View more