Show TOC

NodesLocate this document in the navigation structure

Definition

A node is an entity of a business object or a of a business object enhancement (enhancement), which contains data and functions. The following are the main features of nodes:

  • From a data viewpoint, a node consists of a set of attributes and can be instantiated at runtime. If you compare a node to a table, a node attribute corresponds to one column in the table, and a node instance corresponds to one row.

  • If a business object or an enhancement consists of only one node, a business object instance corresponds to one row of the node table. Usually, a business object or an enhancement consists of multiple nodes where each node consists of a set of attributes that are described.

  • The nodes of a business object or an enhancement are linked through associations and form a hierarchy. The node at the top of the hierarchy is called the root node. Where there is more than one node, a business object instance consists of the following (if compared to a table):

    • A row from the table of the root node (root row)

    • All rows from the other nodes

      These are linked to the root row through associations.

  • From a functional viewpoint, a node is an anchor point for entities that contain business logic related to the data contained in the node.

    Examples include actions operating on the node instances, or queries returning specific node instances that match predefined search criteria.

    The other core services that are used by the consumer to access a business object instance are always related to a specific node. For example, the RETRIEVE core service returns node instance data of a specific node of a specific business object or enhancement.

Use

You can use nodes to group attributes of a business object or of an enhancement that are described. Usually, these attributes are read or written by the consumer all at once. Dividing sets of attributes into several nodes is essential for modeling quantitative relationships between attributes (for example, 1:N relationship).

Example

The data of a CUSTOMER_INVOICE business object can be divided into multiple sets described. All data related to the invoice itself is contained in the ROOT node (for example, INVOICE_ID or the RELEASED status of the invoice). The invoice item data is contained in the ITEM node (for example, AMOUNT, ITEM_ID, and QUANTITY). Since one single invoice can consist of more than one item, the ROOT node is linked to the ITEM node through associations. Consequently, a business object instance of the CUSTOMER_INVOICE business object consists of one root row of the ROOT node table and all rows of the ITEM table that belong to the root row.

There are several entities assigned to the ROOT node of the CUSTOMER_INVOICE business object. For example, the RELEASE action sets the status of the invoice. To find invoice instances by searching for the INVOICE_ID attribute, use the GET_INVOICE _BY_ID query.