天天看點

ABAP connects to HANA

Check in your system whether HANA connection has been maintained or not in this table:

ABAP connects to HANA

DATA: ls_new TYPE DBCON.

ls_new-con_name = 'HAN'.

ls_new-dbms = 'HDB'.

ls_new-user_name = 'system'.

ls_new-password = 'Sap12345'.

ls_new-con_env = 'vml2018:30015'.

CALL FUNCTION 'DBCON_INSERT'

 EXPORTING

   DBCON_WORKAREA                = ls_new

 EXCEPTIONS

   DBCON_KEY_EXISTS              = 1

   SECURE_STORE_KEY_EXISTS       = 2

   SECURE_STORE_OTHER            = 3

   OTHERS                        = 4

         .

IF SY-SUBRC = 0.

  WRITE:/ 'Insert Successfully'.

ENDIF.

I have done the following test in ALB/100, it works:

TYPES:

    BEGIN OF result_t,

       key TYPE i,

       value TYPE string,

    END OF result_t.

DATA: connection TYPE dbcon-con_name VALUE 'HAN',

     stmt_ref TYPE REF TO cl_sql_statement,

     cx_sql_exception TYPE REF TO cx_sql_exception,

     lv_text TYPE string,

     res_ref TYPE REF TO cl_sql_result_set,

     d_ref TYPE REF TO DATA,

     result_tab TYPE TABLE OF result_t,

     result_line TYPE result_t,

     row_cnt TYPE i,

     con_ref TYPE REF TO cl_sql_connection.

con_ref = cl_sql_connection=>get_connection( connection ).

stmt_ref = con_ref->create_statement( ).

TRY.

  stmt_ref->execute_ddl( 'CREATE TABLE I042416_TESTPROC_TAB( key INT PRIMARY KEY, value NVARCHAR(255) )' ).

  stmt_ref->execute_update( 'INSERT INTO I042416_TESTPROC_TAB VALUES(1, ''First value'' )' ).

  stmt_ref->execute_update( 'INSERT INTO I042416_TESTPROC_TAB VALUES(2, ''Second value'' )' ).

  stmt_ref->execute_update( 'INSERT INTO I042416_TESTPROC_TAB VALUES(3, ''Third value'' )' ).

  res_ref = stmt_ref->execute_query( 'SELECT * FROM I042416_TESTPROC_TAB' ).

  GET REFERENCE OF result_tab INTO d_ref.

  res_ref->set_param_table( d_ref ).

  row_cnt = res_ref->next_package( ).

  stmt_ref->execute_ddl( 'DROP TABLE I042416_TESTPROC_TAB' ).

CATCH cx_sql_exception INTO cx_sql_exception.

  lv_text = cx_sql_exception->get_text( ).

  WRITE:/ 'Error:' , lv_text.

ENDTRY.

LOOP AT result_tab INTO result_line.

  WRITE:/ 'Key:' , result_line-key, ' Value:', result_line-value.

ENDLOOP.

ABAP connects to HANA

繼續閱讀