SAS9应用--SAS /INTRNET移植到SAS/IT需注意的问题

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1、增加一个scl入口程序用于调用以前的主程序,如runscl.scl

2、清理所有以前系统中产生的html中对 web files (包括image javascript css等等 )的引用文件名处(scl js等)

检查与实际文件名大小写是否一致。

3、清理所有引用appsrv_XXX函数的引用处,改为根据宏_pv_base的值,若空则仍appsrv,否则为stpsrv_XXX

4、清理依赖ods html 输出格式之处,调整为8,9版均适应的方式。

5、清理url产生方式处(scl,js等),修改绝对方式引用原主程序等的地方。

两种url的区别对比如下:

intrnet: http://host/pvroot/cgi-bin/broker.exe?_service=service_for_app?_program=crlibp.crmain.main.scl&...

i.t. http://host:8080/SASStoredProcess/do?_program=stored_entry_prg_for_app&...

intrnet时:系统宏变量_url中自动返回“/pvroot/cgi-bin/broker.exe”

_service中为“service_for_app”

_program中为“×××.main.scl”

i.t.时:系统宏变量_url中自动返回“/SASStoredProcess/do”

_service无

_program中为“stored_entry_prg_for_app”

因此无论哪种方式都可以只根据这些系统宏变量来动态形成url。

6、因_webout输出的底层机理不同,i.t.server中不支持 lrecl选项用于_webout 相关的file语句中,

所以要改成兼容的方式,并且注意i.t.server中若超过1024字节则自动换行输出。

附上runscl.scl的样例程序:

init:

if symget('sclentry')='' then return;

if not cexist(symget('sclentry')) then return;

env=makelist();

i=0;

do while(i>=0);

i+1;

mn=scan(symget('_APSLIST'),i,',');

if mn^='' then rc=insertc(env,symget(mn),-1,mn);else i=-1;

end;

if getnitemc(env, "_service",1,1,"0") = "0" then

rc = insertc(env, "", -1, "_service");

call display(symget('sclentry'),env);

env=dellist(env);

rc = rc;

return;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航