PERMITRESETコマンドは、権限条件の値を再評価するコマンドです。権限条件は、オブジェクトに関連付けられたPERMITコマンドによって使用される基準を指定する、1つ以上のブール式で構成されます。
権限条件は、ディメンション化される場合、権限のターゲットになるディメンション化されたオブジェクトのPERMITの値を示します。単一セルの権限条件では、特定のユーザーがオブジェクトにアクセスできるかどうかなどのブール基準を示すことができます。
あるオブジェクトについて既存のPERMITコマンドを維持するが、PERMITコマンドと関連付けられている権限条件を再評価する場合、PERMITRESET文を発行します。そのオブジェクトの権限は、オブジェクトをOLAP DML文で次回使用するときに、権限条件の新しい値が基準になります。
パラメータ
権限条件を再評価するオブジェクトの名前を指定します。オブジェクト名を指定しないと、すべてのオブジェクトの権限条件が再評価されます。
権限条件の再評価を、PERMIT
READ
コマンドのみについて、または指定したオブジェクトのPERMIT
READ
文について実行します。
権限条件の再評価を、PERMIT
WRITE
コマンドのみについて、または指定したオブジェクトのPERMIT
WRITE
文について実行します。
例
例10-78 権限のリセット
次の例では、ユーザー定義のブール・ファンクションusercheck
によって変数thisuser
の現行値が確認され、その値が100
より大きい場合にのみYES
が返されます。変数uservar
へのアクセスは、thisuser
が100
より大きい場合にのみ許可されます。ただし、uservar
の権限をリセットせずにthisuser
の値を100
以下に変更した場合でも、アクセスが許可されます。
次の文
DESCRIBE uservar
によって、次の出力が生成されます。
DEFINE USERVAR VARIABLE INTEGER PERMIT READ WHEN usercheck(thisuser)
次の文
SHOW uservar
によって、次の出力が生成されます。
5
次の文
DESCRIBE usercheck
によって、次の出力が生成されます。
DEFINE USERCHECK PROGRAM BOOLEAN PROGRAM ARG thisuser INT TRAP ON errorexit NOPRINT IF thisuser GT 100 THEN RETURN YES ELSE RETURN NO errorexit: RETURN NO END
次の文
DESCRIBE thisuser
によって、次の出力が生成されます。
DEFINE THISUSER VARIABLE INTEGER
次の文
SHOW thisuser
によって、次の出力が生成されます。
101
次の文
thisuser = 100 SHOW uservar
によって、次の出力が生成されます。
5
次の文
PERMITRESET luservar READ SHOW uservar
によって、次のエラーが生成されます。
ERROR: You do not have permission to read this value of USERVAR