SAP ABAP Class CL_RSDRS_FORMULA_TREE (Tree with key figure formulas)
Hierarchy
☛
SAP_BW (Software Component) SAP Business Warehouse
⤷
BW-BEX-OT (Application Component) OLAP Technology
⤷
RSDRS (Package) Data Manager SQL Interface

⤷

⤷

Properties
Class | CL_RSDRS_FORMULA_TREE | |
Short Description | Tree with key figure formulas | |
Super Class | ||
Instantiability of a Class | 2 | Public |
Final |
General Data
Message Class | ||
Program status | ||
Category | 0 | |
Package | RSDRS | Data Manager SQL Interface |
Created | 20031204 | SAP |
Last change | 20130531 | SAP |
Shared Memory-enabled | ||
Fixed point arithmetic | ||
Unicode checks active |
Forward declarations
# | Type group / Object type | Type | Type Description |
---|---|---|---|
1 | ![]() |
Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
2 | ![]() |
Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
Interfaces
Class CL_RSDRS_FORMULA_TREE has no interface implemented.
Friends
Class CL_RSDRS_FORMULA_TREE has no friend class.
Attributes
# | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
Instance attribute | Public | Type reference (TYPE) | I | 0 | last element inserted | 20031204 | |
2 | ![]() |
Constant | Public | Type reference (TYPE) | STRING | 'FLD' | Field identifier | 20031208 | |
3 | ![]() |
Constant | Public | Type reference (TYPE) | I | 8 | Total length of fieldname References | 20031210 | |
4 | ![]() |
Instance attribute | Public | Type reference (TYPE) | TN_TH_FORMULA | binary tree with formula | 20031204 | ||
5 | ![]() |
Instance attribute | Protected | Type reference (TYPE) | I | 1 | number of first unused element | 20031204 | |
6 | ![]() |
Instance attribute | Private | Type reference (TYPE) | I | 1 | first unused field for formula output | 20031208 | |
7 | ![]() |
Instance attribute | Private | Type reference (TYPE) | STRING | Formula String | 20031208 | ||
8 | ![]() |
Instance attribute | Private | Type reference (TYPE) | RS_BOOL | Make parenthesises around all operators ? | 20031209 | ||
9 | ![]() |
Instance attribute | Private | Type reference (TYPE) | RSDRS_T_FORM_FLD | Field Table for Formula | 20031208 |
Methods
# | Method | Level | Visibility | Method type | Description | Created on |
---|---|---|---|---|---|---|
1 | ![]() |
Instance method | Public | Method | add a aggregation (SUM / MIN / MAX ) | 20031208 |
2 | ![]() |
Instance method | Public | Method | add a new field to the tree below the actual element | 20031204 |
3 | ![]() |
Instance method | Public | Method | add a new operator above the given element | 20031204 |
4 | ![]() |
Instance method | Private | Method | add new op to the right of the formula considering levels .. | 20031208 |
5 | ![]() |
Instance method | Public | Method | Build a formula string plus field tablefrom the tree | 20031210 |
6 | ![]() |
Static method | Public | Method | Build a tree object from formula string with attached fields | 20031210 |
7 | ![]() |
Instance method | Public | Method | Exchange the aggregation of actual element | 20031208 |
8 | ![]() |
Instance method | Public | Method | Exchange the field of actual element | 20031204 |
9 | ![]() |
Instance method | Public | Method | Exchange the operator of actual element (does not move it) | 20031204 |
10 | ![]() |
Static method | Private | Method | determines the precedence of a booloean operator | 20031204 |
11 | ![]() |
Instance method | Public | Method | drops the complete branch starting with the actual element | 20031204 |
12 | ![]() |
Instance method | Public | Method | drops the actual element. It must only contain one child !! | 20031204 |
13 | ![]() |
Static method | Public | Method | Returns correct string for field descriptor for add_formula | 20031208 |
14 | ![]() |
Instance method | Private | Method | Build a formula string plus field tablefrom the tree | 20031210 |
15 | ![]() |
Instance method | Public | Method | Returns the root element | 20031204 |
Events
Class CL_RSDRS_FORMULA_TREE has no event.
Types
# | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
---|---|---|---|---|---|---|---|
1 | TN_S_FORMULA | Public | See coding | Element of formula tree | 20031210 | BEGIN OF tn_s_formula,
key_id TYPE i,
parent TYPE i,
left TYPE i,
right TYPE i,
operator TYPE rsdrs_operator,
aggr TYPE rsaggrgen,
field TYPE rsdrs_s_form_fld,
level TYPE i, " internal use only
END OF tn_s_formula
|
|
2 | TN_TH_FORMULA | Public | See coding | Formula Tree type | 20031210 | tn_th_formula TYPE HASHED TABLE OF tn_s_formula
WITH UNIQUE KEY key_id INITIAL SIZE 0
|
Method Signatures
Method ADD_AGGR Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031208 | ||
2 | ![]() |
I_AGGR | Call by reference | Type reference (TYPE) | RSAGGRGEN | Aggregation | 20031208 | ||
3 | ![]() |
I_LEFT | Value transfer | Type reference (TYPE) | RS_BOOL | RS_C_FALSE | Insert as left child (Only for emergency cases !!!) | 20031208 | |
4 | ![]() |
I_LEVEL | Call by reference | Type reference (TYPE) | I | Level of new aggregation | 20031208 | ||
5 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031208 |
Method ADD_AGGR on class CL_RSDRS_FORMULA_TREE has no exception.
Method ADD_FIELD Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031204 | ||
2 | ![]() |
I_LEFT | Value transfer | Type reference (TYPE) | RS_BOOL | RS_C_FALSE | Insert as left child (Only for emergency cases !!!) | 20031204 | |
3 | ![]() |
I_LEVEL | Call by reference | Type reference (TYPE) | I | Level of new field | 20031208 | ||
4 | ![]() |
I_S_FIELD | Call by reference | Type reference (TYPE) | RSDRS_S_FORM_FLD | Formula field | 20031204 | ||
5 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031204 |
Method ADD_FIELD on class CL_RSDRS_FORMULA_TREE has no exception.
Method ADD_OPERATOR Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031204 | ||
2 | ![]() |
I_LEVEL | Call by reference | Type reference (TYPE) | I | Level of operator | 20031208 | ||
3 | ![]() |
I_OPERATOR | Call by reference | Type reference (TYPE) | RSDRS_OPERATOR | operator (+,-,*,/) | 20031204 | ||
4 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031204 |
Method ADD_OPERATOR on class CL_RSDRS_FORMULA_TREE has no exception.
Method ADD_OPERATOR_LEVEL Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_LEVEL | Call by reference | Type reference (TYPE) | I | Level of operator | 20031208 | ||
2 | ![]() |
I_OPERATOR | Call by reference | Type reference (TYPE) | RSDRS_OPERATOR | operator (+,-,*,/) | 20031208 | ||
3 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031208 |
Method ADD_OPERATOR_LEVEL on class CL_RSDRS_FORMULA_TREE has no exception.
Method BUILD_FORMULA Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
E_FORMULA | Call by reference | Type reference (TYPE) | STRING | Formula String | 20031210 | ||
2 | ![]() |
E_T_FIELD | Call by reference | Type reference (TYPE) | RSDRS_T_FORM_FLD | Table with field information | 20031210 | ||
3 | ![]() |
I_PARENTHESIS | Value transfer | Type reference (TYPE) | RS_BOOL | RS_C_FALSE | make parentheses around all ops | 20031210 |
Method BUILD_FORMULA on class CL_RSDRS_FORMULA_TREE has no exception.
Method BUILD_TREE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_FORMULA | Call by reference | Type reference (TYPE) | STRING | Formula | 20031210 | ||
2 | ![]() |
I_T_FIELDS | Call by reference | Type reference (TYPE) | RSDRS_T_FORM_FLD | Table with fields used in Formula | 20031210 | ||
3 | ![]() |
R_R_FORMULA | Value transfer | Object reference (TYPE REF TO) | CL_RSDRS_FORMULA_TREE | Tree with key figure formulas | 20031210 |
Method BUILD_TREE on class CL_RSDRS_FORMULA_TREE has no exception.
Method CHANGE_AGGR Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031208 | ||
2 | ![]() |
I_AGGR | Call by reference | Type reference (TYPE) | RSAGGRGEN | New type of Aggregation | 20031208 | ||
3 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031208 |
Method CHANGE_AGGR on class CL_RSDRS_FORMULA_TREE has no exception.
Method CHANGE_FIELD Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031204 | ||
2 | ![]() |
I_S_FIELD | Call by reference | Type reference (TYPE) | RSDRS_S_FORM_FLD | Formula field | 20031204 | ||
3 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031204 |
Method CHANGE_FIELD on class CL_RSDRS_FORMULA_TREE has no exception.
Method CHANGE_OPERATOR Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element where to insert the boolop at | 20031204 | ||
2 | ![]() |
I_OPERATOR | Call by reference | Type reference (TYPE) | RSDRS_OPERATOR | operator (+,-,*,/) | 20031204 | ||
3 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Inserted Element | 20031204 |
Method CHANGE_OPERATOR on class CL_RSDRS_FORMULA_TREE has no exception.
Method DET_OPERATOR_PRECEDENCE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
E_PRECEDENCE | Value transfer | Type reference (TYPE) | I | precedence of operator | 20031204 | ||
2 | ![]() |
I_OPERATOR | Call by reference | Type reference (TYPE) | RSDRS_OPERATOR | operator | 20031204 |
Method DET_OPERATOR_PRECEDENCE on class CL_RSDRS_FORMULA_TREE has no exception.
Method DROP_BRANCH Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element to be dropped | 20031204 | ||
2 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Parent of dropped branch | 20031204 |
Method DROP_BRANCH on class CL_RSDRS_FORMULA_TREE has no exception.
Method DROP_NODE Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Element to be dropped | 20031204 | ||
2 | ![]() |
R_ACT_ELEMENT | Value transfer | Type reference (TYPE) | I | Parent of dropped element | 20031204 |
Method DROP_NODE on class CL_RSDRS_FORMULA_TREE has no exception.
Method GET_FIELD_ID Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_INDEX | Call by reference | Type reference (TYPE) | I | Number of field | 20031208 | ||
2 | ![]() |
R_FIELD | Value transfer | Type reference (TYPE) | STRING | Field descriptor | 20031208 |
Method GET_FIELD_ID on class CL_RSDRS_FORMULA_TREE has no exception.
Method GET_FORMULA Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
I_ACT_ELEMENT | Call by reference | Type reference (TYPE) | I | Actual Element | 20031210 | ||
2 | ![]() |
I_PARENT_OPERATOR | Call by reference | Type reference (TYPE) | RSDRS_OPERATOR | Operator of parent element | 20031210 |
Method GET_FORMULA on class CL_RSDRS_FORMULA_TREE has no exception.
Method GET_ROOT Signature
# | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
---|---|---|---|---|---|---|---|---|---|
1 | ![]() |
R_ROOT_ELEMENT | Value transfer | Type reference (TYPE) | I | Root Element | 20031204 |
Method GET_ROOT on class CL_RSDRS_FORMULA_TREE has no exception.
History
Last changed by/on | SAP | 20130531 |
SAP Release Created in | 400 |