2015-10-14 46 views
1

單到數據庫表中是否有插入數據庫表單記錄,而不使用結構,數據持有人的方式。插入不使用結構數據持有人

我想這樣

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:除非您正在編寫DB管理/ DDIC內容,否則您不需要本機SQL。 – 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>在您插入選擇語句。