2015-10-14 1 views
1

Есть ли способ вставить одну запись в таблицу db без использования структуры в качестве держателя данных.Вставьте одно в таблицу DB, не используя структуру в качестве держателя данных

я что-то вроде

мышления
INSERT INTO table(filed1, field2) VALUES (value1, value2). 

ли что-то подобное возможно в ABAP? thx

+0

Я думаю, что это возможно, проверьте это [ссылка] (http://stackoverflow.com/questions/15041871/how-to-import-sql-server-table-to-sap-abap-itab/15165487#15165487) –

+0

@ NelsonMiranda Правило 1: Никогда не используйте собственный SQL, если это вам не нужно. Правило 2: вам не нужен собственный SQL, если вы не кодируете управление DB/DDIC. – vwegert

+0

Зачем вам это нужно? – Christian

ответ

2

Нет, это невозможно, потому что вы не можете указать отдельные целевые поля с OpenSQL INSERT statements. Возможно, вы сможете обойти необходимость временной структуры с правой стороны, используя оператор VALUE type(...), но я еще не пробовал это.

+2

Я пробовал и не могу указать временную структуру в инструкции INSERT. – Christian

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>. 

Вы можете использовать <cols> в установке выберите STMT.

 Смежные вопросы

  • Нет связанных вопросов^_^