/// <summary> /// Run a SAS program and return the log /// </summary> /// <param name="codeToRun">The text of a SAS program</param> /// <returns>The log as a result</returns> public static string RunProgram(string codeToRun) { if (codeToRun.Length > 0) { SAS.EG.Scripting.ISASEGCode code = EGAutomation.EGProject.CodeCollection.Add(); code.Text = codeToRun; code.Run(); return(code.Log.Text); } return(string.Empty); }
/// <summary> /// Get the attached log output for any particular item /// </summary> /// <param name="item">Handle to the item</param> /// <returns>The log text, if found</returns> private static string GetItemLog(SAS.EG.Scripting.ISASEGItem item) { switch (item.Type) { case (int)SAS.EG.Scripting.SASEGItemType.egLog: SAS.EG.Scripting.ISASEGLog log = item as SAS.EG.Scripting.ISASEGLog; return(log.Text); case (int)SAS.EG.Scripting.SASEGItemType.egCode: SAS.EG.Scripting.ISASEGCode code = item as SAS.EG.Scripting.ISASEGCode; if (code.Log != null && code.Log.Text != null) { return(code.Log.Text); } break; case (int)SAS.EG.Scripting.SASEGItemType.egTask: SAS.EG.Scripting.ISASEGTask task = item as SAS.EG.Scripting.ISASEGTask; if (task.Log != null && task.Log.Text != null) { return(task.Log.Text); } break; case (int)SAS.EG.Scripting.SASEGItemType.egQuery: SAS.EG.Scripting.ISASEGQuery query = item as SAS.EG.Scripting.ISASEGQuery; if (query.Log != null && query.Log.Text != null) { return(query.Log.Text); } break; default: return(string.Empty); } return(string.Empty); }