At this point, the Frontend (CL_RSR_REQUEST) retrieves the formatteddata from the OLAP processor. The module is accessed more than once for a list, if thecharacteristics have been drilled down in both the rows and thecolumns. In this case, the keys and totals are retrieved from the rowsfirst and then from the columns, which then span a structured matrix.Then the numbers for these cells are read in one or more calls. Thedata is transferred to the tables TA_SETXX> andTH_DAT_N> in a normalized state.Importing
- TS_AXES : Drilldown characteristics and their sequence. NOSUMS (
RRX1_C_NOSUMS>) controls whether totals arerequired, SID_INDEX or SID_INDEXH specifies which component is used inSETXX.
- TX_SORTING: How are the characteristics sorted? Usually, each
characteristic is sorted separately. If totals have been suppressed,several characteristics can be sorted at the same time (by value, forexample). In hierarchy lists, the individual node types can be sortedin different ways (not yet active). TYPE TX.BRAIN-TYPECONST RRX1_C_S_TYP ) describes how the characteristics aresorted.
- SX_REQ_KIDS: Which structure elements are required? In a KID, you can
see in the flag USER_DEFINED, whether special scaling and the number ofdecimal places have been set here. LAGGR ( RZD1_C_LAGGR>) and PLEVEL ( RRX1_C_PLEVEL>) correspond to the functions'Calculate Results...' and 'Calculate Results As...'. PLCHANM, NSUBRand AXIS give details for this.
- TX_COND: Which conditions are used? For technical reasons, this
information has already been transferred in RRK_LIST_NOTIFY and storedtemporarily in -LIST-COND. Check whether the information in these four tables corresponds to thesettings in the query or the context menu. Only the controlstransferred here are relevant for the OLAP processor.Process After the initializations, the required aggregates are generated fromthe bottom up in the form AGGR_SPID and registered in .These aggregates are then filled from the top down in theSETXX-derivative <(><<)>G_T_SET>. This ensures that all formulas arecalculated 'After Aggregation'. Functions such as exceptionaggregation, internal business volume, the filling of non-cumulativegaps, and normalization are also completed in this step. Conditionscan be evaluated here only in the simplest cases. Afterwards, the grouplevel logic is created using suitable sorting and the remainingconditions are applied. The flag WITH_AGGREGATES controls whether only the lowest level (nototals) is required. Sorting and conditions checks can be deactivatedusing ONLY_VALUES (for example, with ODBO). Further details:
- WORKCELL_SET: The REQ_KIDs are accumulated and filled in the
WORKCELL. This includes, for example, any trivial conditions to beevaluated.
- SELPN_FUELLEN: The SELPN is the central control table for the
aggregation and filling process. First of all, all hierarchicalaggregates are entered (AGGRID) but then annulled again where possiblein the form DEL_SUM. Sorting and condition requests are analyzed andnoted in SELPN-SORTID or CONDID. Aggregates are calculated in the formAGGR_SPID and registered in SELPN-SPID.
- SETXX_FUELLEN: This is where an aggregate is moved into the
/ DAT_N, starting with the overall result. (This is one ofthe core OLAP processor routines.)
- The sort sequence for this level is then written to SET-SETK-SORTF.
TLEVEL, TLSHIFT and DSTATE are also maintained for characteristics withhierarchies.
- SORT_END_TRUE: The hierarchical sorting of <(><<)>
G_T_SET> takes place here using the field SET-SORTX. There are additional tasks to be fulfilled when you expand a hierarchynode.
|