SAS以HTML格式存储进程

use*_*592 2 sas

HTML如何理解输出并运行SAS存储过程?

我知道如果你有"SAS集成技术",那个软件中有一个模块,它使用java来指示HTML与你存储的进程服务器通信,这是真的吗?

显然,这段代码可以按照用户的要求运行并运行存储过程.

   <!-- Welcome page for MyWebApp -->
   <HTML>
   <HEAD><TITLE>Welcome to MyWebApp
      </TITLE></HEAD>
   <BODY><H1>Welcome to MyWebApp</H1>
   <FORM ACTION="/SASStoredProcess/do">
   Please enter your first name:
   <INPUT TYPE="text" NAME="FNAME"><BR>
   <INPUT TYPE="hidden" NAME="_program" 
      VALUE="/WebApps/MyWebApp/Ask Color">
   <INPUT TYPE="submit" VALUE="Run Program">
   </FORM>
   </BODY></HTML> 
Run Code Online (Sandbox Code Playgroud)

Sti*_*ide 5

您需要有一个metadataserver和一个Stored Process Web应用程序.如果您的环境中存在这些,则需要在元数据中创建存储过程(STP).这可以使用SAS Management Console或Enterprise Guide完成.使用Management Console,右键单击要存储STP的元数据文件夹,然后选择New> Stored Process.在New STP向导中,进行以下选择:

Application Server: SASApp
Server type: Stored process server only
Source code location and execution: Allow execution on selected application server only.
Store source code on application server
Source code repository: Select the physical folder where your SAS program is located
Source file: The name of the SAS program (AskColor.sas)
Result capabilities: Stream
Run Code Online (Sandbox Code Playgroud)

现在,在HTML文件中,为了执行STP,您可以将_PROGRAM参数的值更改为元数据中的路径和名称,例如:

<input type="hidden" name="_program" value="/Shared Data/AskColor">
Run Code Online (Sandbox Code Playgroud)

我经常会用STP本身生成HTML表单,所以在程序中你可以这样做:

data _null_;
  file _webout;
  put "<HTML><FORM action=""&_url."" method=""GET"">";
  put "<input type=""hidden"" name=""_PROGRAM"" id=""_PROGRAM"" value=""&_program"">";
Run Code Online (Sandbox Code Playgroud)

执行SAS程序时,HTML表单中的所有参数都将作为宏变量提供.现在,您需要STP Web应用程序的URL.它可能是这样的:http:// webserver:8080/SASStoredProcess/do

提示:将参数_debug = 131添加到URL以查看参数和SAS日志.祝好运!