AX Views
This section describes AX Views (for Maconomy 2.6.2 and onwards).
Overview
From Maconomy 2.6.2, BPM implements a new method of handling access control based on session context called AX Views. Before running data queries, Maconomy BPM sets the current username (the user running the query) in a session context, and then looks up access to records according to that session context instead of creating a cross join. This translates to faster query results and overall better performance.
The access control functionality applies Maconomy systems running Oracle Server and SQL Server.
BO Views vs. AX ViewsPreviously, Maconomy BPM used BO Views to handle access control. This method involves creating a cartesian product between the records in a Maconomy table and the users. In the universes, it restricts to the current user in BusinessObjects and goes through records to which the current user has access. As a result, queries generate a lot of records in memory but dismisses most of them (known as a database throw-away).
The new approach, AX Views, utilizes a context variable which is set to the current user prior to database queries being executed. This method looks up the value of the context variable and uses that to restrict the scope early in the process. Memory consumption is reduced and performance is improved.
Example:
If you run a query through a database containing 1m records, the two methods work as follows:
-
BO Views: Runs the query through all records to which the current user has access
- Displays 10m entries
-
AX Views: Runs query through records that align with context variable
- Displays 1m entries
Therefore, the AX Views approach is not only faster, but it also needs smaller memory and generates a more compact output.
Maconomy Standard Reports
From Maconomy 2.6.2, all BPM universes for BPM Reporting and BPM Analysis are enhanced to use AX Views instead of BO Views.
On Maconomy 2.6.2, BO Views method is still available such that you run reports on custom universes.
Deltek recommends that custom universes also use AX Views.
One key difference with AX Views is that there must be a context variable set in the universe parameter named BEGIN_SQL within the Data Foundation file (.DFX file).
To view the BEGIN_SQL parameter:
- Open the Information Design Tool.
- Select the universe you want to view, for example, AP Aging Reporting Universe.
- Click
APAging.dfx.
- In the Query Script Parameters dialog box, locate the
BEGIN_SQL parameter.
This parameter must have a value, for example, set_value @variable('BOUSER'); where "@Variable('BOUSER')" refers to the user (for example, 'Administrator').
- Click OK to apply any changes.
Running Queries on AX Views
Whenever a query is performed through the BusinessObjects universe, the statement in the BEGIN_SQL is executed first, thereby setting the current user for the AX Views.
For example, you can execute a statement for the user "Administrator" as follows:
- Oracle Server
BEGIN AX_PKG.SET_VALUE('Administrator'); END;
- SQL Server
_VALUE 'Administrator';
The statement sets a context variable to the current user. This applies only for the active session and has to be done again when starting a new session.