メニューボタン
サポートチーム便り2021.05.12

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 けやきのじぃじ

あわせて読みたい記事

PAGE TOP