Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Obsolete Language Elements →  Obsolete Processing of External Data →  Logical Databases →  Statements in Logical Databases 

PUT

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Obsolete Syntax

PUT { node | <node> }.

Effect

This statement is only allowed in the database program of a logical database in the subroutine named put_node. In the runtime environment, it triggers the event GET node, which signals that data is available in the table work area of the node node. If there is an appropriate event block implemented in the executable program assciated with the logical database, this block is executed.

After the associated event block has been processed, the subroutine put_next_node of the node next_node that follows in the logical database structure is called, if this node is processed in the associated executable program. Once you leave this subroutine, the event GET node LATE is triggered and its event block, if implemented, is processed in the executable program.

The database program must contain one of the statements NODES or TABLES for the node node. The syntax of the statement PUT is based on the node type.

  • If the node is type C, S, or T, you must specify the name of the node node after PUT.
  • If the node is type A, you must specify a field symbol <node> with the name of the node after PUT. During the statement PUT, the field symbol must be assigned a data object of the data type that is requested in the TYPE addition of the statement NODES in the associated executable program. This data type can be taken from the internal table dyn_node_types that is predefined in the database program.


Notes

  • If the logical database is not directly associated with an executable program, but is called using the function module LDB_PROCESS instead, the statement PUT does not trigger an event, but ensures that the appropriate callback routine is called in the calling program.
  • If logical databases are no longer created, then you no longer need to use the statement PUT either.

Example

The subroutine put_root_node is part of the database program of a logical database with a node root_node of type A, which is assigned the data types S_CARR_ID and S_CONN_ID from ABAP Dictionary. Accordingly, a field symbol <root_node> is specified after PUT, and its value is fixed depending on the content of the corresponding row of the internal table dyn_node_types.

FORM put_root_node.

  DATA carr     TYPE s_carr_id.
  DATA conn     TYPE s_conn_id.
  DATA dyn_node LIKE LINE OF dyn_node_types.

  READ TABLE dyn_node_types INTO dyn_node
                            WITH KEY node = 'ROOT_NODE'.

  CASE dyn_node-type.
    WHEN 'S_CARR_ID'.
      carr = ...
      ASSIGN carr TO <root_node>.
    WHEN 'S_CONN_ID'.
      conn = ...
      ASSIGN conn TO <root_node>.
    WHEN OTHERS.
      EXIT.
  ENDCASE.

  PUT <root_node>.

ENDFORM.

The following rows can be part of an executable program that is associated with the logical database. The specification after TYPE in the statement NODES sets the type of the field symbol <root_node> and writes the type to the column type in the corresponding row in the internal table dyn_node_types in the database program of the logical database.

NODES root_node TYPE s_carr_id.
               "TYPE s_conn_id.

GET root_node.
  ...