Sas 如何仅使用EG4.3将存储的进程链接在一起?

Sas 如何仅使用EG4.3将存储的进程链接在一起?,sas,enterprise-guide,Sas,Enterprise Guide,我正在使用运行在Unix上的9.2 BI套件上的EG4.3中的存储进程创建一个基于HTML的数据字典 我们已经有效地关闭了中间层web服务器,所以这个STP只能在EG内部使用 使用过多的PUT,我在四个存储过程中创建了所需的HTML页面: 主页面,作为提示输入,以通配符(例如有问题的列)作为输入,并以HTML格式返回显示此列的数据集列表。 从中,用户可以选择一个库、表或列以深入了解更多详细信息 以HTML格式返回选定库中数据集列表的存储进程; 以HTML格式返回选定表中列列表的存储进程; 以HT

我正在使用运行在Unix上的9.2 BI套件上的EG4.3中的存储进程创建一个基于HTML的数据字典

我们已经有效地关闭了中间层web服务器,所以这个STP只能在EG内部使用

使用过多的PUT,我在四个存储过程中创建了所需的HTML页面:

主页面,作为提示输入,以通配符(例如有问题的列)作为输入,并以HTML格式返回显示此列的数据集列表。 从中,用户可以选择一个库、表或列以深入了解更多详细信息

以HTML格式返回选定库中数据集列表的存储进程; 以HTML格式返回选定表中列列表的存储进程; 以HTML格式返回列属性的更详细列表的存储进程。 第一个STP非常有效,我可以看到一个格式良好的信息列表,以及库、数据集和列链接

我的问题如下:当我点击一个链接时,我希望它运行必要的STP,并将HTML页面返回到与我的初始报告相同的结果选项卡

我查阅了无数sas文章,找不到答案

下面是我用来生成到其他STP的链接的代码,其中chars[I]是来自数据集的a-z值:

/* Get the root session ID*/
hrefroot = symget('_THISSESSION') || '&_PROGRAM=/Shared Data/Team/stored_process/';

/* Get the next stp path (neither ?&_PROGRAM= nor the below seem to work)*/
hrefnextstp = "?_PROGRAM=/Shared Data/Team/stored_process/";

// build up the HTML using puts //
stpval="stpddlibrary";
stplink=cats('<A HREF="', hrefnextstp, stpval, '&amp;type=', chars[i], '">', chars[i],'</A>');
put stplink;
考虑到上述内容,我如何使用EG将多个存储进程链接在一起

没有&_URL被视为我没有使用web,因此排除了这一点


我希望我已经很好地阐述了这一点。

您遇到的问题是HTML页面试图导航到web服务以获取下一个页面。但是,EG不能作为web服务器响应浏览器请求

存储的过程代码最好通过web中间层或SAS MS Office插件使用。如果这两个工具不可用,您可能会考虑将逻辑从SAS存储的Proc移动到EG中,并使用响应来驱动EG项目中的第二个流。如果您希望驱动一个网页,您可以通过Java和sas IOM桥接器调用sas,并使用与EG相同的方式与sas对话,但在本例中,您的UI将使用Java构建。另一个建议是,尝试使用vbscript通过COM驱动EG。 以下是通过COM控制EG的链接:

您提供的代码可以很好地构建由SAS中端存储过程web服务提供服务的url。存储在SAS存储过程中,您可以使用SAS为存储过程提供的web界面构建指向其他存储过程的中间层的url,以查看参数和url的构造方式

如果您的中端web服务处于联机状态,您还可以在代码中调用存储过程。通过proc http调用,下面是sas文档中的一个示例:

proc http in=in out=out url=http://localhost.com/rsm/rstool 方法=员额 ct=应用程序/x-www-form-urlencoded; 运行