画面・帳票サポートシステム XMAP3 プログラミングガイド


付録C.7 APパターン・部品の使用例

APパターン・部品のうち,画面のAPのコーディングに利用するAPパターンの例を次に示します。

〈この項の構成〉

(1) GUI/CUI画面のAPパターン(C言語用)

(a) メニュー画面のAPパターン

メニュー画面のAPパターンの使用例を次に示します。

メニュー画面のAPパターンの使用例(プッシュボタンによる多目的メニュー)

すべての業務をまとめた初期メニューとしての利用を想定したAPパターンの例を次に示します。内部ルーチン用に変更して,サブメニューとしても利用できます。

BTMENU01  (XMAP3インストールフォルダ\Patterns\C\Btmenu01.c)

ログイン画面からメニュー画面を起動します。ボタン,またはファンクションキーに対応してAPを起動します。

ログイン画面は必要に応じて削除します。

実行ファイル(.EXE)を呼び出しています。

メニュー画面のAPパターンの使用例(ラジオボタン,またはテンキー選択による初期メニュー)

すべての業務をまとめた初期メニューとしての利用を想定したAPパターンの例を次に示します。内部ルーチン用に変更して,サブメニューとしても利用できます。

SLMENU01  (XMAP3インストールフォルダ\Patterns\C\Slmenu01.c)

ログイン画面からメニュー画面を起動します。選択した番号に対応するAPを起動します。

ログイン画面は必要に応じて削除します。

実行ファイル(.EXE)を呼び出しています。

(b) 画面入出力のAPパターン

画面入出力のAPパターンの使用例を次に示します。

画面入出力のAPパターンの使用例(画面入出力の汎用プログラム)

アイコン,またはメニュープログラムを使用したメインメニューから呼び出されることを想定したAPパターンの例を次に示します。

GENDSP01  (XMAP3インストールフォルダ\Patterns\C\Gendsp01.c)

新規メニューからの呼び出しを想定しています。

1画面だけ表示します。追加画面は,NXTDSP01ルーチンを追加します。

入力後のチェック結果によって,AP部品を挿入します。

画面入出力のAPパターンの使用例(フィールド単位アクセス用入出力プログラム)

フィールド単位にAPに返して,入力データをチェックすることを想定しています。

GENFLD01  (XMAP3インストールフォルダ\Patterns\C\Genfld01.c)

フォーカス・カーソルを位置づけているフィールドだけ入力できます。

APでは,入力データをチェックし,対応する処理を行います。

チェックしてOKであれば,次に入力したいフィールドにフォーカス・カーソルを位置づけて画面を再表示します。

1画面だけを表示します。追加画面は,AP部品NXTFLD01を追加します。

画面入出力のAPパターンの使用例(イベント単位アクセス用入出力プログラム)

複数のトグルフィールドを使った業務での使用を想定しています。

GENEVN01  (XMAP3インストールフォルダ\Patterns\C\Genevn01.c)

画面上のどこからでも入力でき,APにイベントを返します。

APでは,イベント通知コードの領域に,入力したフィールドのイベント定数が返ります。

イベントごとの処理を行うセクションを設けて,各フィールドの処理を行います。

1画面だけを表示します。追加画面は,AP部品NXTEVN01を追加します。

(c) 画面入出力・帳票出力のAPパターン

画面入出力・帳票出力のAPパターンの使用例を次に示します。

画面入出力・帳票出力のAPパターンの使用例(GENDSP01とGENREP01を合わせた画面入出力・帳票印刷の汎用プログラム)

メインメニューから呼び出されることを想定しています。

DSPPRT01  (XMAP3インストールフォルダ\Patterns\C\Dspprt01.c)

画面入力処理を実行したあと,帳票を印刷します。

画面入出力・帳票出力のAPパターンの使用例(OLTPサーバ構成)

OLTPサーバ構成と連携する環境を想定しています。

MCFDP01  (XMAP3インストールフォルダ\Patterns\C\Mcfdp01.c)

メニュー画面を表示し,受信したメッセージに基づいて,画面の表示または帳票の印刷を行います。

(2) GUI/CUI画面のAPパターン(COBOL用)

(a) メニュー画面のAPパターン

メニュー画面のAPパターンの使用例を次に示します。

メニュー画面のAPパターンの使用例(プッシュボタンによる多目的メニュー)

すべての業務をまとめた初期メニューとしての利用を想定したAPパターンの例を次に示します。内部ルーチン用に変更して,サブメニューとしても利用できます。

BTMENU01  (XMAP3インストールフォルダ\Patterns\Cobol\Btmenu01.cbl)

ログイン画面からメニュー画面を起動します。ボタンまたはファンクションキーに対応してAPを起動します。

ログイン画面は必要に応じて削除します。

実行ファイル(.EXE)をCALL文で呼び出しています。PERFORMに変更することで内部ルーチン用に変更できます。

メニュー画面のAPパターンの使用例(ラジオボタン,またはテンキー選択による初期メニュー)

すべての業務をまとめた初期メニューとしての利用を想定したAPパターンの例を次に示します。内部ルーチン用に変更して,サブメニューとしても利用できます。

SLMENU01  (XMAP3インストールフォルダ\Patterns\Cobol\Slmenu01.cbl)

ログイン画面からメニュー画面を起動します。選択した番号に対応するAPを起動します。

ログイン画面は必要に応じて削除します。

実行ファイル(.EXE)をCALL文で呼び出しています。PERFORMに変更することで内部ルーチン用に変更できます。

(b) 画面入出力のAPパターン

画面入出力のAPパターンの使用例を次に示します。

画面入出力のAPパターンの使用例(TRANSCEIVE文を使用した汎用画面入出力プログラム)

アイコン,またはメニュープログラムを使用したメインメニューから呼び出されることを想定しています。

GENDSP01  (XMAP3インストールフォルダ\Patterns\Cobol\Gendsp01.cbl)

新規メニューからの呼び出しを想定しています。

1画面だけ表示します。追加画面は,AP部品NXTDSP01を追加します。

入力後のチェック結果によって,AP部品を挿入します。

メインプログラムへ戻らないことを想定しています。メインプログラムへ戻すには「STOP RUN」を変更して使用します。

画面入出力のAPパターンの使用例(汎用画面入出力プログラム)

アイコン,またはメニュープログラムを使用したメインメニューから呼び出されることを想定しています。

GENDSP02  (XMAP3インストールフォルダ\Patterns\Cobol\Gendsp02.cbl)

新規メニューからの呼び出しを想定しています。CALL文を使用している点がGENDSP01と異なります。

1画面だけ表示します。追加画面は,CALLインタフェースのGENDSP03を追加します。

入力後のチェック結果によって,AP部品を挿入します。

メインプログラムへ戻らないことを想定しています。メインプログラムへ戻すには「STOP RUN」を変更して使用します。

画面入出力のAPパターンの使用例(GENDSP02から呼び出されるサブプログラム)

GENDSP02との組み合わせを想定しています。

GENDSP03  (XMAP3インストールフォルダ\Patterns\Cobol\Gendsp03.cbl)

CALL文を使用しています。

画面入出力のAPパターンの使用例(フィールド単位アクセス用入出力プログラム)

フィールド単位にAPに返して,入力データをチェックすることを想定しています。COBOLの「WINDOW SECTION」で実現していた業務をGUIに移行する際のAPを想定しています。

GENFLD01  (XMAP3インストールフォルダ\Patterns\Cobol\Genfld01.cbl)

フォーカス・カーソルを位置づけているフィールドだけ入力できます。

APでは,入力データをチェックし,対応する処理を行います。

チェックしてOKであれば,次に入力したいフィールドにフォーカス・カーソルを位置づけて画面を再表示します。

1画面だけを表示します。追加画面はAP部品NXTFLD01を追加します。

画面入出力のAPパターンの使用例(イベント単位アクセス用入出力プログラム)

複数のトグルフィールドを使った業務での使用を想定しています。

GENEVN01  (XMAP3インストールフォルダ\Patterns\Cobol\Genevn01.cbl)

画面上のどこからでも入力でき,APにイベントを返します。

APでは,イベント通知コードの領域に,入力したフィールドのイベント定数が返ります。

イベントごとの処理を行うセクションを設けて,各フィールドの処理を行います。

1画面だけを表示します。追加画面はAP部品NXTEVN01を追加します。

(c) 画面入出力・帳票出力のAPパターン

画面入出力・帳票出力のAPパターンの使用例を次に示します。

画面入出力・帳票出力のAPパターンの使用例(GENDSP01とGENREP01を合わせた画面入出力・帳票印刷の汎用プログラム)

メインメニューから呼び出されることを想定しています。

DSPPRT01  (XMAP3インストールフォルダ\Patterns\Cobol\Dspprt01.cbl)

画面入力処理を実行したあと,帳票を印刷します。

画面入出力・帳票出力のAPパターンの使用例(OLTPサーバ構成)

OLTPサーバ構成と連携する環境を想定しています。

MCFDP01  (XMAP3インストールフォルダ\Patterns\Cobol\Mcfdp01.cbl)

メニュー画面を表示し,受信したメッセージに基づいて,画面の表示または帳票の印刷を行います。

(3) GUI/CUI画面のAP部品(C言語用)

GUI/CUI画面のAP部品を次に示します。

次画面の入出力

画面入出力追加コーディングです。GNEDSP01,DSPPRT01への挿入を想定しています。

NXTDSP01  (XMAP3インストールフォルダ\Patterns\C\Nxtdsp01.c)
エラー項目の色の変更,およびカーソルの位置づけ

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

ATRCRS01  (XMAP3インストールフォルダ\Patterns\C\Atrcrs01.c)

エラー時に,テキスト/フィールドの文字色を変更し,フォーカス・カーソルを該当項目に設定します。該当項目以外は画面の状態のままとします。

データエントリ画面の入力項目のクリア

GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

CLRINP01  (XMAP3インストールフォルダ\Patterns\C\Clrinp01.c)

表示画面の入力項目だけをヌルクリアして初期状態にします。データエントリ画面を想定しています。

ヘルプ画面表示の呼び出し

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

FLDHLP01  (XMAP3インストールフォルダ\Patterns\C\Fldhlp01.c)

ファンクションキーの押下やプッシュボタンの選択時に,カーソルのあるフィールドに対応するヘルプ画面を表示します。フィールドごとのヘルプ表示を想定しています。

項目属性の変更

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

MODATR01  (XMAP3インストールフォルダ\Patterns\C\Modatr01.c)

テキスト/フィールドの表示属性(文字色など)を変更します。

入力チェック後のエラー表示用として使用します。

表示データ代入処理と合わせて使用することで,AP部品の開始時から文字色を変更したい場合にも応用できます。

同一画面に対し,1項目だけ書き換える処理

BTMENU01,SLMENU01,GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

PATWRT01  (XMAP3インストールフォルダ\Patterns\C\Patwrt01.c)

表示している画面に対し,1項目だけ書き換えます。ほかの項目の状態はそのままとします。

エラーメッセージをメッセージフィールドに表示する場合などに使用します。

複数またはすべての項目を書き換えるように変更することで,固定部分をそのままにして可変部分をすべて書き換える表示にも応用できます。

フォーカス・カーソルの変更

BTMENU01,SLMENU01,GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

SETCRS01  (XMAP3インストールフォルダ\Patterns\C\Setcrs01.c)

表示している画面に対し,カーソル/フォーカスを設定し直します。項目の内容は変更しません。

エラー項目へのカーソル移動など,カーソルのナビゲーションに利用します。

ボタン属性の変更(ボタンの不活性)

BTMENU01,SLMENU01,GENDSP01,NXTDSP01への挿入を想定しています。

BTPROT01  (XMAP3インストールフォルダ\Patterns\C\Btprot01.c)

ボタンを動的に不活性にします。

次画面の入出力およびフィールド単位入力

GUIフィールド単位用画面入出力追加コーディングです。GENFLD01への挿入を想定しています。

NXTFLD01  (XMAP3インストールフォルダ\Patterns\C\Nxtfld01.c)
次画面の入出力およびイベント単位入力

イベント単位用画面入出力追加コーディングです。GENEVN01への挿入を想定しています。

NXTEVN01  (XMAP3インストールフォルダ\Patterns\C\Nxtevn01.c)

(4) GUI/CUI画面のAP部品(COBOL用)

次画面の入出力

画面入出力追加コーディングです。GENDSP01,DSPPRT01への挿入を想定しています。

NXTDSP01  (XMAP3インストールフォルダ\Patterns\Cobol\Nxtdsp01.cbl)
エラー項目の色の変更,およびカーソルの位置づけ

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

ATRCRS01  (XMAP3インストールフォルダ\Patterns\Cobol\Atrcrs01.cbl)

エラー時に,テキスト/フィールドの文字色を変更し,フォーカス・カーソルを該当項目に設定します。該当項目以外は画面の状態のままとします。

データエントリ画面の入力項目のクリア

GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

CLRINP01  (XMAP3インストールフォルダ\Patterns\Cobol\Clrinp01.cbl)

表示画面の入力項目だけをヌルクリアして初期状態にします。データエントリ画面を想定しています。

ヘルプ画面の表示

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

FLDHLP01  (XMAP3インストールフォルダ\Patterns\Cobol\Fldhlp01.cbl)

ファンクションキーの押下やプッシュボタンの選択時に,カーソルのあるフィールドに対応するヘルプ画面を表示します。フィールドごとのヘルプ表示を想定しています。

フィールド属性変更

GENDSP01,DSPPRT01,BTMENU01,SLMENU01,NXTDSP01などへの挿入を想定しています。

MODATR01  (XMAP3インストールフォルダ\Patterns\Cobol\Modatr01.cbl)

テキスト/フィールドの表示属性(文字色など)を変更します。

入力チェック後のエラー表示用として使用します。

表示データ代入処理と合わせて使用することで,AP部品の開始時から文字色を変更したい場合にも応用できます。

同一画面に対し,1 項目だけ書き換える処理

BTMENU01,SLMENU01,GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

PATWRT01  (XMAP3インストールフォルダ\Patterns\Cobol\Patwrt01.cbl)

表示している画面に対し,1項目だけ書き換えます。ほかの項目の状態はそのままとします。

エラーメッセージをメッセージフィールドに表示する場合などに使用します。

複数またはすべての項目を書き換えるように変更することで,固定部分をそのままにして可変部分をすべて書き換える表示にも応用できます。

フォーカス・カーソルの変更

BTMENU01,SLMENU01,GENDSP01,DSPPRT01,NXTDSP01への挿入を想定しています。

SETCRS01  (XMAP3インストールフォルダ\Patterns\Cobol\Setcrs01.cbl)

表示している画面に対し,カーソル/フォーカス位置を設定し直します。項目の内容は変更しません。

エラー項目へのカーソル移動など,カーソルのナビゲーションに利用します。

ボタン属性の変更(ボタンの不活性)

BTMENU01,SLMENU01,GENDSP01,NXTDSP01への挿入を想定しています。

BTPROT01  (XMAP3インストールフォルダ\Patterns\Cobol\Btprot01.cbl)

ボタンを動的に不活性にします。

次画面の入出力およびフィールド単位入力

GUIフィールド単位用画面入出力追加コーディングです。GENFLD01への挿入を想定しています。

NXTFLD01  (XMAP3インストールフォルダ\Patterns\Cobol\Nxtfld01.cbl)
次画面の入出力およびイベント単位入力

イベント単位用画面入出力追加コーディングです。GENEVN01への挿入を想定しています。

NXTEVN01  (XMAP3インストールフォルダ\Patterns\Cobol\Nxtevn01.cbl)

(5) 帳票のAPパターン(C言語用)

(a) 帳票印刷のAPパターン

帳票印刷の汎用プログラムです。メインメニューから呼び出されることを想定しています。バッチ出力用として利用できます。

GENREP01  (XMAP3インストールフォルダ\Patterns\C\Genrep01.c)

初期メニューからCALLされることを想定しています。

1種類の帳票だけを印刷します。帳票出力はNXTPRT01ルーチンを追加して使用します。

(b) 書式印刷のAPパターン

バッチ出力の書式付き帳票印刷の汎用プログラムです。対話定義から呼び出しても利用できます。

GENOVL01  (XMAP3インストールフォルダ\Patterns\C\Genovl01.c)

1種類の書式に対応した書式印刷をします。ヘッダ,明細,トレーラを印刷することを想定しています。必要に応じてヘッダ,トレーラ処理を削除して使用できます。

(6) 帳票のAPパターン(COBOL用)

(a) 帳票印刷のAPパターン

帳票印刷のAPパターンの使用例(SEND文を使用した帳票印刷用の汎用プログラム)

メインメニューから呼び出されることを想定しています。バッチ出力用として利用できます。

GENREP01  (XMAP3インストールフォルダ\Patterns\Cobol\Genrep01.cbl)

1種類の帳票だけを印刷します。複数の帳票出力をするには,NXTPRT01を追加します。

帳票印刷のAPパターンの使用例(CALL文を使用した帳票印刷用の汎用プログラム)

メインメニューから呼び出されることを想定しています。バッチ出力用として利用できます。

GENREP02  (XMAP3インストールフォルダ\Patterns\Cobol\Genrep02.cbl)

1種類の帳票だけを印刷します。複数の帳票出力をするには,同じくCALLインタフェースを使用しているGENREP03を追加します。

帳票印刷のAPパターンの使用例(GENREP02から呼び出されるサブプログラム)

GENREP02と組み合わせることを想定しています。

GENREP03  (XMAP3インストールフォルダ\Patterns\Cobol\Genrep03.cbl)

CALL文を使用しています。

(b) 書式印刷のAPパターン

バッチ出力のWRITE文を使用した書式付き帳票印刷の汎用プログラムです。対話定義から呼び出しても利用できます。

GENOVL01  (XMAP3インストールフォルダ\Patterns\Cobol\Genovl01.cbl)

1種類の書式に対応した印刷をします。ヘッダ,明細,トレーラを印刷することを想定しています。必要に応じてヘッダ,トレーラ処理を削除して使用します。

(7) 帳票のAP部品(C言語用)

標準帳票の出力

帳票出力処理の追加コーディングです。DSPPRT01,GENREP01への挿入を想定しています。

NXTREP01  (XMAP3インストールフォルダ\Patterns\C\Nxtrep01.c)
フィールド属性の変更,およびけい線種別の動的変更

GENREP01,DSPPRT01への挿入を想定しています。

MODATR02  (XMAP3インストールフォルダ\Patterns\C\Modatr02.c)

グラフィック帳票で,文字やけい線の属性を動的に変更します。

(8) 帳票のAP部品(COBOL用)

標準帳票の出力

帳票出力処理の追加コーディングです。DSPPRT01,GENREP01への挿入を想定しています。

NXTREP01  (XMAP3インストールフォルダ\Patterns\Cobol\Nxtrep01.cbl)

SEND文を使用します。

フィールド属性の変更,およびけい線種別の動的変更

GENREP01,DSPPRT01,GENREP02などへの挿入を想定しています。

MODATR02  (XMAP3インストールフォルダ\Patterns\Cobol\Modatr02.cbl)

グラフィック帳票で,文字やけい線の属性を動的に変更します。