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 Views

Previously, 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.

Note: This feature is not backported to earlier versions of Maconomy.

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:

  1. Open the Information Design Tool.
  2. Select the universe you want to view, for example, AP Aging Reporting Universe.
  3. Click APAging.dfx.

  4. 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').

  5. Click OK to apply any changes.
Note: For Maconomy 2.6.2 and later versions, if you create a custom report on an existing standard universe or a custom universe, the Begin_SQL parameter is empty by default. You must enter a value before running queries for the custom report.

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.

Note: Previously with BO Views when debugging SQL generated by reports, you could replace "@Variable('BOUSER')" with the name of the user, for example, Administrator. This is no longer needed as BO View WHERE clauses are no longer present. Instead, you need to execute the statement prior to running select statements.