通过不使用结构作为数据持有者将单个插入到DB表中

时间:2015-10-14 15:59:41

标签: abap

有没有办法在db表中插入单个记录而不使用结构作为数据持有者。

我在想像

这样的东西
INSERT INTO table(filed1, field2) VALUES (value1, value2).

这样的事情有可能实现吗? THX

2 个答案:

答案 0 :(得分:2)

不,这是不可能的,因为您无法使用OpenSQL INSERT statements指定单个目标字段。您可以使用VALUE type( ... )运算符来解决右侧临时结构的需求,但我还没有尝试过。

答案 1 :(得分:0)

您应该尝试动态创建结构。

使用CL_ABAP_STRUCTDESCR=>CREATE,指定组件列表(列列表)及其类型,您可以动态获得可用于创建数据引用的结构描述。

快速伪代码:

DATA coldescr TYPE REF TO cl_abap_structdescr.
DATA cols TYPE REF TO data.
FIELD-SYMBOLS <cols> TYPE any.

coldescr = cl_abap_structdescr=>create(  ).

CREATE DATA cols TYPE HANDLE coldescr.

ASSIGN cols->* TO <cols>.

您可以在插入select stmt。

时使用<cols>