很少会用native sql,恰好项目里用到了,做个简单记录:
Tcode:DBCO
DATA: con TYPE string VALUE 'JZYF'.
"连接名称
DATA: exc_ref TYPE REF TO
cx_sy_native_sql_error. "异常
DATA: sql_error TYPE bapiret2-message.
"连接数据中心数据库
EXEC SQL.
CONNECT TO
: con
"获取连接
ENDEXEC.
TRY.
EXEC SQL.
insert
into derp_ztmmjy_fw_orstre
(dept_code,
zfield1, zfield2, zfield3, zfield4,
zfield5,
zfield6, zfield7, zfield8, zfield9, zfield10)
values
( '11',
"如果是取变量值,则前面加冒号,如果直接赋值,不要冒号
:l_wa_alv-ZFIELD1
,
"预留字段1
:L_WA_ALV-ZFIELD2
,
"预留字段2
:L_WA_ALV-ZFIELD3
,
"预留字段3
:L_WA_ALV-ZFIELD4
,
"预留字段4
:L_WA_ALV-ZFIELD5
,
"预留字段5
:L_WA_ALV-ZFIELD6
,
"预留字段6
:L_WA_ALV-ZFIELD7
,
"预留字段7
:L_WA_ALV-ZFIELD8
,
"预留字段8
:L_WA_ALV-ZFIELD9
,
"预留字段9
:L_WA_ALV-ZFIELD10)
ENDEXEC.
EXEC SQL.
commit
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exc_ref.
sql_error =
exc_ref->get_text( ).
"异常处理
ENDTRY.
EXEC SQL.
DISCONNECT :CON
"关闭连接
ENDEXEC.
ENDIF.
上面配置只是看DB连接,至于配置肯定不会让ABAP插手。
下面代码只是为了解 书写的格式
实例代码:
IF sy-subrc = 0.
特别注意的是,SAP里的时间日期格式,在ERP外数据库设计时,使用字符类型