*&---------------------------------------------------------------------**& Report ztest_adbc_demo*&---------------------------------------------------------------------**&*&---------------------------------------------------------------------*REPORT ztest_adbc_demo.TYPES:*”设定内表和工作区构造体的类型  BEGIN OF ty_airline,    airline_id       TYPE scarr-carrid,    airline_name     TYPE scarr-carrname,    airline_currency TYPE scarr-currcode,    url              TYPE scarr-url,    url2             TYPE string,  END OF ty_airline.*”设定承载SQL语句的变量,返回后果变量、条件变量DATA:  lv_statement  TYPE string,  lt_airline    TYPE TABLE OF ty_airline,  lr_result     TYPE REF TO data,  lv_currency   TYPE scarr-currcode,**”设定ADBC相干类的连贯对象、SQL对象、后果对象、异样对象的变量  lo_conn       TYPE REF TO cl_sql_connection,  lo_statement  TYPE REF TO cl_sql_statement,  lo_result_set TYPE REF TO cl_sql_result_set,  lx_sql        TYPE REF TO cx_sql_exception.*”关联内表到后果对象变量中GET REFERENCE OF lt_airline INTO lr_result.*”设定条件变量的值lv_currency = 'EUR'.*”拼接HANA Native SQL,该语法是HANA的SQL Script所反对的语法*”也能够调用SQL Script的函数如SUBSTRINGlv_statement = | SELECT CARRID, CARRNAME, CURRCODE, URL, |&& | SUBSTRING (URL,8,LENGTH(URL)) AS URL2 |&& | FROM scarr WHERE currcode = '{ lv_currency }' and |&& | CARRID <> 'CA' | .TRY.**n调用SQL-Connection办法,连贯到数据库    lo_conn = cl_sql_connection=>get_connection( ).**n調用SQL-Statement办法,创立SQL对毎    lo_statement = lo_conn->create_statement( ).*"調用SQL-query方还,执行SQL语句    lo_result_set = lo_statement->execute_query( lv_statement ).    "调用SQL-set_param_table办法,指定用哪个内表来记录返回后果    lo_result_set->set_param_table( lr_result ).*往取数据集的下一组薮龍到内表    lo_result_set->next_package( ).*”褥到后果后,敞开数据棄    lo_result_set->close( ).*”打印内表    cl_demo_output=>display_data( lt_airline ).*”错误处理,如SQL有误,则在此处报出log,而不会导致系统解体(short dump )  CATCH cx_sql_exception INTO lx_sql.    WRITE: lx_sql->get_text( ).ENDTRY.