Understand How Autoperf Works

This section describes how Autoperf uses stored procedures to perform scheduled performance calculations. Autoperf uses three stored procedures:

  • APFEAGLE_PACE_EXP_SP

  • UPDATE_PERF_FEED_STATUS

  • RUNAUTOPERFFORENTITY

At a high level, the APFEAGLE_PACE_EXP_SP procedure identifies the positions that require performance computation, or in the case of updates, recomputation. The UPDATE_PERF_FEED_STATUS procedure calls the RUNAUTOPERFFORENTITY procedure which checks the PERF_FEED_STATUS table to see if all of the data required has been loaded for that fund and date combination. If it has, the RUNAUTOPERFFORENTITY procedure submits the Master Profile with overrides for Entity, Date, Report Rule, Frequency, Commit Option, and Field Rule, if applicable.

The stored procedures calculate Daily and/or Monthly performance and store the calculated performance data in the PERFORM database. Then, if required, they perform Monthly using Daily Returns calculations that rely on Daily performance data stored in the PERFORM database.

APFEAGLE_PACE_EXP_SP Runs

  1. This stored procedure looks in the POSITION table for any positions with PERFORM_FLAG set to a value of Y to identify the holdings for which you need to compute or re-compute performance.

  2. It expands the change dates to include affected performance calculations.
    For example, if January 10 changes, it needs to rerun performance for January 10 and January 11. So it expands the January 10 change date to January 10 and January 11.

  3. It calls the UPDATE_PERF_FEED_STATUS stored procedure for Type of Data Feed = "POSITION" for each entity and effective date without setting the Hierarchy (Hierarchy=-1).

  4. Updates the PERFORM_FLAG field to a value of C for all records found.

UPDATE_PERF_FEED_STATUS with Type of Data Feed = "POSITION" Runs

  1. This stored procedure inserts a record into the PERF_FEED_STATUS table for entity and effective date.

  2. It updates the PERF_FEED_STATUS record with Feed Mask = 2 (positions available).

  3. It calls the RUNAUTOPERFFORENTITY stored procedure for the entity and effective date without setting the Hierarchy (Hierarchy=-1).

RUNAUTOPERFFORENTITY Runs

  1. This stored procedure checks which Autoperf Profiles are set up for the entity.

  2. It submits a Performance Calculation for any Autoperf Profile with a Frequency option of Daily or Monthly and that also has the Position check box selected.
    NOTE:  It does not run Profiles with a Frequency option of Monthly using Daily because the Hierarchy is not set (Hierarchy=-1).

  3. The Performance Calculation report calculates and commits Daily or Monthly returns.

  4. Upon committing returns, the report calls the UPDATE_PERF_FEED_STATUS stored procedure with Type of Data Feed = "PERFORMANCE" and sets the Hierarchy (that is, the report rule ID).


UPDATE_PERF_FEED_STATUS with Type of Data Feed = "PERFORMANCE" Runs

  1. The stored procedure updates records in the PERF_FEED_STATUS table for entity and effective date, setting the Feed Mask = 6 (positions and performance available).

  2. It calls RUNAUTOPERFFORENTITY for entity and effective date and sets the Hierarchy (Hierarchy not -1).

RUNAUTOPERFFORENTITY Runs with Hierarchy Set

  1. The stored procedure checks which Autoperf Profiles are set up for the entity.

  2. It submits a Performance Calculation for any Autoperf Profile with a Frequency option of Daily, Monthly, or Monthly using Daily and that also has both the Position check box and Performance check box selected.
    NOTE:  It runs Monthly using Daily because the Hierarchy is set (Hierarchy not -1). Â