次の例は、アプリケーションのパネルの状態を、パネルを変更する前に保存し、その後、元の状態に復元するために、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
説明:
POL-ID で指定されていないパネルは使用不能になり、POL-ID で指定されているパネルは使用可能になり表示されます。