ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete Processing of External Data → Logical Databases → Statements in Logical Databases
PUT
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
afterPUT
. -
If the node is type A, you must specify a field symbol
<node>
with the name of the node afterPUT
. During the statementPUT
, the field symbol must be assigned a data object of the data type that is requested in theTYPE
addition of the statementNODES
in the associated executable program. This data type can be taken from the internal tabledyn_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
.
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.
...