Oracle® OLAP DML Reference 11g Release 2 (11.2) E17122-08 |
|
|
PDF · Mobi · ePub |
The PERMITERROR option controls if an error is signaled on attempted access of a variable for which read or write permission is denied by a PERMIT statement.
When you set PERMITERROR to NO
, an error condition is not created on attempted access of a variable for which read or write permission is denied with a PERMIT statement. Values for which you do not have read permission are displayed as NA
s. When you try to change a value for which you do not have write permission, the request is ignored.
(Default) When PERMITERROR is YES
, an error is signaled upon attempted access of a variable for which read or write permission is denied with a PERMIT statement. The error, which can be trapped, terminates the Oracle OLAP operation that initiated the illegal access.
PERMITERROR With Non-Data Objects
The setting of PERMITERROR is ignored for violations of permission for non-data objects such as programs, models, and valuesets. Attempted access of variables and relations with permission, whether or not they have dimensionality, is always affected by the setting of PERMITERROR.
The setting of PERMITERROR is ignored for violations of maintain and permit permission. Attempted violations of permission to maintain dimensions and to change permission are always treated as errors. Attempted violations of read or write permission for dimensions are, similarly, always treated as errors.
Obtaining Data Without Full Permission
When PERMITERROR is YES
and you attempt to fetch a dimensioned variable that contains values that do not have read permission, an error condition is created when the first of those values is encountered. You can avoid creating an error condition by limiting the dimensions in advance so that only permissible values are in status, or by setting PERMITERROR to NO
, before doing the report.
Example 5-90 Report Without Full Permission
In the following example, the read permission on the price
variable prevents you from seeing price data for any values of product
other than Tents
. However, when you set PERMITERROR to NO
, you can still do a report of the price
variable for Dec. 1996 without creating an error condition.
PERMITERROR = no DESCRIBE price
The output of this statement is
DEFINE PRICE VARIABLE DECIMAL <MONTH PRODUCT> LD Wholesale Unit Selling Price PERMIT READ WHEN product eq 'Tents'
The statements
LIMIT month TO 'Dec96' REPORT price
produce the following output.
----PRICE---- ----MONTH---- PRODUCT DEC96 ---------------- ------------- Tents 165.64 Canoes NA Racquets NA Sportswear NA Footwear NA
The statements
PERMITERROR = yes REPORT price
produce the following error,
ERROR: You do not have permission to read this value of PRICE
and the following output.
---PRICE--- ---MONTH--- PRODUCT DEC96 --------------- ----------- Tents 165.64