CUSMAIN: RPG ソース
図 1. モジュール CUSMAIN のソース
//****************************************************************
// プログラム名: CUSMAIN *
// 関連ファイル: MAINMENU (DSPF) *
// 関連プログラム: CUSMNT (ILE RPG PGM) *
// SCHZIP (ILE RPG PGM) *
// SCHNAM (ILE RPG PGM) *
// 説明: これは得意先のメイン照会プログラムです。 *
// このプログラムは、次の処置のいずれかを選ぶ *
// ようにユーザーにプロンプトを出します。 *
// 1.得意先レコードの維持 *
// (追加、更新、削除、表示) *
// 2.郵便番号による得意先レコードの検索 *
// 3.名前による得意先レコードの検索 *
//****************************************************************
Fmainmenu cf e workstn indds(indicators)
// プロトタイプ定義:
D CustMaintain pr extproc('CUSMNT')
D SearchZip pr extproc('SCHZIP')
D SearchName pr extproc('SCHNAM')
// フィールド定義:
D indicators ds
D exitKey n overlay(indicators:3)
D maintainKey n overlay(indicators:5)
D srchZipKey n overlay(indicators:6)
D srchCustKey n overlay(indicators:7)
/free
// 終了キーが押されるまでループする
dow '1';
// メインメニューの表示
exfmt hdrscn;
// 要求された処置の実行
if exitKey;
// プログラムの終了
leave;
elseif maintainKey;
// 得意先データの維持
CustMaintain();
elseif srchZipKey;
// 郵便番号に基づく得意先データの検索
SearchZip();
elseif srchCustKey;
// 得意先名による得意先データの検索
SearchName();
endif;
enddo;
*inlr = *on;
/end-free
このモジュールでは、CALLB 命令コードの使用法について説明します。適当 な RPG モジュール (CUSMNT、SCHZIP、または SCHNAM) は、ユーザーの選択するメニュー項目に 従って CUSMAIN によって呼び出されます。
プログラム・オブジェクトを作成するために、次のことを行ってください。
- CRTRPGMOD を使用して、各ソース・メンバー (CUSMAIN、CUSMNT、 SCHZIP、 および SCHNAM) のモジュールを作成する。
- 次を入力することによってプログラムを作成する。
CRTPGM PGM(MYPROG) MODULE(CUSMAIN CUSMNT SCHZIP SCHNAM) ENTMOD(*FIRST)注: *FIRST オプションは、リストの最初のモジュールである CUSMAIN が プログラム入力プロシージャーとして選択されることを指定します。 - 次を入力することによってプログラムを呼び出す。
CALL MYPROG
図 2 に示すように『メイン・メニュー』が現れます。
図 2. 得意先メイン照会プロンプト画面
22:30:05 CUSTOMER MAIN INQUIRY 9/30/94
Press one of the following PF keys.
F3 End Job
F5 Maintain Customer File
F6 Search Customer by Zip Code
F7 Search Customer by Name