Sửa lỗi: Thiếu dấu hai chấm (:) trước biến host
Trong ABAP Native SQL (EXEC SQL ... ENDEXEC), biến ABAP phải có tiền tố :.
Code sai
EXEC SQL.
INSERT INTO order VALUES('2', sy-datum)
ENDEXEC.
Code đúng
EXEC SQL.
INSERT INTO order VALUES('2', :sy-datum)
ENDEXEC.
Khuyến nghị: Dùng OpenSQL thay vì Native SQL
Native SQL chỉ dùng khi cần tính năng đặc thù của database backend. Câu lệnh INSERT đơn giản này nên dùng OpenSQL (ABAP SQL) để độc lập database, dễ bảo trì:
INSERT order FROM @( VALUE #( id = '2' date = sy-datum ) ).
OpenSQL an toàn hơn, tự động xử lý chuyển đổi kiểu dữ liệu, tránh SQL injection.