クライアントアプリケーションから同期アプリケーション連携実行基盤を経由して呼び出されるサーバアプリケーションの業務ロジックを作成します。
業務ロジックを記述するサーバアプリケーションのCOBOLソースファイルを作成します。
“PAYMENTCHANGE”プロジェクトを例に、COBOLソースファイルを新規に作成する手順を以下に示します。
“PAYMENTCHANGE”プロジェクトを選択して、メニューバーから[ファイル] > [新規] > [COBOLソース]を選択します。[COBOLソース生成ウィザード]が表示されます。
作成するCOBOLソースファイルのファイル名、PROGRAM-ID、およびファイルコメントを設定します。
以下の値を設定して、[完了]をクリックしてください。
項目 | 設定値 |
---|---|
プロジェクト名 | PAYMENTCHANGE(初期値) |
ファイル名 | PAYMENTCHANGE |
PROGRAM-ID | PAYMENTCHANGE |
ファイルコメント | 任意の値を設定してください |
プリコンパイラを使用する | チェックする(注) |
注)本サンプルプログラムでは、プリコンパイラを使用します。
[ソースファイル]フォルダにプリコンパイラ用のソースファイルが作成されます。
本サンプルプログラムでは、作成済みのプリコンパイラ用のソースファイルを使用します。
サンプル資材のプリコンパイラ用のソースファイルをコピーして、各プロジェクトの格納先フォルダに格納してください。
プリコンパイラ用のソースファイル名(注) | 格納先プロジェクト名 | 格納先フォルダ |
---|---|---|
PAYMENTCHANGE.scob | PAYMENTCHANGE | ソースファイル |
STOCKCHANGE.scob | STOCKCHANGE | ソースファイル |
STOCKGETITEM.scob | STOCKGETITEM | ソースファイル |
STOCKGETITEMS.scob | STOCKGETITEMS | ソースファイル |
注)“D:\ibas\tutorial\server\src”フォルダに格納されています。
プリコンパイラ用のソースファイル名(注) | 格納先プロジェクト名 | 格納先フォルダ |
---|---|---|
PAYMENTCHANGE.pcob | PAYMENTCHANGE | ソースファイル |
STOCKCHANGE.pcob | STOCKCHANGE | ソースファイル |
STOCKGETITEM.pcob | STOCKGETITEM | ソースファイル |
STOCKGETITEMS.pcob | STOCKGETITEMS | ソースファイル |
注)サーバの/opt/FJSVibs/sample/acceptance/APL/COBOL/cobol_sample.exeのcobol_sample\oracle\workspaceに格納されています。
各プロジェクトにプリコンパイラ用のソースファイルをコピーした結果を示します。
本サンプルプログラムでは、作成済みのプリコンパイラ用のソースファイルを使用します。
サンプル資材のプリコンパイラ用のソースファイルをコピーして、各プロジェクトの格納先フォルダに格納してください。
業務ロジックの作成が終わった後、コンパイル、およびリンクを行います。
本サンプルプログラムでは、埋め込みSQL文が記述されたCOBOLソースファイルを使用しているため、コンパイル・リンクを行うにはプリコンパイラを使用する必要があります。
以下に手順を示します。
メイクファイルの生成
ビルド
デバッグ
注意
各プロジェクト内の依存関係を正しく設定する為、Interstage Studioのメニューバーから[ウィンドウ] > [ビューの表示] >[その他]を選択して表示される[ビューの表示]画面で、[COBOL] > [依存]を選択し、表示される依存ビューで、プロジェクトのコンテキストメニューから[依存関係の解析] > [すべて]を選択し依存関係を再設定してください。
サーバ上でビルドを行うためのメイクファイルを生成します。
メイクファイルは、1つのプロジェクトあたり1つ生成します。
“PAYMENTCHANGE”プロジェクトを例に、メイクファイルの生成手順を示します。
選択したプロジェクトのコンテキストメニューから[リモート開発] > [メイクファイル生成]を選択してください。
[メイクファイル生成]ダイアログボックスが表示されます。[オプション設定]をクリックしてください。
[オプション設定]ダイアログボックスが表示されます。[プリコンパイラ]タブをクリックし、「プリコンパイラを使用する」チェックボックスをチェックしてください。
[翻訳オプション]タブをクリックしてください。
[翻訳オプション]タブの[追加]をクリックしてください。
[追加]をクリックすると、[翻訳オプションの追加]ダイアログボックスが表示されます。“LIB”を選択して[追加]をクリックしてください。
[LIB翻訳オプション]ダイアログボックスが表示されます。COBOL実行基盤インタフェースライブラリを使用するためのCOBOL登録集が格納されているフォルダを設定します。
以下の値を設定して、[OK]をクリックしてください。
項目 | 設定値 |
---|---|
登録集ファイルのフォルダ | /opt/FJSVibs/copy |
[翻訳オプション]一覧で“THREAD”を選択して、[追加]をクリックしてください。
[THREAD翻訳オプション]ダイアログボックスで[MULTI - マルチスレッドにする]を選択して、[OK]をクリックしてください。
[翻訳オプションの追加]ダイアログボックスで、[完了]をクリックしてください。
[翻訳オプション]一覧に“LIB”オプション、および“THREAD”オプションが追加されます。
[オプション設定]ダイアログボックスの[リンクオプション1]タブをクリックしてください。
[追加]をクリックして、リンクするライブラリ/オブジェクトファイルを設定します。
以下のライブラリ/オブジェクトファイルを追加して、[OK]をクリックしてください。
項目 | サーチパス | ファイル名 |
---|---|---|
ライブラリ/オブジェクトファイル | /opt/FJSVibs/lib | libapfwcdrcobol.so |
/opt/FJSVibs/lib | libapfwcblconv.so | |
${ORACLE_HOME}/lib | libclntsh.so | |
${ORACLE_HOME}/precomp/lib | cobsqlintf.o | |
/usr/lib | libpthread.so |
以下のライブラリ/オブジェクトファイルを追加して、[OK]をクリックしてください。
項目 | サーチパス | ファイル名 |
---|---|---|
ライブラリ/オブジェクトファイル | /opt/FJSVibs/lib | libapfwcdrcobol.so |
/opt/FJSVibs/lib | libapfwcblconv.so | |
/opt/FJSVrdb2b/lib | libsql64drvm.so | |
/usr/lib64 | libpthread.so |
[メイクファイル生成]ダイアログボックスの[生成条件]に、設定した内容が反映されます。
以下の値が設定されていることを確認して、[OK]をクリックしてください。
項目 | 設定値 | |
---|---|---|
ターゲット名 | libPAYMENTCHANGE.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | PAYMENTCHANGECP.cbl | |
プリコンソース | PAYMENTCHANGE.pcob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .pcob |
プリコン出力ソースの拡張子 | .cob | |
プリコンパイラ | sqlpcob -g -G -T %INFILE% |
注)上表はORACLE_HOME環境変数が/opt/oracle/product/11.2.0/db_1の場合
以下の値が設定されていることを確認して、[OK]をクリックしてください。
項目 | 設定値 | |
---|---|---|
ターゲット名 | libPAYMENTCHANGE.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | PAYMENTCHANGECP.cbl | |
プリコンソース | PAYMENTCHANGE.scob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .scob |
プリコン出力ソースの拡張子 | .cobol | |
プリコンパイラ | sqlpcob -g -v9 -G -T %INFILE% |
サーバへビルドに必要なソースファイルが転送され、サーバ上にメイクファイルが生成されます。
転送されたソースファイル、および生成されたメイクファイルは、“4.1.1.2 リモート開発の設定”で指定したサーバディレクトリに格納されます。
サーバ上でメイクファイルが生成された後、メイクファイルが開発環境のアプリケーション開発用プロジェクトの[その他のファイル]フォルダにコピーされます。
選択したプロジェクトのコンテキストメニューから[最新表示]を選択して、以下のファイルが作成されていることを確認してください。
ファイル名 | 説明 |
---|---|
Makefile | メイクファイル |
SCOBRULES | プリコンパイラ用のルールファイル |
他のプロジェクトについても、1~14と同様の手順でメイクファイルを生成してください。
以下に、プロジェクトごとの生成条件を示します。
STOCKCHANGE
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKCHANGE.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKCHANGECP.cbl | |
プリコンソース | STOCKCHANGE.pcob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .pcob |
プリコン出力ソースの拡張子 | .cob | |
プリコンパイラ | sqlpcob -g -G -T %INFILE% |
注)上表はORACLE_HOME環境変数が/opt/oracle/product/11.2.0/db_1の場合
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKCHANGE.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKCHANGECP.cbl | |
プリコンソース | STOCKCHANGE.scob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .scob |
プリコン出力ソースの拡張子 | .cobol | |
プリコンパイラ | sqlpcob -g -v9 -G -T %INFILE% |
STOCKGETITEM
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKGETITEM.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKGETITEMCP.cbl | |
プリコンソース | STOCKGETITEM.pcob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .pcob |
プリコン出力ソースの拡張子 | .cob | |
プリコンパイラ | sqlpcob -g -G -T %INFILE% |
注)上表はORACLE_HOME環境変数が/opt/oracle/product/11.2.0/db_1の場合
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKGETITEM.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKGETITEMCP.cbl | |
プリコンソース | STOCKGETITEM.scob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .scob |
プリコン出力ソースの拡張子 | .cobol | |
プリコンパイラ | sqlpcob -g -v9 -G -T %INFILE% |
STOCKGETITEMS
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKGETITEMS.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKGETITEMSCP.cbl | |
プリコンソース | STOCKGETITEMS.pcob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .pcob |
プリコン出力ソースの拡張子 | .cob | |
プリコンパイラ | sqlpcob -g -G -T %INFILE% |
項目 | 設定値 | |
---|---|---|
ターゲット名 | libSTOCKGETITEMS.so | |
転送するファイル | COBOLソースファイル | - |
COBOL登録集・定義体ファイル | STOCKGETITEMSCP.cbl | |
プリコンソース | STOCKGETITEMS.scob | |
翻訳オプション | '-I "/opt/FJSVibs/copy" -WC,"TAB(4),THREAD(MULTI),SRF(VAR,VAR)"' | |
リンクオプション | '-dy -Tm' | |
プリコンパイラ連携 | プリコン入力ソースの拡張子 | .scob |
プリコン出力ソースの拡張子 | .cobol | |
プリコンパイラ | sqlpcob -g -v9 -G -T %INFILE% |
サーバにNetCOBOL開発・運用パッケージ V9.1以前を使用している場合、ワークスペース内にコピーされたメイクファイルを編集します。
“PAYMENTCHANGE”プロジェクトを例に、メイクファイルの編集内容を示します。他のプロジェクトも同様に編集してください。
サーバにNetCOBOL 開発・運用パッケージ V10.0を使用している場合はメイクファイルを修正する必要はありません。
ファイル名 | 編集前(注1) | 編集後(注1) | 説明 |
---|---|---|---|
Makefile | (省略) | (省略) | Symfoware Serverのプリコンパイラが出力する“PAYMENTCHANGE.cobol”は主プログラムではないため、コンパイルオプションから“-M”を取り除きます。 |
(省略) | (省略) | Symfoware Serverのプリコンパイラの仕様に合わせます。 |
注1)“△”は、実際のファイルではタブを示します。
注2)拡張子を除くファイル名の部分はプロジェクトごとに異なります。
作成した業務ロジックは、リモート開発機能を用いてサーバ上でビルドします。
“PAYMENTCHANGE”プロジェクトを例に、サーバ上でビルドを行う手順を示します。
選択したプロジェクトのコンテキストメニューから[リモート開発] > [ビルド]を選択してください。
サーバに格納された資産を使用して、実行環境上でビルドが実行されます。
実行結果は、[コンソール]ビューの[COBOLリモート]に表示されます。
ポイント
[コンソール]ビューの[COBOLリモート]を表示するには、[コンソール]ビューのツールバーのアイコン([コンソールを開く])から[COBOLリモート]を選択してください。
注意
ビルドに失敗した場合、“Interstage Business Application Server トラブルシューティング”の“開発環境で発生する異常”の“COBOLサーバアプリケーションの開発で発生する異常”の“サーバアプリケーションのコンパイル時にエラーメッセージが出力される”の“リモートビルド時に開発環境でのファイルの修正が反映されない場合”に記載の内容も確認してください。
ポイント
[コンソール]ビューの[COBOLリモート]を表示するには、[コンソール]ビューのツールバーのアイコン([コンソールを開く])から[COBOLリモート]を選択してください。
注意
ビルドに失敗した場合、“Interstage Business Application Server トラブルシューティング”の“開発環境で発生する異常”の“COBOLサーバアプリケーションの開発で発生する異常”の“サーバアプリケーションのコンパイル時にエラーメッセージが出力される”の“リモートビルド時に開発環境でのファイルの修正が反映されない場合”に記載の内容も確認してください。
処理が正常終了した場合、“4.1.1.2 リモート開発の設定”で指定したサーバディレクトリにライブラリが生成されます。
作成した業務ロジックのデバッグを行います。
業務ロジックのデバッグを行うために、必要に応じてドライバやスタブを用意してください。
COBOLアプリケーションのデバッグ方法については、“NetCOBOL Studio ユーザーズガイド”の “リモート開発機能”を参照してください。
業務ロジックの作成が終わった後、開発環境でコンパイル・リンクを行います。
本サンプルプログラムでは、埋め込みSQL文が記述されたCOBOLソースファイルを使用しているため、コンパイル・リンクを行うにはプリコンパイラを使用する必要があります。
以下に手順を示します。
ビルドの設定
ビルド
デバッグ
作成した業務ロジックをビルドするために必要となるCOBOL登録集、およびリンクするライブラリを設定します。
本サンプルプログラムをコンパイルするには、Interstage Business Application ServerのCOBOL登録集が必要です。また、本サンプルプログラムをリンクするには、Symfoware Serverのライブラリ、およびInterstage Business Application Serverのライブラリが必要です。
プロジェクト“PAYMENTCHANGE”を例に、翻訳オプションの追加、およびリンクオプションの設定を行う手順を示します。
選択したプロジェクトのコンテキストメニューから[プロパティ]を選択して、表示される[プロパティ]画面の左ペインで[ビルド]を選択してください。
[追加]をクリックすると、[翻訳オプションの追加]ダイアログボックスが表示されます。[翻訳オプション]一覧で“LIB”を選択して、[追加]をクリックしてください。
表示された[LIB翻訳オプション]ダイアログボックスで、コンパイルで使用するCOBOL登録集ファイルのフォルダを設定します。
以下の値を設定して、[OK]をクリックしてください。
項目 | 設定値 |
---|---|
登録集ファイルのフォルダ | C:\Interstage\BAS\copy |
[翻訳オプション]一覧で“THREAD”を選択して、[追加]をクリックしてください。
[THREAD翻訳オプション]ダイアログボックスで[MULTI - マルチスレッドにする]を選択して、[OK]をクリックしてください。
[翻訳オプションの追加]ダイアログボックスで、[完了]をクリックしてください。
[翻訳オプション]一覧に“LIB”オプション、および“THREAD”オプションが追加されます。
[リンクオプション]タブをクリックしてください。
[追加]をクリックすると、[リンクオプションの追加]ダイアログボックスが表示されます。
Symfoware Serverのライブラリを追加します。
以下の値を設定して、[OK]をクリックしてください。
項目 | 設定値 |
---|---|
ライブラリ/オプジェクトファイルの選択 | C:\SFWCLNT\ESQL\LIB\f3cwdrvm_x64.lib |
9~10と同様の手順で、COBOL実行基盤インタフェースライブラリを追加してください。
項目 | 設定値 |
---|---|
ライブラリ/オプジェクトファイル | C:\Interstage\BAS\lib\x64\libapfwcblconv.lib |
[ライブラリ/オジェクトファイル]一覧に正しく追加されていることを確認して、[OK]をクリックしてください。
他のプロジェクトも同様の手順で、ビルドの設定を行ってください。
ビルドに使用するCOBOL登録集、およびライブラリは、プロジェクト“PAYMENTCHANGE”と同一です。
コンパイル・リンクを行うプロジェクトを選択して、コンテキストメニューから[プロジェクトのビルド]または[プロジェクトの再ビルド]を選択してください。ビルドが実行され、プロジェクトごとに以下のライブラリが生成されます。
プロジェクト名 | ライブラリ名 |
---|---|
PAYMENTCHANGE | PAYMENTCHANGE.dll |
STOCKCHANGE | STOCKCHANGE.dll |
STOCKGETITEM | STOCKGETITEM.dll |
STOCKGETITEMS | STOCKGETITEMS.dll |
ポイント
Interstage Studioのメニューバーの[プロジェクト] > [自動的にビルド]がチェックされている場合、ビルドは自動で実行されます。
この場合、プロジェクトのコンテキストメニューの[プロジェクトのビルド]は表示されません。
ビルドが終わった業務ロジックのデバッグを行います。
必要に応じてドライバやスタブを用意してください。
COBOLアプリケーションのデバッグ方法については、“NetCOBOL Studio ユーザーズガイド”の“デバッグ機能”を参照してください。