自動生成サブルーチン #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に保存しています。これは前画面に戻るときに使用しています。

今回は以上です。