自動生成サブルーチン #SCREEN_BACKについて
#SCREEN_BACKは前画面に遷移(戻る)するためのサブルーチンです。
//------------------------------------------------------------
// #SCREEN_BACK 前画面に戻る
//------------------------------------------------------------
BEGSR #SCREEN_BACK;
//WKI=0 の場合は WSTS を先頭値にセットして、第一画面を初期化する
IF WKI = 0;
WSTS = '1';
EXSR #DSP01_INITFLD;
EXSR #DSP01_INITATR;
ELSE;
WSTS = @WSTS(WKI);
WKI = WKI - 1;
SELECT;
WHEN WSTS = '1';
EXSR #DSP01_INITATR;
WHEN WSTS = '2';
EXSR #DSP02_INITATR;
WHEN WSTS = '3';
EXSR #DSP03_INITATR;
ENDSL;
ENDIF;
ENDSR;
自動生成のパターンは、直前の画面番号@WSTS(WKI)をWSTSに戻して、属性初期化サブルーチンを行います。
1つ前に戻るのでWKIもー1しています。
#SCREEN_BACKとは関係ありませんが、強制的に先頭画面に戻したい場合はWSTSを'1'にWKIを0にセットし、フィールド初期化サブルーチンと属性初期化サブルーチンを行います。
今回は以上です。