*&---------------------------------------------------------------------*
*& Report ZTEST02
*&
*&---------------------------------------------------------------------*
*&
*&sap abap使用native sql
*&---------------------------------------------------------------------*
REPORT ztest02.
TYPES:
BEGIN OF typ_vbrk,
vbeln TYPE vbrk-vbeln,
fkart TYPE vbrk-fkart,
knumv TYPE vbrk-knumv,
END OF typ_vbrk.
DATA lt_vbrk TYPE TABLE OF typ_vbrk WITH HEADER LINE.
DATA ls_vbrk TYPE typ_vbrk.
DATA: lv_vkorg TYPE vbrk-vkorg,
lv_fkdats TYPE vbrk-fkdat,
lv_fkdate TYPE vbrk-fkdat.
"注意:条件是字符串的要加单引号.
lv_vkorg = '1000'.
lv_fkdats = '20180101'.
lv_fkdate = '20181231'.
*print start datetime.
PERFORM print_time.
*Native SQL末尾不要加结束符号或者分号.
*如果要查询非SAP数据库需要先用事物代码DBCO配置数据库连接.
EXEC SQL PERFORMING append_vbrk.
SELECT vbeln, fkart, knumv INTO :ls_vbrk FROM VBRK
WHERE vkorg = :lv_vkorg
and fkdat >= :lv_fkdats
and fkdat <= :lv_fkdate
ENDEXEC.
*print end datetime.
PERFORM print_time.
ULINE.
PERFORM print_list.
*&---------------------------------------------------------------------*
*& Form zappend
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM append_vbrk.
APPEND ls_vbrk TO lt_vbrk.
ENDFORM. "zappend
*&---------------------------------------------------------------------*
*& Form ztime
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM print_time.
DATA: lv_date TYPE sy-datum,
lv_time TYPE sy-uzeit.
"获取当前时间(非sy-uzeit, sy-uzeit在一次程序执行过程中不会更新).
CALL FUNCTION 'SQLT_TRACE_KERNEL_TIME'
IMPORTING
date = lv_date
time = lv_time.
WRITE : / lv_date, lv_time.
ENDFORM. "ztime
*&---------------------------------------------------------------------*
*& Form print_list
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM print_list.
LOOP AT lt_vbrk.
WRITE : / lt_vbrk-vbeln, '|', lt_vbrk-fkart, '|' , lt_vbrk-knumv.
ULINE.
ENDLOOP.
ENDFORM. "print_list