自動生成サブルーチン #INITについて
初期処理サブルーチン[#INIT]のご紹介です。
#INITのオウンコード部分は、サブルーチン一覧に登録が必要です。
後半に第一画面への遷移コードが自動生成されます。
//------------------------------------------------------------------------------
// 初期処理 #INIT
//------------------------------------------------------------------------------
BEGSR #INIT;
//SQL設定
EXEC SQL SET OPTION COMMIT = *NONE;
//画面遷移
EXSR #DSP01_INITFLD;
EXSR #DSP01_INITATR;
WKI = *ZERO;
WSTS = '1';
ENDSR;
赤字がサブルーチンに登録したオウンコード部分です。
青字が自動生成されたコードです。
#DSP01_INITFLDは、画面設計の各フィールドの[フィールド初期化コード]に書いたコードを集めたサブルーチンです。
正確にはBEGSR/ENDSRだけが自動生成ですね。
//--------------------------------------------------------------------
// #DSP01_INITFLD フィールド初期化
//--------------------------------------------------------------------
BEGSR #DSP01_INITFLD;
D1NMTK = *BLANK; // 得意先名
ENDSR;
フィールド初期化コードが無い場合は、*BLANK/*ZEROの設定を自動的に組み込むことも可能です。
#DSP01_INITATRも同様で、[属性初期化コード」に書いたコードを集めたサブルーチンです。
//--------------------------------------------------------------------
// #DSP01_INITATR 属性初期化
//--------------------------------------------------------------------
BEGSR #DSP01_INITATR;
*IN31 = *OFF; //PC標識 得意先名
D1P31 = X'34'; // Pフィールド
ENDSR;
属性初期化コードが無い場合は、初期値の設定を自動的に組み込むことも可能です。
WKIとWSTSは画面遷移の制御用ワークです。データ定義の基本ワークとして定義しています。
WSTSに画面設計の[画面番号]をセットすることで、表示する画面を決定しています。[画面番号]は画面設計一覧の上から順に1,2,3,・・・が自動設定されます。
WKIは画面遷移を保存するための配列@WSTSの指標です。画面遷移する前に今表示している[画面番号]を@WSTSに保存しています。これは前画面に戻るときに使用しています。
今回は以上です。