STRPCCMDでWebページを条件によって変えて表示させるには
Question
IBM i (AS/400)の業務メニューからの処理で処理に応じて可変のURLのリンクを起動してWeb側の処理をさせる画面を開かせたいと考えております。
その時のリンク先のURLで接続(使用)できるブラウザに要件があり、決まってしまっています。
ユーザーは普段使用するChromeや Firefox、IE(Internet Explorer)等、ブラウザは人によって異なっているのですが、今回の接続して使用するブラウザを固定して起動させたいです。
どのようにすれば、可能でしょうか。
Answer
STRPCCCMDでPC上のブラウザのEXEを起動させてはいかがでしょうか。
URLが固定であれば、PC上に起動するバッチファイルを置いても良いですし、PCにバッチファイルを置きたくない場合や、リンクするサイトが処理によって異なる場合は、CLプロブラムで直接EXEを起動すると良いと思います。
起動用のサンプルプログラム例(パラメーターでリンク先を渡す場合)
CLプログラムはシンプルです。
親のCLプログラム等でリンク先を作成(加工)してパラメーターで渡すようにしています。
実行例)
CALL PGM(SMPLPGM) PARM('"https://www.belldata.com/saiyo/"')
ポイントはダブルコーテーションで囲むようにしてください。
また、リンクが正しく開くかをDOSのコマンドプロンプトで検証してみると良いと思います。
先ほどのCLプログラムで固定が "C:\Program Files\Internet Explorer\iexplor e.exe" です。
パラメーターが "https://www.belldata.com/saiyo/" なので、DOSのコマンドプロンプトから2つに*BCATなのでスペースを入れて繋いで
"C:\Program Files\Internet Explorer\iexplore.exe" "https://www.belldata.com/saiyo/"
で上手く起動できれば後はCLプログラムを組込むだけです。
※ブラウザによってはお作法もあるかと思いますので、別途ご確認ください。
※P-commやIBM i Access for WindowsではSTRPCCMDのパラメーターの長さに制限がありますのでIBM i Access Client Solutions(ACS)から起動するようにご配慮ください。
V7.2でのSTRPCCMD コマンドの変更点
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzaq9/rzaq9osCLstrpccmd.htm
PC 開始コマンド (STRPCCMD) の振る舞いが変わりました。
STRPCCMD を IBM i Access Client Solutions の 5250 エミュレーターで使用すると、PCCMD パラメーターに指定できるコマンド行の最大長は現在では 1023 文字です。
他の 5250 エミュレーターは、コマンドをそのサポートされる最大長にまで切り捨てる場合があります。
例えば、IBM i Access for Windows およびパーソナル・コミュニケーションズの5250 エミュレーターは、コマンドを 123 文字という既存の限界まで切り捨てます。
IBM i (AS/400)のOSがV7.2以降でACSであれば長いSTRPCCMDを投げることも可能ですので、是非、お試し頂ければ幸いです。
by けやきのじぃじ