PF-Set-Panel-Stack (値 18)

指定された使用可能なパネルのリストに従い、使用可能なパネルのスタックをリセットし、画面を再描画します。

パラメーター:

Panels-Order-List 次を含むグループ項目:
POL-Count pic 9(4) comp-x
POL-ID pic 9(4) comp-x occurs 254

入力パラメーター:

POL-Count リスト中の使用可能なパネル数。
POL-ID 再描画される使用可能なパネルの識別ハンドルのリスト。

出力パラメーター:

なし

説明:

POL-ID で指定されていないパネルは使用不能になり、POL-ID で指定されているパネルは使用可能になり表示されます。

例:

次の例は、アプリケーションのパネルの状態を、パネルを変更する前に保存し、その後、元の状態に復元するために、PF-Get-Panel-Stack および PF-Set-Panel-Stack 機能をともに使用する方法を示しています。

この例は、サブプログラムを呼び出す主プログラムの抜粋を示し、主プログラムのパネルの状態がサブプログラム呼び出し前に保存され、その後、復元される場合を示しています。サブプログラムは、メイン プログラムで表示される、会社のロゴである 1 つのパネルのみを必要とします。

 working-storage section.
 01 panels-order-list.
     03  pol-count          pic 9(4) comp-x.
     03  pol-id             pic 9(4) comp-x occurs 254.
 01 save-panels-order-list  pic x(510).
 01 company-logo-panel-id   pic 9(4) comp-x.
  ...
 procedure division.
      ...
 call-subprogram section.
      ...
* Before calling the subprogram, get a copy of the current 
* stack of panels.
     move pf-get-panel-stack to ppb-function
     perform make-panels-call
* Now save this copy of the stack.
     move panels-order-list to save-panel-order-list
* Next, remove all of the main program's panels from the
* display, except for the panel showing the company logo.
     move 1 to pol-count
     move company-logo-panel-id to pol-id(1)
     move pf-set-panel-stack to ppb-function
     perform make-panels-call
* The Stack is now empty, except for the company logo, so 
* call the subprogram.
     call "SUBPROG"   
* On return from the subprogram, restore the program's 
* panels to their state prior to the subprogram call.
     move pf-set-panel-stack to ppb-function
     perform make-panels-call
      ...
 make-panels-call section.
     call "PANELS" using panels-parameter-block
     panels-order-list