Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

トップ  >  COBOLプログラムからWindows上のアプリケーションを起動する

COBOLプログラムからWindows上のアプリケーションを起動

クライアントAP起動機能について

クライアントAP起動機能について、いくつかコメントします。

クライアントAP起動機能は、COBOLプログラムを実行したPC/WSエミュレータが動いているPC上で実行されます。サーバ側ではないので注意してください。

・ただし、サーバ側にインストールしたPC/WSエミュレータからCOBOLプログラムを実行すれば、サーバ上で実行することができます。
・サーバ側で実行させたい、あるいはサーバから別のコンピュータのWindowsプログラムを実行させたいという時は、リモートAP Callを使用すれば可能です。(でも、リモートAP CallはGUIプログラムが実行できない。)

クライアントAP起動機能は、Windowsアプリケーションを起動するだけで、COBOLプログラム側にエラーコードは返しません。

従って、起動に失敗しても、COBOLプログラム側でリトライ処理とかエラーメッセージ表示処理ができません。


この機能に気が付くと、
#NFCNVでA-VXファイルをWindowsのCSVファイルに変換 --> この機能を使って、クライアントPC上でEXCELを起動してCSVファイルを編集
といったことがやれるのではないかと考える人がいると思います。

確かに可能ですが、少し注意点があります。
#NFCNVは「サーバ」側で実行され、クライアントAP起動機能は「PC/WSエミュレータのあるPC」側で実行されるということです。
つまり#NFCNVでファイルを出力する場所は、クライアントPCから参照可能な場所でないといけないということです。

説明


いくつか方法があると思いますが、例えば、

 1.サーバ側で適当なフォルダを1個作成
 2.そのフォルダを共有にする(当然、アクセス権を設定して、関係者以外はアクセスできないようにする。)
 3.クライアントPC側で、そのフォルダをネットワークドライブに割り当てる。
 4.#NFCNVで、そのフォルダにCSVファイルを出力する。  5.COBOLアプリケーションは、ネットワークドライブのCSVファイルを指定して実行する。

クライアントPCで、フォルダをネットワークドライブに割り当てる
ネットワークドライブ割り当て

SWPATCHというA−VXファイルを、サーバのc:\qup\test.txtに変換出力、NT001というCOBOLプログラムで、そのtest.txtをnotepadで表示するサンプルJS。

/RUN #NFCNV;
MN1=C_MN2=AD_PA1=MSD_PA2=_
PA3=SWPATCH_PA4=1_PA5=C80_PB1=C:\QUP\TEST.TXT_
PB2=TXTJ_PB3=EXCLUSIVE_PB7=C_PB8=ADD_MN1=Q_
/> ;
/RUN NT001;
/> ;


NT001は、サンプルプログラムUTUNOMを少し変更し、INDATAの値を”NOTEPAD Z\QUP\TEST.TXT”に変更します。(文字列の後ろは空白で埋めることを忘れないように!)