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 INS_MODE_SIBLING Constant Public Type reference (TYPE) I 2 20050307
2 INS_MODE_SON Constant Public Type reference (TYPE) I 1 20050307
3 OFF Constant Public Type reference (TYPE) BOOLE_D '' Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050310
4 ON Constant Public Type reference (TYPE) BOOLE_D 'X' Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050310
5 REF_TREE Instance attribute Private Object reference (TYPE REF TO) DATA direct reference to the buffer 20050309
6 TREE_DATA 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 APPEND_NODES_FROM_EXT_DATA Instance method Public Method no check or upd of hierarchical relationship 20050309
2 CHECK_DATA_MISSING Instance method Public Method Check if data are missing (default for the child) 20050317
3 CHECK_SUBTREE_CONSISTENCY Instance method Public Method Checks the hierarchy consistency (no loops, pointers) 20050406
4 COMPARE Instance method Public Method Compares the data with another instance 20050330
5 CONSTRUCTOR Instance method Public Constructor 20050307
6 COPY_ALL Instance method Public Method Copies the contents of the instance to c_ref_target 20050405
7 COUNT Instance method Public Method Gets number of nodes 20050318
8 DELETE_NODE Instance method Public Method Deletes a node (must be a leave node) 20050309
9 DELETE_SUBTREE Instance method Public Method delete the whole subtree starting with the entry node 20050310
10 FIND_NODE Instance method Public Method Finds node with given node_objnr 20050307
11 GET_DIRECT_REFERENCE Instance method Public Method Gets the reference to the table of nodes 20050309
12 GET_NODES Instance method Public Method Gets the table of nodes 20050309
13 GET_PATH Instance method Public Method gets path to the top 20050420
14 GET_SUBTREE Instance method Public Method Gets all nodes in a subtree sorted by preorder trav. 20050308
15 INSERT_NODE Instance method Public Method Inserts new node into hierarchy - update of hie.relationship 20050307
16 INSERT_NODES Instance method Public Method Inserts new node into hierarchy - update of hie.relationship 20050310
17 MOVE_SUBTREE Instance method Public Method delete the whole subtree starting with the entry node 20050310
18 REFRESH 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 Importing 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 Changing C_NODE Call by reference Type reference (TYPE) FMHIE_S_NODE Object number for FM budgeting and AVC 20050317
2 Exporting E_FLG_DATA_MISSING Call by reference Type reference (TYPE) BOOLE_D Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050317
3 Exporting E_NODE_RELAT Call by reference Type reference (TYPE) FMHIE_S_NODE Node of the Hierarchy 20050317
4 Importing 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 NODE_NOT_FOUND 20050317

Method CHECK_SUBTREE_CONSISTENCY Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting E_COUNT_SUBTREE Call by reference Type reference (TYPE) SYTABIX Index of Internal Tables 20050407
2 Importing IM_ENTRY_NODE_ID Call by reference Type reference (TYPE) BUBAS_OBJNR Object number for FM budgeting and AVC 20050406
3 Importing 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 DATA_MISSING Missing data (only if not allowed in parameter) 20050407
2 LOOP_FOUND The traversal finds more nodes than number of data records 20050406
3 MISSING_NODES The traversal finds fewer nodes than number of data records 20050406
4 WRONG_POINTER 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 Changing C_BOTH_KEY Call by reference Object reference (TYPE REF TO) CL_FMHIE_TREE_DATA Record that are in both instances 20050331
2 Changing 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 Changing 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 Importing IM_COMPARE_DATA Call by reference Object reference (TYPE REF TO) CL_FMHIE_TREE_DATA Handling of hierarchical data in memory 20050330
5 Importing IM_FLG_COMPARE_WHOLE_NODE Call by reference Type reference (TYPE) BOOLE_D OFF Get two "both" instances (same line, same key) 20050330
6 Importing IM_FLG_GET_BOTH Call by reference Type reference (TYPE) BOOLE_D Get objects that are present in both 20050330
7 Importing 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 Changing 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 Returning 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 Importing IM_FLG_CHECK_ONLY Call by reference Type reference (TYPE) BOOLE_D OFF Returns the exception if deletion not possible 20050310
2 Importing 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 DATA_MISSING 20050309
2 NODE_NOT_FOUND 20050309
3 NODE_NOT_LEAVE 20050309
4 SUPERIOR_DATA_MISSING 20050310

Method DELETE_SUBTREE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting E_T_DELETED_NODES Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Table type for object numbers 20050310
2 Exporting E_T_MISSING_DATA Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Nodes for that the subordinates are missing 20050310
3 Importing IM_ENTRY_NODE_ID Call by reference Type reference (TYPE) BUBAS_OBJNR Object number for FM budgeting and AVC 20050310
4 Importing 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 DATA_MISSING 20050310
2 NODE_NOT_FOUND 20050310
3 SUPERIOR_DATA_MISSING 20050310

Method FIND_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IM_NODE_ID Call by reference Type reference (TYPE) BUBAS_OBJNR Object number for FM budgeting and AVC 20050309
2 Returning 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 Returning 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 Exporting 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 Exporting 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 Importing 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_MISSING 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 Exporting E_T_MISSING_DATA Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Table type for object numbers 20050310
2 Exporting E_T_SUBTREE Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Table type for object numbers 20050309
3 Importing 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 DATA_MISSING 20050309
2 NODE_NOT_FOUND 20050309

Method INSERT_NODE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IM_FLG_CHECK_ONLY Call by reference Type reference (TYPE) BOOLE_D OFF Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050310
2 Importing IM_INS_MODE Call by reference Type reference (TYPE) I Son or sibling? 20050307
3 Importing IM_NEW_NODE_ID Call by reference Type reference (TYPE) BUBAS_OBJNR New node 20050309
4 Importing 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_MISSING Data has to be read from DB before the insertion 20050307
2 NODE_EXISTS Node already exists in the TREE_DATA instance 20050307
3 RELAT_NOT_FOUND 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 Exporting E_T_EXISTING_NODES Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Relevant when exception node_exists 20050310
2 Importing IM_FLG_CHECK_ONLY Call by reference Type reference (TYPE) BOOLE_D OFF Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050318
3 Importing IM_INS_MODE Call by reference Type reference (TYPE) I Son or sibling? 20050310
4 Importing 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 Importing IM_T_NEW_NODES Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR New node 20050310
# Exception Resumable Description Created on
1 DATA_MISSING Data has to be read from DB before the insertion 20050310
2 NODE_EXISTS Node already exists in the TREE_DATA instance 20050310
3 RELAT_NOT_FOUND 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 Exporting E_T_MISSING_DATA Call by reference Type reference (TYPE) FMHIE_T_NODE_OBJNR Nodes for that the subordinates are missing 20050310
2 Importing IM_ENTRY_NODE_ID Call by reference Type reference (TYPE) BUBAS_OBJNR Object number for FM budgeting and AVC 20050310
3 Importing IM_FLG_CHECK_ONLY Call by reference Type reference (TYPE) BOOLE_D OFF Data element for domain BOOLE: TRUE (='X') and FALSE (=' ') 20050318
4 Importing IM_INS_MODE Call by reference Type reference (TYPE) I Move as child or sibling to the relat node 20050310
5 Importing 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 DATA_MISSING Part of the sub tree has to be read from DB 20050310
2 NODE_NOT_FOUND Entry node not found 20050310
3 RELAT_NOT_FOUND Relat node (target node) not found 20050310
4 SUPERIOR_DATA_MISSING 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