ABAP Keyword Documentation → ABAP − Reference → Processing External Data → ABAP Database Access → Native SQL → EXEC SQL - Embedded Native SQL → EXEC SQL
EXEC SQL - INTO
Other versions:
7.31 | 7.40 | 7.54
Syntax
EXEC SQL.
SELECT ... INTO [STRUCTURE] :host1 [, host2] ...
ENDEXEC.
Effect
In a native SELECT
or FETCH
statement specified
between EXEC
and ENDEXEC
, an INTO
clause can be specified to pass the read data to
host variables host1
,
host2, ... specified after the statement. If there are multiple rows in the results set, any one of the rows is read.
If a structure is specified as a host variable in after
INTO
, it is transformed by the Native SQL interface as if its components
were specified as individual fields separated by commas. The addition STRUCTURE
can be specified between INTO
and a single host variable. This addition has
the effect that the host variable is handled like a structure, even if a non-typed formal parameter
or a non-typed field symbol is specified. Otherwise, when multiple values are being passed, depending on the platform, either the first value only is passed or an exception is raised.
Notes
-
The SAP-specific addition
INTO
is removed from the statement by the Native SQL interface before it can be passed to the database. -
The addition
INTO
can only be used in statements introduced usingSELECT
andFETCH
. In a statement introduced usingWITH
to define a common table expression (CTE), for example,INTO
is not possible. In cases like this, eitherOPEN
or ADBC (recommended) must be used.
Example
As in the example for host variables. The addition
STRUCTURE is specified after INTO
. However, this is not necessary
since wa
is known statically as a structure. The structure wa
is handled in the INTO
clause as if all substrings were specified separately: INTO :wa-cityfrom, :wa-cityto
.
DATA: carrid TYPE spfli-carrid VALUE 'LH',
connid TYPE spfli-connid VALUE '400'.
cl_demo_input=>new(
)->add_field( CHANGING field = carrid
)->add_field( CHANGING field = connid )->request( ).
DATA: BEGIN OF wa,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
END OF wa.
EXEC SQL.
SELECT cityfrom, cityto
INTO STRUCTURE :wa
FROM spfli
WHERE mandt = :sy-mandt AND
carrid = :carrid AND connid = :connid
ENDEXEC.
cl_demo_output=>display( wa ).