Interstage Application Server アプリケーション作成ガイド (イベントサービス編)
目次 索引 前ページ次ページ

付録C サンプルプログラム(Windows(R))> C.2 実行手順

C.2.4 COBOLアプリケーション

 COBOLのサンプルプログラムについて説明します。

(d1) イベントサービス(Pushモデル)のサンプルプログラム
(d2) イベントサービス(Pullモデル)のサンプルプログラム
(d3) イベントサービス(Mixedモデル)のサンプルプログラム
(d4) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム

(d1) イベントサービス(Pushモデル)のサンプルプログラム

種別

通信モデル

データ型

ディレクトリ

イベントサービスのチャネル静的生成

Push

any

cobol\push

(1) 登録集の設定

 P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、選択対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)

  CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
  COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL

(2) プログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

◆PUSH_CONSUMER.EXEを作成します(EXEのファイル名は"PUSH_CONSUMER.EXE"とします)。

  1. push_consumer.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      push_consumer.cbl
    翻訳結果
      PUSH_CONSUMER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB

◆PUSH_SUPPLIER.EXEを作成します(EXEのファイル名は"PUSH_SUPPLIER.EXE"とします)。

  1. push_supplier.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      push_supplier.cbl
    翻訳結果
      PUSH_SUPPLIER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

◆COSEVENTCOMM-PUSHCONSUMER.DLLを作成します(DLLのファイル名は"COSEVENTCOMM-PUSHCONSUMER.DLL"とします)。

  1. [ツールメニュー]の"翻訳"を選択し、その他の翻訳オプションに"NAME"を指定し、コンパイルします。
    スレッドモード版を使用するきは翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      push_library.cbl
    翻訳結果
      SERVER-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
      SERVER-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、DLLを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB
    
    C:\Interstage\ESWIN\LIB\COBOLに格納されている以下のオブジェクト
    COBOL97(プロセスモード)の場合は以下を使用
      COSEVENTCOMM-PUSHCONSUMER.OBJ
      CDR-COSEVENTCOMM-PUSHCONSUMER.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH.OBJ
    COBOL97(スレッドモード)の場合は以下を使用
      COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
      CDR-COSEVENTCOMM-PUSHCONSUMER-MT.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-MT.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-MT.OBJ
    COBOL97(UNICODE用)の場合は以下を使用
      COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
      CDR-COSEVENTCOMM-PUSHCONSUMER-UC.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-DISCONNECT-PUSH-CONSUMER-UC.OBJ
      SKEL-COSEVENTCOMM-PUSHCONSUMER-PUSH-UC.OBJ

 翻訳が成功した場合、PUSH_CONSUMER.EXE, PUSH_SUPPLIER.EXE, COSEVENTCOMM-PUSHCONSUMER.DLLの3つのプログラムが作成されます。COSEVENTCOMM-PUSHCONSUMER.DLLをパスが設定されているディレクトリに移動します。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。

  esstart

イベントチャネルの登録

 静的イベントチャネル“push::sample”を登録します。

  esmkchnl -g push -c sample

イベントチャネルの起動

 イベントチャネルグループ“push”を起動します。

  esstartchnl -g push

(3) サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

コンシューマのインプリメンテーション情報の登録

 push_consumerのインプリメンテーション情報を登録します。

  cd %ES_HOME%\src\samples\cobol\push
  register

(プロセスモードで使用するときは、defファイル内の"thr_conc_init=16"を"thr_conc_init=1"に変更してから登録を行ってください。また、スレッドモードで使用するときは、defファイル内の"lang=COBOL"を"lang=COBOL_MT"に変更してから登録を行ってください。)

コンシューマの起動

 現ディレクトリを以下に移動し、push_consumer.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\push
  push_consumer

 これで、コンシューマがイベントチャネル“push::sample”に接続されます。

サプライヤの起動

 別のコマンドプロンプトから現ディレクトリを以下に移動し、push_supplier.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\push
  push_supplier

 これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信することができます。

(4) 実行結果

 サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。

  push_consumer
    recv data push-COBOL

(d2) イベントサービス(Pullモデル)のサンプルプログラム

種別

通信モデル

データ型

ディレクトリ

イベントサービスのチャネル静的生成

Pull

any

cobol\pull

(1) 登録集の設定

 P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)

  CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
  COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL

(2) プログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

◆PULL_SUPPLIER.EXEを作成します(EXEのファイル名は"PULL_SUPPLIER.EXE"とします)。

  1. pull_supplier.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      pull_supplier.cbl
    翻訳結果
      PULL_SUPPLIER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB

◆PULL_CONSUMER.EXEを作成します(EXEのファイル名は"PULL_CONSUMER.EXE"とします)。

  1. pull_consumer.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      pull_consumer.cbl
    翻訳結果
      PULL_CONSUMER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

◆COSEVENTCOMM-PULLSUPPLIER.DLLを作成します(DLLのファイル名は"COSEVENTCOMM-PULLSUPPLIER.DLL"とします)。

  1. [ツールメニュー]の"翻訳"を選択し、その他の翻訳オプションに"NAME"を指定し、コンパイルします。
    スレッドモード版を使用するきは翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      pull_library.cbl
    翻訳結果
      SERVER-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
      SERVER-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
      SERVER-COSEVENTCOMM-PULLSUPPLIER-TRYPULL.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、DLLを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMTSV.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLSVUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINSVCBLUC.LIB
    C:\Interstage\ESWIN\LIB\COBOLに格納されている以下のオブジェクト
    COBOL97(プロセスモード)の場合は以下を使用
      COSEVENTCOMM-PULLSUPPLIER.OBJ
      CDR-COSEVENTCOMM-PULLSUPPLIER.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL.OBJ
    COOBOL97(スレッドモード)の場合は以下を使用
      COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
      CDR-COSEVENTCOMM-PULLSUPPLIER-MT.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-MT.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-MT.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-MT.OBJ
    COBOL97(UNICODE用)の場合は以下を使用
      COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
      CDR-COSEVENTCOMM-PULLSUPPLIER-UC.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-DISCONNECT-PULL-SUPPLIER-UC.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-PULL-UC.OBJ
      SKEL-COSEVENTCOMM-PULLSUPPLIER-TRY-PULL-UC.OBJ

 翻訳が成功した場合、PULL_CONSUMER.EXE, PULL_SUPPLIER.EXE, COSEVENTCOMM-PULLSUPPLIER.DLLの3つのプログラムが作成されます。COSEVENTCOMM-PULLSUPPLIER.DLLをパスが設定されているディレクトリに移動します。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。

  esstart

イベントチャネルの登録

 静的イベントチャネル“pull::sample”を登録します。

  esmkchnl -g pull -c sample

イベントチャネルの起動

 イベントチャネルグループ“pull”を起動します。

  esstartchnl -g pull

(3) サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

サプライヤのインプリメンテーション情報の登録

 pull_supplierのインプリメンテーション情報を登録します。

  cd %ES_HOME%\src\samples\cobol\pull
  register

(プロセスモードで使用するときは、defファイル内の"thr_conc_init=16"を"thr_conc_init=1"に変更してから登録を行ってください。また、スレッドモード版またはUNICODE版を使用するときは、defファイル内の"lang=COBOL"を"lang=COBOL_MT"に変更してから登録を行ってください。)

サプライヤの起動

 現ディレクトリを以下に移動し、pull_supplier.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\pull
  pull_supplier

 これで、サプライヤがイベントチャネル“pull::sample”に接続されます。

コンシューマの起動

 別のコマンドプロンプトから現ディレクトリを以下に移動し、pull_consumer.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\pull
  pull_consumer

 コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。

(4) 実行結果

 サンプルプログラムの実行結果を示します。

  pull_consumer
    recv data pull-COBOL

(d3) イベントサービス(Mixedモデル)のサンプルプログラム

種別

通信モデル

データ型

ディレクトリ

イベントサービスのチャネル静的生成

Mixed

any

cobol\mix

(1) 登録集の設定

 P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)

  CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
  COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL

(2) プログラムを翻訳し、イベントチャネルをネーミングサービスに登録します。

サンプルソースの翻訳

◆MIX_CONSUMER.EXEを作成します(EXEのファイル名は"MIX_CONSUMER.EXE"とします)。

  1. mix_consumer.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      mix_consumer.cbl
    翻訳結果
      MIX_CONSUMER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

◆MIX_SUPPLIER.EXEを作成します(EXEのファイル名は"MIX_SUPPLIER.EXE"とします)。

  1. mix_supplier.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      mix_supplier.cbl
    翻訳結果
      MIX_SUPPLIER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

 翻訳が成功した場合、MIX_CONSUMER.EXE, MIX_SUPPLIER.EXEの2つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。

  esstart

イベントチャネルの登録

 静的イベントチャネル“mix::sample"を登録します。

  esmkchnl -g mix -c sample

イベントチャネルの起動

 イベントチャネルグループ“mix"を起動します。

  esstartchnl -g mix

(3) サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

コンシューマの起動

 現ディレクトリを以下に移動し、mix_consumer.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\mix
  mix_consumer

 コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。

サプライヤの起動

 別のコマンドプロンプトから現ディレクトリを以下に移動し、mix_supplier.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\mix
  ix_supplier

 これで、イベントチャネルにメッセージを蓄積します。

(4) 実行結果

 サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。

  mix_consumer
    recv data mix-COBOL

(d4) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム

種別

通信モデル

データ型

ディレクトリ

イベントサービスのチャネル動的生成

mixed

any

cobol\factory

 イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリのセットアップを行ってください。

(1) 登録集の設定

 P-STAFFまたはプロジェクトマネージャを起動します。[ツールメニュー]の"翻訳"を選択し、翻訳対象となるファイルを指定した後、登録集名に以下を設定します。(CORBAサービスをC:\Interstage\ODWINに、イベントサービスをC:\Interstage\ESWINにインストールした場合)

  CORBA=C:\Interstage\ODWIN\INCLUDE\COBOL
  COSEVENTCOMM=C:\Interstage\ESWIN\INCLUDE\COBOL

(2) プログラムを翻訳します。

サンプルソースの翻訳

◆FACTORY_CONSUMER.EXEを作成します(EXEのファイル名は"MIX_CONSUMER.EXE"とします)。

  1. factory_consumer.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)を追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      factory_consumer.cbl
    翻訳結果
      FACTORY_CONSUMER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

◆FACTORY_SUPPLIER.EXEを作成します(EXEのファイル名は"FACTORY_SUPPLIER.EXE"とします)。

  1. factory_supplier.cblを翻訳します。翻訳オプションにはMAIN(主プログラム)を指定します。
    スレッドモード版を使用時は翻訳オプションにTHREAD(MULTI)をオプションを追加します。
    UNICODE版を使用時は、翻訳オプションにTHREAD(MULTI)とRCS(UCS2)を追加します。
    翻訳対象
      factory_supplier.cbl
    翻訳結果
      FACTORY_SUPPLIER.OBJ
  2. [ツールメニュー]の"リンク"を選択し、1で生成したオブジェクトを結合し、EXEを作成します。この際、以下のファイルも併せて指定します。
    COBOL97(プロセスモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBL.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBL.LIB
    COBOL97(スレッドモード)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLMT.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLMT.LIB
    COBOL97(UNICODE用)の場合は以下を使用
      C:\Interstage\ODWIN\LIB\ODCOBCBLUC.LIB
      C:\Interstage\ESWIN\LIB\COBOL\ESWINCBLUC.LIB

 翻訳が成功した場合、FACTORY_CONSUMER.EXE, FACTORY_SUPPLIER.EXEの2つのプログラムが作成されます。

イベントサービスの起動

 イベントサービスを起動していない場合は、以下のコマンドまたは"EventService"サービスの「開始」でイベントサービスを起動します。

  esstart

イベントファクトリの起動

 イベントファクトリを起動していない場合は、以下のコマンドまたは"EventFactory"サービスの「開始」でイベントファクトリを起動します。

  esstartfctry

(3) サンプルプログラムの実行

 コンシューマ、サプライヤの実行方法を説明します。

コンシューマの起動

 現ディレクトリを以下に移動し、factory_consumer.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\factory
  factory_consumer

 コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。

サプライヤの起動

 別のコマンドプロンプトから現ディレクトリを以下に移動し、factory_supplier.exeを起動します。

  cd %ES_HOME%\src\samples\cobol\factory
  factory_supplier

 これで、イベントチャネルにメッセージを蓄積します。

(4) 実行結果

 サンプルプログラムの実行結果を示します。コンシューマ側のコマンドプロンプトに実行結果が出力されます。

  factory_consumer
    recv data factory-COBOL

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005