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;

|