PUSHコマンドは、ディメンション(NAMEディメンションを含む)の現行のステータス、値セットのステータス、オプションの値または単一セル変数の値を保存するコマンドです。これらの保存値およびステータスは、POP文によって後でリストアできます。
一般にPUSHおよびPOPは、プログラムの実行時にのみ適用されるオプションおよびディメンション・ステータスを変更するときに、プログラム内で使用されます。その後、オプションおよびステータスはプログラムの実行前と同じになります。
使用上の注意
ディメンションのプッシュされたステータスでのMAINTAIN文の効果
ディメンションを指定してMAINTAIN文を使用すると、ディメンションのプッシュされたステータス・リストが消去されます。たとえば、毎回異なる制限値を使用してディメンションmonth
を数回プッシュしたとします。MAINTAIN文を使用してmonth
ディメンションのメンテナンス・アクティビティを実行すると、month
のステータスはALL
(デフォルト)にリセットされ、monthディメンションをポップしても効果がなくなります。
例
例10-84 値の保存とリストア
次のプログラムは、PUSHおよびPOPを使用して、特定の製品、地区および月に関して小数桁のない売上高を表示し、その後、ステータスの設定およびDECIMALSの値をプログラム実行前の状態にリストアします。
DEFINE report1 PROGRAM PROGRAM TRAP ON cleanup PUSH DECIMALS product district month DECIMALS = 0 LIMIT product TO 'Sportswear' 'Footwear' LIMIT district TO 'Atlanta' 'Dallas' LIMIT month TO 'Jan96' TO 'Jun96' REPORT sales cleanup: POP DECIMALS product district month END