既然都用HANA了,為什么還要在SAP端,連接HANA數據庫,做數據庫處理。。。。。
因為HANA數據庫,沒個用戶在STADIO上建的數據庫表。。。只能這個用戶使用,而做Universe 設計的時候,最簡單的就是直接用表。。。(但是SAPDEV這里表太多了,用起來太麻煩,所以。。。)
1.DBCO連接
DB 連接 HDB DBMS HDB 用戶名 ZYUSER 數據庫口令 / 連接信息 192.168.2.106:30015 連接限制 0 最佳連接 0
然后SE38運行ADBC_TEST_CONNECTION,選擇HDB測試連接
如果此處不通。。。呵呵噠,自己找原因
2.
*&---------------------------------------------------------------------* *& Report ZHDB01 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZHDB01. DATA:LC_CONN TYPE REF TO CL_SQL_CONNECTION. DATA:LC_STATE TYPE REF TO CL_SQL_STATEMENT. DATA:LC_EXCEP TYPE REF TO CX_SQL_EXCEPTION. DATA:LC_RESULT TYPE REF TO CL_SQL_RESULT_SET. DATA:LV_STATE TYPE STRING. "建立連接 TRY. CALL METHOD CL_SQL_CONNECTION=>GET_CONNECTION EXPORTING CON_NAME = 'HDB' * SHARABLE = SPACE RECEIVING CON_REF = LC_CONN. CATCH CX_SQL_EXCEPTION . ENDTRY. "Creates a Statement Object for this Database Connection CALL METHOD LC_CONN->CREATE_STATEMENT * EXPORTING * TAB_NAME_FOR_TRACE = RECEIVING STMT_REF = LC_STATE. "set parameter *TRY. * CALL METHOD LC_STATE->SET_PARAM * EXPORTING * DATA_REF = ** POS = 0 ** IND_REF = * INOUT = CL_SQL_STATEMENT=>C_PARAM_IN ** IS_LOB = SPACE * . * CATCH CX_PARAMETER_INVALID . *ENDTRY. LV_STATE = 'INSERT INTO ZLYTEST01 VALUES(''600'',''1200'',''01'',''04'',''ZC00'',''01'',''1000A01'',''13457.89'',''45678.89'')'. TRY. CALL METHOD LC_STATE->EXECUTE_QUERY EXPORTING STATEMENT = LV_STATE * HOLD_CURSOR = SPACE RECEIVING RESULT_SET = LC_RESULT. CATCH CX_SQL_EXCEPTION . CATCH CX_PARAMETER_INVALID . ENDTRY. TRY. CALL METHOD LC_CONN->COMMIT. CATCH CX_SQL_EXCEPTION . ENDTRY.
異常消息沒處理。。。自己找類,自己玩。。。