自動生成サブルーチン #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にセットし、フィールド初期化サブルーチンと属性初期化サブルーチンを行います。

 

今回は以上です。