CL

38.CLP からブラウザを起動するには?

最近ではメニューの項目をクリックすると特定のサイトが起動する仕組みを採用している業務も珍しくはなくなった。
ここでは CLP からブラウザを起動するサンプルを紹介しよう。

【 サンプルCLP 】
             PGM                                              
/*---------------------------------------------------------*/ 
/*   STRWEBCL :    ブラウザの起動                          */ 
/*---------------------------------------------------------*/ 
             DCL        VAR(&MSG) TYPE(*CHAR) LEN(80)         
             DCL        VAR(&CMD) TYPE(*CHAR) LEN(123)        
                                                              
             CHGVAR     VAR(&CMD) VALUE('START +              
                          HTTP://WWW.OFFICEQUATTRO.COM')      
             STRPCO                                           
             MONMSG     IWS4010                               
             STRPCCMD   PCCMD(&CMD) PAUSE(*NO)                
             RETURN                                           
                                                              
                                                              
 ERROR:      RCVMSG     RMV(*NO) MSG(&MSG)                    
             SNDPGMMSG  MSG(&MSG) MSGTYPE(*DIAG)              
             ENDPGM
【 解説 】

ソースを見ればおわかりのように、この CLP は、変数 &CMD を外部パラメータとして
取り込むこともできる。
ただし、外部パラメータに文字「#」が含まれている場合は、エンコードしないとブラウザは正しく動作しない。
弊社が製品に組み込んでいる RUNURLCL という CLP では任意の位置に文字 # が含まれていても 文字 #%23 としてエンコードするように配慮されている。