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;
本文地址:http://com.8s8s.com/it/it25850.htm