SAP ABAP Class CL_FMHIE_TREE_DATA (Handling of hierarchical data in memory)
Hierarchy
☛
EA-PS (Software Component) SAP Enterprise Extension Public Services
⤷
PSM-FM-BCS-BU (Application Component) Budgeting
⤷
FMBMA_E (Package) Budgeting Rules, BCS
⤷
⤷
Properties
| Class | CL_FMHIE_TREE_DATA | |
| Short Description | Handling of hierarchical data in memory | |
| Super Class | ||
| Instantiability of a Class | 2 | Public |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | FMBMA_E | Budgeting Rules, BCS |
| Created | 20050307 | SAP |
| Last change | 20050428 | SAP |
| Shared Memory-enabled | ||
| Fixed point arithmetic | ||
| Unicode checks active |
Forward declarations
Class CL_FMHIE_TREE_DATA has no forward declaration.
Interfaces
Class CL_FMHIE_TREE_DATA has no interface implemented.
Friends
Class CL_FMHIE_TREE_DATA has no friend class.
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Constant | Public | Type reference (TYPE) | I | 2 | 20050307 | |||
| 2 | Constant | Public | Type reference (TYPE) | I | 1 | 20050307 | |||
| 3 | Constant | Public | Type reference (TYPE) | BOOLE_D | '' | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050310 | ||
| 4 | Constant | Public | Type reference (TYPE) | BOOLE_D | 'X' | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050310 | ||
| 5 | Instance attribute | Private | Object reference (TYPE REF TO) | DATA | direct reference to the buffer | 20050309 | |||
| 6 | Instance attribute | Protected | Object reference (TYPE REF TO) | CL_BUBAS_MASS_HASHED_BUFFER | Hashed buffer with direct reference methods | 20050307 |
Methods
| # | Method | Level | Visibility | Method type | Description | Created on |
|---|---|---|---|---|---|---|
| 1 | Instance method | Public | Method | no check or upd of hierarchical relationship | 20050309 | |
| 2 | Instance method | Public | Method | Check if data are missing (default for the child) | 20050317 | |
| 3 | Instance method | Public | Method | Checks the hierarchy consistency (no loops, pointers) | 20050406 | |
| 4 | Instance method | Public | Method | Compares the data with another instance | 20050330 | |
| 5 | Instance method | Public | Constructor | 20050307 | ||
| 6 | Instance method | Public | Method | Copies the contents of the instance to c_ref_target | 20050405 | |
| 7 | Instance method | Public | Method | Gets number of nodes | 20050318 | |
| 8 | Instance method | Public | Method | Deletes a node (must be a leave node) | 20050309 | |
| 9 | Instance method | Public | Method | delete the whole subtree starting with the entry node | 20050310 | |
| 10 | Instance method | Public | Method | Finds node with given node_objnr | 20050307 | |
| 11 | Instance method | Public | Method | Gets the reference to the table of nodes | 20050309 | |
| 12 | Instance method | Public | Method | Gets the table of nodes | 20050309 | |
| 13 | Instance method | Public | Method | gets path to the top | 20050420 | |
| 14 | Instance method | Public | Method | Gets all nodes in a subtree sorted by preorder trav. | 20050308 | |
| 15 | Instance method | Public | Method | Inserts new node into hierarchy - update of hie.relationship | 20050307 | |
| 16 | Instance method | Public | Method | Inserts new node into hierarchy - update of hie.relationship | 20050310 | |
| 17 | Instance method | Public | Method | delete the whole subtree starting with the entry node | 20050310 | |
| 18 | Instance method | Public | Method | 20050316 |
Events
Class CL_FMHIE_TREE_DATA has no event.
Types
| # | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
|---|---|---|---|---|---|---|---|
| 1 | T_NODES | Public | See coding | 20050307 | t_nodes TYPE HASHED TABLE OF fmhie_s_node WITH
UNIQUE KEY node_objnr
|
Method Signatures
Method APPEND_NODES_FROM_EXT_DATA Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IM_T_NODES | Call by reference | Type reference (TYPE) | FMHIE_T_NODE | Table of hierarchy nodes (of a given hierarchy ID) | 20050309 |
Method APPEND_NODES_FROM_EXT_DATA on class CL_FMHIE_TREE_DATA has no exception.
Method CHECK_DATA_MISSING Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_NODE | Call by reference | Type reference (TYPE) | FMHIE_S_NODE | Object number for FM budgeting and AVC | 20050317 | |||
| 2 | E_FLG_DATA_MISSING | Call by reference | Type reference (TYPE) | BOOLE_D | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050317 | |||
| 3 | E_NODE_RELAT | Call by reference | Type reference (TYPE) | FMHIE_S_NODE | Node of the Hierarchy | 20050317 | |||
| 4 | IM_SUPERIOR | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050317 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20050317 |
Method CHECK_SUBTREE_CONSISTENCY Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_COUNT_SUBTREE | Call by reference | Type reference (TYPE) | SYTABIX | Index of Internal Tables | 20050407 | |||
| 2 | IM_ENTRY_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050406 | |||
| 3 | IM_FLG_ALLOW_MISSING_DATA | Call by reference | Type reference (TYPE) | BOOLE_D | missing data do not cause exception | 20050406 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Missing data (only if not allowed in parameter) | 20050407 | ||
| 2 | The traversal finds more nodes than number of data records | 20050406 | ||
| 3 | The traversal finds fewer nodes than number of data records | 20050406 | ||
| 4 | A pointer (child, parent, ...) points to not existing node | 20050406 |
Method COMPARE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_BOTH_KEY | Call by reference | Object reference (TYPE REF TO) | CL_FMHIE_TREE_DATA | Record that are in both instances | 20050331 | |||
| 2 | C_BOTH_WHOLE_LINE | Call by reference | Object reference (TYPE REF TO) | CL_FMHIE_TREE_DATA | Same records if IM_FLG_SEPARATE_BOTH = on | 20050331 | |||
| 3 | C_DIFFER | Call by reference | Object reference (TYPE REF TO) | CL_FMHIE_TREE_DATA | Records that are in the instance but not in IM_COMPARE_DATA | 20050331 | |||
| 4 | IM_COMPARE_DATA | Call by reference | Object reference (TYPE REF TO) | CL_FMHIE_TREE_DATA | Handling of hierarchical data in memory | 20050330 | |||
| 5 | IM_FLG_COMPARE_WHOLE_NODE | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Get two "both" instances (same line, same key) | 20050330 | ||
| 6 | IM_FLG_GET_BOTH | Call by reference | Type reference (TYPE) | BOOLE_D | Get objects that are present in both | 20050330 | |||
| 7 | IM_FLG_GET_DIFFER | Call by reference | Type reference (TYPE) | BOOLE_D | Get objects from inst. that are not in im_compare data | 20050330 |
Method COMPARE on class CL_FMHIE_TREE_DATA has no exception.
Method CONSTRUCTOR Signature
Method CONSTRUCTOR on class CL_FMHIE_TREE_DATA has no parameter.
Method CONSTRUCTOR on class CL_FMHIE_TREE_DATA has no exception.
Method COPY_ALL Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_REF_TARGET | Call by reference | Object reference (TYPE REF TO) | CL_FMHIE_TREE_DATA | Handling of hierarchical data in memory | 20050405 |
Method COPY_ALL on class CL_FMHIE_TREE_DATA has no exception.
Method COUNT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | R_COUNT | Value transfer | Type reference (TYPE) | SYTABIX | Internal Table, Current Row Index | 20050318 |
Method COUNT on class CL_FMHIE_TREE_DATA has no exception.
Method DELETE_NODE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IM_FLG_CHECK_ONLY | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Returns the exception if deletion not possible | 20050310 | ||
| 2 | IM_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050309 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20050309 | |||
| 2 | 20050309 | |||
| 3 | 20050309 | |||
| 4 | 20050310 |
Method DELETE_SUBTREE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_DELETED_NODES | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Table type for object numbers | 20050310 | |||
| 2 | E_T_MISSING_DATA | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Nodes for that the subordinates are missing | 20050310 | |||
| 3 | IM_ENTRY_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050310 | |||
| 4 | IM_FLG_CHECK_ONLY | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050310 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20050310 | |||
| 2 | 20050310 | |||
| 3 | 20050310 |
Method FIND_NODE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IM_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050309 | |||
| 2 | R_NODE_DATA | Value transfer | Type reference (TYPE) | FMHIE_S_NODE | Node of the Hierarchy | 20050307 |
Method FIND_NODE on class CL_FMHIE_TREE_DATA has no exception.
Method GET_DIRECT_REFERENCE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | R_REF_TREE | Value transfer | Object reference (TYPE REF TO) | DATA | 20050309 |
Method GET_DIRECT_REFERENCE on class CL_FMHIE_TREE_DATA has no exception.
Method GET_NODES Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_NODES | Call by reference | Type reference (TYPE) | FMHIE_T_NODE | Table of hierarchy nodes (of a given hierarchy ID) | 20050309 |
Method GET_NODES on class CL_FMHIE_TREE_DATA has no exception.
Method GET_PATH Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_PATH | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR_LEVEL | Table of nodes with hierarchy level (primary for path) | 20050420 | |||
| 2 | IM_ENTRY_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050420 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | data to the top are missing | 20050420 |
Method GET_SUBTREE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_MISSING_DATA | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Table type for object numbers | 20050310 | |||
| 2 | E_T_SUBTREE | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Table type for object numbers | 20050309 | |||
| 3 | IM_ENTRY_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050309 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | 20050309 | |||
| 2 | 20050309 |
Method INSERT_NODE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IM_FLG_CHECK_ONLY | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050310 | ||
| 2 | IM_INS_MODE | Call by reference | Type reference (TYPE) | I | Son or sibling? | 20050307 | |||
| 3 | IM_NEW_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | New node | 20050309 | |||
| 4 | IM_RELAT_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Existing node that will be in relation with the new one | 20050309 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Data has to be read from DB before the insertion | 20050307 | ||
| 2 | Node already exists in the TREE_DATA instance | 20050307 | ||
| 3 | The original node does not exist in the instance | 20050307 |
Method INSERT_NODES Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_EXISTING_NODES | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Relevant when exception node_exists | 20050310 | |||
| 2 | IM_FLG_CHECK_ONLY | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050318 | ||
| 3 | IM_INS_MODE | Call by reference | Type reference (TYPE) | I | Son or sibling? | 20050310 | |||
| 4 | IM_RELAT_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Existing node that will be in relation with the new one | 20050310 | |||
| 5 | IM_T_NEW_NODES | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | New node | 20050310 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Data has to be read from DB before the insertion | 20050310 | ||
| 2 | Node already exists in the TREE_DATA instance | 20050310 | ||
| 3 | The original node does not exist in the instance | 20050310 |
Method MOVE_SUBTREE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_T_MISSING_DATA | Call by reference | Type reference (TYPE) | FMHIE_T_NODE_OBJNR | Nodes for that the subordinates are missing | 20050310 | |||
| 2 | IM_ENTRY_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Object number for FM budgeting and AVC | 20050310 | |||
| 3 | IM_FLG_CHECK_ONLY | Call by reference | Type reference (TYPE) | BOOLE_D | OFF | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050318 | ||
| 4 | IM_INS_MODE | Call by reference | Type reference (TYPE) | I | Move as child or sibling to the relat node | 20050310 | |||
| 5 | IM_RELAT_NODE_ID | Call by reference | Type reference (TYPE) | BUBAS_OBJNR | Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') | 20050310 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Part of the sub tree has to be read from DB | 20050310 | ||
| 2 | Entry node not found | 20050310 | ||
| 3 | Relat node (target node) not found | 20050310 | ||
| 4 | Superior data for target missing | 20050310 |
Method REFRESH Signature
Method REFRESH on class CL_FMHIE_TREE_DATA has no parameter.
Method REFRESH on class CL_FMHIE_TREE_DATA has no exception.
History
| Last changed by/on | SAP | 20050428 |
| SAP Release Created in | 600 |