COBOLプロジェクト生成ウィザードを使用して、CORBAクライアントアプリケーションのためのCOBOLプロジェクトを作成します。
COBOLプロジェクト生成ウィザードは、CORBAクライアント用のCOBOLプロジェクトを作成します。
COBOLプロジェクト生成ウィザードでは、作成するプロジェクトに対してターゲットの定義やビルド環境の設定を行います。
COBOLプロジェクト生成ウィザードは、以下の手順で起動し、指示に従って処理を進めます。
Interstage Studioワークベンチを起動します。
メニューバーから[ファイル] > [新規] > [COBOLプロジェクト]を選択します。
→ [新規COBOLプロジェクト]ウィザードが起動されます。
[COBOLプロジェクト]ページで、プロジェクト基本情報を入力し、[次へ]ボタンをクリックします。
項目 | 説明 | |
---|---|---|
プロジェクト名 | プロジェクト名を入力します。(例では"CALCCL"としています。) | |
プロジェクトコンテンツ | プロジェクト資産を保存する場所を指定します。 | |
| ワークスペース内に新規プロジェクトを作成 | プロジェクト資産をワークスペースフォルダの配下に保存します。 |
外部ロケーションに新規プロジェクトを作成 | プロジェクト資産をワークスペースフォルダの外に保存します。こちらを選択した場合、[参照]ボタンが有効になり、[参照]ボタンをクリックして保存先フォルダを選択できます。 |
[COBOLプロジェクト]ページで、ターゲットを定義します。作成するCOBOLアプリケーションのターゲット種別およびターゲットファイルの名前などを定義し、[次へ]ボタンをクリックします。
項目 | 説明 | |
---|---|---|
ターゲット種別 | 作成するCOBOLアプリケーションのターゲット種別を指定します。
| |
| 実行ファイル | |
ダイナミックリンクライブラリ | ||
DLL固有の実行用の初期化ファイル(COBOL85.CBR)を使用する | ターゲット種別がダイナミックリンクライブラリの場合、DLL固有の実行用の初期化ファイルを使用するか否かを指定します。 選択すると、DLL固有の実行用の初期化ファイルを使用するダイナミックリンクライブラリになります。 | |
ターゲット名 | リンク後に作成するターゲットファイル(exe/dllファイル)のファイル名を指定します。(例では"CALCCL"としています。) | |
ターゲットファイル名 | ||
作成するアプリケーションの形式 | 実行可能ファイル(exe)を作成する場合に、アプリケーションが使用するコンソールの種別(COBOLのコンソール/システムのコンソール)を指定します。 | |
COBOLのコンソールを使用する | ||
システムのコンソールを使用するアプリケーション | ||
プリコンパイラを使用する | プリコンパイラを使用するプロジェクトを生成する場合に選択します。 | |
テキストファイルエンコード(*1) | プロジェクトにファイルを新規作成するときのテキストファイルエンコードを選択します。 |
*1: [テキストファイルエンコード]は、プロジェクト作成後に以下の手順で変更できます。
[依存]ビューまたは[構造]ビューからプロジェクトを選択し、コンテキストメニューから[プロパティー]を選択します。
→ [プロパティー]ダイアログボックスが表示されます。
左ペインで[リソース]を選択します。
→ [リソース]ページが表示されます。
[リソース]ページの[テキストファイルエンコード]から変更するエンコードを選択して、[OK]ボタンをクリックします。
注意
[リソース]ページの[テキストファイルエンコード]でエンコードを変更しても、プロジェクト内の既存ファイルのエンコードは変更されません。
テキストファイルエンコード"UTF-8"のCOBOLソースファイルをビルドするには、NetCOBOL V10.0.0以降がインストールされている必要があります。
ターゲットの定義で[プリコンパイラを使用する]をチェックした場合、プリコンパイラ連携情報の設定画面が表示されます。プリコンパイラ連携情報を指定し、[次へ]ボタンをクリックします。
項目 | 説明 |
---|---|
プリコンパイラコマンド | プリコンパイラとして起動するコマンド名を指定します。 |
プリコンパイラのパラメタ | プリコンパイラコマンドのパラメタを指定します。 |
入力ソースの拡張子 | プリコンパイラ入力ソースファイルの拡張子を指定します。なお、以下の拡張子を指定することはできません。
|
出力ソースの拡張子 | プリコンパイラ出力ソースファイルの拡張子を選択します。 |
COBOLコンパイラのエラーメッセージをプリコンパイラ入力ソースの行番号で表示する | INSDBINFコマンド(*1)は、プリコンパイラ出力ソースファイルに、行補正情報を埋め込んだ中間ファイルを生成します。 このチェックボックスをチェックすると、INSDBINFコマンドが生成した中間ファイルがCOBOLコンパイラの入力ファイルとなります。これにより、COBOLコンパイラのエラーメッセージに埋め込まれる行番号は、プリコンパイラ入力ソースファイルの行番号に対応したものになります。 初期値ではチェックされていません。 |
INSDBINFコマンドのパラメタ | [COBOLコンパイラのエラーメッセージをプリコンパイラ入力ソースの行番号で表示する]をチェックすると、本テキストボックスが有効になります。 INSDBINFコマンドのパラメタを指定します。ただし、入力ソースファイル名と出力ソースファイル名は、プリコンパイラ入力ソースファイル名から決定されるため、指定する必要はありません。 |
*1: INSDBINFコマンドの詳細は、“6.2.2 INSDBINFコマンド”を参照してください。
プリコンパイラ連携情報をプロジェクト作成後に変更する場合は、“6.2.3.2 プリコンパイラ連携情報の設定・変更”を参照してください。
[ビルド環境]ページで、CORBAクライアント用のビルド環境を定義します。ビルド環境を定義し、[次へ]ボタンをクリックします。
項目 | 説明 | ||
---|---|---|---|
CORBAクライアントのビルド環境を設定 | このプロジェクトをCORBAクライアントとして使用する場合にチェックします。 | ||
| 記述言語(*1) | CORBAクライアントの記述言語を指定します。 | |
オブジェクト指向COBOL | |||
COBOL | |||
オブジェクトの形式(*1) | オブジェクトのスレッド形式を指定します。 | ||
マルチスレッド | |||
シングルスレッド | |||
CDCORBAクラスを使用する(*1) | CORBAクライアント作成支援クラス(CDCORBA)を使用する場合にチェックします。 |
*1: [CORBAクライアントのビルド環境を設定]をチェックすると、各オプションボタンおよびチェックボックスが有効になります。
[選択]ページでコード生成の有無を選択します。[コード生成を行う]を選択した場合、[使用可能なコード生成ウィザード]から作成するソース種別を選択し、[完了]ボタンをクリックします。
項目 | 説明 | |
---|---|---|
コード生成は行わない | ソースファイルを生成しない場合にチェックします。 | |
コード生成を行う | ソースファイルを生成する場合にチェックします。こちらをチェックすると、COBOLプロジェクト生成ウィザード終了後に、ソースファイルを生成するウィザードが自動で起動されます。 | |
使用可能なコード生成ウィザード | [コード生成を行う]をチェックした場合に有効になります。 生成するソースファイルとして、[COBOLソース]か[オブジェクト指向COBOLソース]を選択します。 | |
COBOLソース | ||
オブジェクト指向COBOLソース |
→ COBOLプロジェクトが作成され、[選択]ページで[コード生成を行う]を選択した場合、ソースファイルを生成するウィザードが自動で起動されます。
CORBAクライアントプログラムのCOBOLソースファイルは、COBOLソース生成ウィザードを使用して生成します。生成後、必要な処理を追加します。CORBAクライアントプログラムとして必要な処理を以下に示します。
CORBAの初期化処理(ORB初期化、ネーミングサービス初期化)
CORBAサーバオブジェクト検索処理
CORBAサーバアプリケーションのメソッド呼出し処理
ここでは、コンソールから入力したパラメタ2個をサーバプログラムに渡し、その結果をコンソールに表示するプログラムを例として説明します。以下では、オブジェクト指向COBOLプログラムの記述例とCOBOLプログラムの記述例について説明します。個々の処理記述は異なりますが、処理の流れなどはどちらも同じです。
この例のCORBAサーバアプリケーションは、パラメタを2個受け取り、その加算結果を復帰値として返却します。ネーミングサービス名は、「Sample::POAintf」で登録されているものとします。
この場合のIDLファイルを、以下に示します。
// モジュール宣言 module SAMPLE { // ユーザインタフェース宣言 interface CALCULATE_ADD { long CALCULATE(in long param1,in long param2); }; };
構成節(CONFIGURATION SECTION)に、以下の記述を追加します。
REPOSITORY段落に以下のCOBOL登録集を取り込みます。
COBOL登録集 | 説明 |
---|---|
CORBA--REP | CORBAサービス提供のObjectDirectorの標準登録集 |
CosNaming--REP | CORBAサービス提供のネーミングサービスの標準登録集 |
IDLファイル名--REP | IDLコンパイラが出力した登録集 |
REPOSITORY段落に以下のクラスを指定します。
COBOL登録集 | 説明 |
---|---|
CDCORBA | COBOLプラグインが提供しているCORBAクライアント開発用クラス |
特殊名段落(SPECIAL-NAMES)のSYMBOLIC CONSTANT句に、以下のCOBOL登録集を取り込みます。
COBOL登録集 | 説明 |
---|---|
CORBA--CONST | CORBAサービス提供のObjectDirectorの標準登録集 |
COSNAMING--CONST | CORBAサービス提供のネーミングサービスの標準登録集 |
プロジェクト名--CONST | IDLコンパイラが出力した登録集 |
作業場所節(WORKING-STORAGE SECTION)に、ORBの初期化で使用する変数を定義します。
変数 | 説明 |
---|---|
W-OBJECT | サーバアプリケーションのオブジェクト取得結果格納用のCORBA-OBJECT型のオブジェクト変数 |
W-TARGET | IDLファイルから生成したサーバオブジェクト型(*1)のオブジェクト変数 |
*1: サーバオブジェクト型は「モジュール名-インタフェース名」です。
手続き部に以下の処理を追加します。これらの処理は、テンプレートから入力できます。
CORBAの初期化処理(ORB初期化、ネーミングサービス初期化)
CORBAサーバオブジェクト検索処理
CORBAサーバアプリケーションのメソッド呼出し処理(*1)
*1: テンプレートを使用してメソッド呼出し処理を入力する場合、“CORBAサーバオブジェクト一覧”を使用します。
プログラム記述例(メインプログラム:CALCULATE_ADD_CLIENT.cob)
IDENTIFICATION DIVISION. PROGRAM-ID. MAIN. ENVIRONMENT DIVISION. CONFIGURATION SECTION. REPOSITORY. * ObjectDirectorの標準登録集(リポジトリ宣言用) COPY CORBA--REP. * ネーミングサービスの標準登録集(リポジトリ宣言用) COPY CosNaming--REP. * IDLコンパイラが出力した登録集(リポジトリ宣言用) COPY USCALCULATE_ADD--REP. * COBOLプラグインが提供しているCORBAクライアント開発用クラス CLASS CDCORBA. SPECIAL-NAMES. ARGUMENT-NUMBER IS 引数番号 ARGUMENT-VALUE IS 引数内容 SYMBOLIC CONSTANT * ObjectDirectorの標準登録集(定数宣言用) COPY CORBA--CONST. * ネーミングサービスの標準登録集(定数宣言用) COPY COSNAMING--CONST. * IDLコンパイラが出力した登録集(定数宣言用) COPY USCALCULATE_ADD--CONST. . DATA DIVISION. WORKING-STORAGE SECTION. 01 L-APL-NAME PIC X(50) VALUE "CALCULATE_ADD_CLIENT". 01 W-OBJECT OBJECT REFERENCE CORBA-OBJECT. 01 W-TARGET OBJECT REFERENCE SAMPLE-CALCULATE_ADD. 01 W-PARAM1 PIC S9(9) COMP-5. 01 W-PARAM2 PIC S9(9) COMP-5. 01 W-RETURN PIC S9(9) COMP-5. 01 L-RETURN PIC S9(9) COMP-5. 01 L-NAME PIC X(128) VALUE "SAMPLE::CALCULATE_ADD". PROCEDURE DIVISION. * ORB初期化 INVOKE CDCORBA "GET-ORB" USING L-APL-NAME RETURNING L-RETURN. IF L-RETURN NOT = 0 THEN DISPLAY "ERROR OCCURRED AT GET-ORB" END-IF * ネーミングサービス初期化 INVOKE CDCORBA "GET-COSNAMING" RETURNING L-RETURN. IF L-RETURN NOT = 0 THEN DISPLAY "ERROR OCCURRED AT GET-COSNAMING" END-IF INVOKE CDCORBA "GET-NAMEOBJ" USING L-NAME RETURNING L-RETURN. IF L-RETURN NOT = 0 THEN DISPLAY "ERROR OCCURRED AT GET-NAMEOBJ" END-IF * サーバオブジェクトの取得 SET W-OBJECT TO NULL. INVOKE CDCORBA "GET-NAMEOBJR" RETURNING W-OBJECT. IF W-OBJECT = NULL THEN DISPLAY "ERROR OCCURRED AT GET-NAMEOBJR" END-IF * ターゲットオブジェクト取得 SET W-TARGET TO NULL. INVOKE SAMPLE-CALCULATE_ADD "NARROW" USING W-OBJECT RETURNING W-TARGET. IF W-TARGET = NULL THEN DISPLAY "ERROR OCCURRED AT NARROW" END-IF * サーバアプリケーションのメソッドの呼出し DISPLAY "第一引数を入力してください:" WITH NO ADVANCING. ACCEPT W-PARAM1. DISPLAY "第二引数を入力してください:" WITH NO ADVANCING. ACCEPT W-PARAM2. INVOKE W-TARGET "CALCULATE" USING W-PARAM1 W-PARAM2 RETURNING W-RETURN. DISPLAY "加算結果:" W-RETURN. * 実行を終了します。 EXIT PROGRAM. END PROGRAM MAIN.
環境部(ENVIRONMENT DIVISION)およびデータ部(DATA DIVISION)などの個々の処理の詳細は、“Interstage Application Serverアプリケーション作成ガイド(CORBAサービス編)”を参照してください。
プログラム記述例(メインプログラム:CALCULATE_ADD_COBCLIENT.cob)
IDENTIFICATION DIVISION. PROGRAM-ID. MAIN. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. ARGUMENT-NUMBER IS ARG-C ARGUMENT-VALUE IS ARG-V SYMBOLIC CONSTANT COPY SYMBOL-CONST IN CORBA. . DATA DIVISION. WORKING-STORAGE SECTION. COPY CONST IN CORBA. * ORB SETTING PARAMETER 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY CURRENT-ARG-C. 01 CURRENT-ARG-V. 02 FILLER OCCURS 6. 03 CURRENT-ARG-V-VALUE USAGE POINTER. 01 APLI-NAME PIC X(30) VALUE "CALCULATE_ADD_CLIENT". 01 TMP-STRING-BUF PIC X(20). 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY ARG-COUNT. * 文字列長 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY STRING-LENGTH. * 作業ポインタ 01 TEMP-BUF POINTER. * CORBA-ENVIRONMENT 01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. * CORBA-ORB 01 COPY ORB IN CORBA REPLACING CORBA-ORB BY ORB. * CORBA-BOA 01 COPY BOA IN CORBA REPLACING CORBA-BOA BY BOA. * CORBA-OBJECT(各作業用) 01 COPY OBJECT IN CORBA REPLACING CORBA-OBJECT BY OBJ. * 例外発生時の例外ID 01 MESS PIC X(30). * Naming Serviceリポジトリ 01 COPY COSNAMING-NAMINGCONTEXT IN CORBA REPLACING COSNAMING-NAMINGCONTEXT BY COS-NAMING. * ネーミングサービス名 01 STR-BUF PIC X(30). * そのほかネーミングコンテキスト操作用 01 COPY COSNAMING-NAME IN CORBA REPLACING COSNAMING-NAME BY NAME. 01 NAME-A USAGE POINTER. 01 COPY COSNAMING-NAMECOMPONENT IN CORBA REPLACING COSNAMING-NAMECOMPONENT BY NAME-COMPONENT. 01 NAME-COMPONENT-A USAGE POINTER. 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY NUM. * メソッドの復帰値 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY RET. * メソッドのパラメタ 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY PARAM1. 01 COPY LONG IN CORBA REPLACING CORBA-LONG BY PARAM2. PROCEDURE DIVISION. * サーバアプリ起動パラメタの設定 * 起動パラメタの最初には、クライアントアプリケーション名を設定 ACCEPT CURRENT-ARG-C FROM ARG-C. COMPUTE CURRENT-ARG-C = CURRENT-ARG-C + 1. PERFORM VARYING ARG-COUNT FROM 1 BY 1 UNTIL ARG-COUNT > CURRENT-ARG-C IF ARG-COUNT = 1 THEN MOVE APLI-NAME TO TMP-STRING-BUF ELSE ACCEPT TMP-STRING-BUF FROM ARG-V END-IF MOVE FUNCTION LENG (TMP-STRING-BUF) TO STRING-LENGTH CALL "CORBA-STRING-SET" USING CURRENT-ARG-V-VALUE (ARG-COUNT) STRING-LENGTH TMP-STRING-BUF END-PERFORM. SET CURRENT-ARG-V-VALUE (ARG-COUNT) TO NULL. * * ORBの初期化 * (CORBA-ORB-INIT,CORBA-ORB-BOA-INIT) * MOVE 12 TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH FJ-OM-ORB-ID. CALL "CORBA-ORB-INIT" USING CURRENT-ARG-C CURRENT-ARG-V TEMP-BUF ENV ORB. CALL "CORBA-FREE" USING TEMP-BUF. PERFORM ENV-CHECK. MOVE 15 TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH CORBA-BOA-OA-ID. CALL "CORBA-ORB-BOA-INIT" USING ORB CURRENT-ARG-C CURRENT-ARG-V TEMP-BUF ENV BOA. CALL "CORBA-FREE" USING TEMP-BUF. PERFORM ENV-CHECK. * * Naming Serviceのリポジトリの獲得 * MOVE FUNCTION LENG ( CORBA-ORB-OBJECTID-NAMESERVICE ) TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH CORBA-ORB-OBJECTID-NAMESERVICE. CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING ORB TEMP-BUF ENV COS-NAMING. CALL "CORBA-FREE" USING TEMP-BUF. PERFORM ENV-CHECK. * * サーバアプリケーションを検索 * MOVE FUNCTION LENG (STR-BUF) TO STRING-LENGTH. MOVE "SAMPLE::CALCULATE_ADD" TO STR-BUF. CALL "CORBA-STRING-SET" USING IDL-ID OF NAME-COMPONENT STRING-LENGTH STR-BUF. MOVE " " TO STR-BUF. CALL "CORBA-STRING-SET" USING KIND OF NAME-COMPONENT STRING-LENGTH STR-BUF. MOVE 1 TO SEQ-LENGTH OF NAME. MOVE 1 TO SEQ-MAXIMUM OF NAME. MOVE 1 TO NUM. CALL "CORBA-SEQUENCE-COSNAMING-NAMECOMPONENT-ALLOCBUF" USING SEQ-MAXIMUM OF NAME SEQ-BUFFER OF NAME. MOVE FUNCTION ADDR ( NAME ) TO NAME-A. MOVE FUNCTION ADDR ( NAME-COMPONENT ) TO NAME-COMPONENT-A. CALL "CORBA-SEQUENCE-ELEMENT-SET" USING NAME-A NUM NAME-COMPONENT-A. CALL "COSNAMING-NAMINGCONTEXT-RESOLVE" USING COS-NAMING NAME ENV OBJ. MOVE "COSNAMING-NAMINGCONTEXT-RESOLVE" TO MESS. PERFORM ENV-CHECK. * * サーバオブジェクトの呼出し * サンプル名-インタフェース名-オペレータ名 * * 加算 DISPLAY "第一引数を入力してください:" WITH NO ADVANCING. ACCEPT PARAM1. DISPLAY "第二引数を入力してください:" WITH NO ADVANCING. ACCEPT PARAM2. CALL "SAMPLE-CALCULATE-ADD-CALCULATE" USING OBJ PARAM1 PARAM2 ENV RET. PERFORM ENV-CHECK. DISPLAY "加算結果:" RET. * * 後処理 * CALL "CORBA-OBJECT-RELEASE" USING OBJ ENV. CALL "CORBA-OBJECT-RELEASE" USING COS-NAMING ENV. PERFORM ENV-CHECK. CALL "CORBA-FREE" USING SEQ-BUFFER OF NAME. * * CORBA-ENVIRONMENTの情報を参照して例外が発生しているかどうか * チェック * ENV-CHECK SECTION. EVALUATE TRUE WHEN CORBA-NO-EXCEPTION OF MAJOR OF ENV CONTINUE WHEN CORBA-USER-EXCEPTION OF MAJOR OF ENV DISPLAY "USER-EXCEPTION : " MOVE FUNCTION LENG (MESS) TO STRING-LENGTH CALL "CORBA-STRING-GET" USING IDL-ID OF ENV STRING-LENGTH MESS DISPLAY "ID : " MESS EXIT PROGRAM WHEN CORBA-SYSTEM-EXCEPTION OF MAJOR OF ENV DISPLAY "SYSTEM-EXCEPTION : " MOVE FUNCTION LENG (MESS) TO STRING-LENGTH CALL "CORBA-STRING-GET" USING IDL-ID OF ENV STRING-LENGTH MESS DISPLAY "ID : " MESS EXIT PROGRAM END-EVALUATE. ENV-CHECK-END. EXIT. END PROGRAM MAIN.
[テンプレート]ビューの[CORBAサーバオブジェクト一覧]を使用して、CORBAサーバアプリケーションのメソッド呼出し処理を追加することができます。
メソッド呼出し処理をソースファイルに挿入する場合、エディター上で処理を追加する位置にカーソルを位置付けてから、[テンプレート]ビューを表示し、[CORBAサーバオブジェクト一覧]から、モジュール名 > インタフェース名 > メソッドを選択し、コンテキストメニューから[引き数の入力]を選択します。
CORBAサーバオブジェクト一覧には以下の特徴があります。
CORBAサーバオブジェクト一覧は、Interstageのインタフェースリポジトリに登録されているCORBAサーバオブジェクトの一覧を表示します。
CORBAサーバオブジェクト一覧にカテゴリやテンプレートを追加、編集、または削除することはできません。
CORBAサーバオブジェクトのルートカテゴリのツリー構造を示します。
モジュール
CORBAサーバオブジェクト一覧フォルダの下にモジュールの一覧が表示されます。
インタフェース
各モジュールフォルダの下に、そのモジュールで定義されているインタフェースの一覧が表示されます。
オペレータ
各インタフェースフォルダの下に、そのインタフェースで定義されているオペレータの一覧が表示されます。
注意
CORBAサーバオブジェクト一覧は、インタフェースリポジトリを参照できる環境の場合だけ、各要素が表示されます。CORBAサーバオブジェクト一覧に何も要素が表示されない場合は、環境を見直してください。Interstageのサーバ機能をインストールしている場合は、インタフェースリポジトリを参照するのに必要なサービスが実行されているか確認してください。Interstageのクライアント機能をインストールしている場合は、"Interstageインストールフォルダ\ODWIN\etc\INITHOST"に適切なサーバ名が設定されており、サーバが動作していることを確認してください。
CORBAサーバオブジェクト一覧固有のコンテキストメニュー
要素の種類 | メニュー | 説明 |
---|---|---|
インタフェース | オブジェクト検索の挿入 | 選択しているインタフェースのサーバオブジェクトの検索処理をアクティブなCOBOLエディターのカーソル位置に挿入します。 |
オペレータ | 挿入 | オペレータを呼び出す処理をアクティブなCOBOLエディターのカーソル位置に展開します。引数は、param1, param2というデータ項目名で展開され、復帰値は、復帰値というデータ項目名で展開されます。 |
引数の入力 | オペレータの引数と復帰値のデータ項目名を入力するダイアログボックスを表示し、オペレータを呼び出す処理をアクティブなCOBOLエディターのカーソル位置に展開します。データ項目名はダイアログボックスで指定できます。 | |
引数を繰り返し入力する | オペレータを呼び出す処理を指定した数だけアクティブなCOBOLエディターのカーソル位置に展開します。引数を入力するダイアログボックスが表示され、データ項目名を入力できます。 | |
コピー | オペレータを呼び出す処理をクリップボードにコピーします。 |
注意
最新表示では、選択されているノードの配下しか最新状態に更新しません。
インタフェースリポジトリの登録を行っても自動的にはCORBAサーバオブジェクト一覧には反映されません。最新表示を行ってください。
静的起動インタフェースプログラムに結合するスタブファイルを準備し、プロジェクトに登録します。スタブファイルの生成にはCORBAスタブファイル生成ウィザードを使用します。
CORBAスタブファイル生成ウィザードは、CORBAサーバアプリケーションで作成したIDLファイルを入力して、スタブファイルを作成します。
CORBAスタブファイル生成ウィザードは、以下の手順で起動します。
メニューバーから[ファイル] > [新規] > [その他]を選択します。
→ [新規]ウィザードが起動されます。
[新規]ウィザードで[COBOL] > [ソース] > [CORBAスタブファイル]を選択し、[次へ]ボタンをクリックします。
→ [CORBAスタブファイル生成ウィザード]が起動されます。
[CORBAスタブファイル生成]ページでCORBAスタブファイルの基本情報を指定します。
項目 | 説明 |
---|---|
IDLファイル | CORBAサーバアプリケーションで作成したIDLファイルのパスを入力します。絶対パスで指定してください。 |
登録先プロジェクト | 生成したスタブファイルを登録するプロジェクトを入力します。 |
生成言語 | 生成言語を指定します。 |
[完了]ボタンをクリックします。
→ スタブファイルが生成されます。
CORBAクライアントプロジェクト作成時に、COBOLプロジェクト生成ウィザードの[ビルド環境]ページで[CORBAクライアントのビルド環境を設定]をチェックした場合には、以下のオプションは自動的にビルドオプションに設定されます。
自動的に設定されるオプション
翻訳オプション
LIB(Interstage Application Serverインストールフォルダ\odwin\include\oocob) REPIN(Interstage Application Serverインストールフォルダ\odwin\rep) THREAD(MULTI)またはTHREAD(SINGLE)
リンカオプション
以下のライブラリをリンクします。
Interstage Application Serverインストールフォルダ\odwin\lib\odoocob.lib Interstage Application Serverインストールフォルダ\odwin\lib\odcnoocob.lib
COBOLプログラムのビルド
翻訳オプション
THREAD(MULTI)またはTHREAD(SINGLE)
登録集名
CORBA=Interstage Application Serverインストールフォルダ\odwin\include\cobol
リンカオプション
以下のライブラリをリンクします。
Interstage Application Serverインストールフォルダ\odwin\lib\odcobcbl.lib … シングルスレッドの場合 Interstage Application Serverインストールフォルダ\odwin\lib\odcobcblmt.lib … マルチスレッドの場合
上記以外のオプションを設定する場合は、[プロパティー]ダイアログボックスの[ビルド]ページから設定します。[ビルド]ページは以下の手順で表示します。
[依存]ビューまたは[構造]ビューからCORBAサーバプロジェクトを選択します。
メニューバーから[ファイル] > [プロパティー]を選択するか、コンテキストメニューから[プロパティー]を選択します。
→ [プロパティー]ダイアログボックスが表示されます。
左のペインで[ビルド]を選択します。
→ [ビルド]ページが表示されます。
プロジェクトのビルド
自動ビルドが設定されている場合、COBOLソースプログラムを保存した直後にビルドが実行されます。自動ビルドが設定されていない場合は、[依存]ビューまたは[構造]ビューでから対象プロジェクトを選択し、メニューバーから[プロジェクト] > [プロジェクトのビルド]を選択してビルドを実行します。
参照
デバッグパースペクティブについては、“7.2 デバッグパースペクティブ”を参照してください。
プログラムをデバッグする場合は、[ビルドモード]を[デバッグ]に指定します。[ビルドモード]の設定手順は、“11.5.1.4.1 ビルドモードの設定”を参照してください。
CORBAクライアントアプリケーションのデバッグはCOBOLアプリケーション起動構成を使用します。
COBOLアプリケーションのローカルデバッグ
COBOLアプリケーションをローカルデバッグする場合は、COBOLアプリケーション起動構成を使用します。COBOLアプリケーション起動構成の作成方法とデバッガの起動方法については、“7.1.3 デバッグを開始する”を参照してください。
COBOLアプリケーションのリモートデバッグ
サーバ側でビルドしたCOBOLアプリケーションをリモートデバッグする場合は、リモートCOBOLアプリケーション起動構成を使用します。リモートCOBOLアプリケーション起動構成の作成方法とデバッガの起動方法については、以下を参照してください。
通常デバッグの場合:“9.6.1.2 リモートデバッガの起動”
アタッチデバッグの場合:“9.6.2.1 リモートデバッガの起動”
CORBAサーバアプリケーションを配備したワークユニットを起動した後に、[依存]ビューまたは[構造]ビューから対象プロジェクトを選択し、メニューバーから[実行] > [実行(S)] > [COBOLアプリケーション]を選択して、クライアントアプリケーションを実行します。