如何透過SQL將資料拋到外部DB

1. 宣告連線  "GATEWAY" 的設定方式 參考   "SAP 外部DB連線設定"

constants:
  gc_connect  type  dbcon_name value 'GATEWAY'.
 clear gs_ret.

2.Open  Connect  
  perform open_connect.
    write/ gs_ret-message.
  if gs_ret-type 'E'.
    return.
  endif.

  loop at itbzkt.
3.將值拋到 form  result_insert 中 執行insert 
    perform  result_insert using itbzkt-vpin itbzkt-vname itbzkt-vcardno itbzkt-vareacode.

  endloop.

  clear gs_ret.

4.Close connect
  perform close_connect.
  write/ gs_ret-message.
  if gs_ret-type 'E'.
    return.
  endif.

 

**************** include*************

 

form open_connect .
  data:
    lo_oref type ref to cx_root.
  try.
      exec sql.
        connect to :gc_connect
      endexec.
    catch cx_sy_native_sql_error into lo_oref.
      gs_ret-type 'E'.
      gs_ret-message lo_oref->get_text).
      return.
  endtry.
  gs_ret-message '資料庫連線成功'.
endform.


form close_connect .
  data:
    lo_oref type ref to cx_root.
  try.
      exec sql.
        DISCONNECT :GC_CONNECT
      endexec.
    catch cx_sy_native_sql_error into lo_oref.
      gs_ret-type 'E'.
      gs_ret-message lo_oref->get_text).
      return.
  endtry.
  gs_ret-message '資料庫連線關閉'.
endform.

 

 

form result_insert using vpin vname vcardno vareacode.
  data:
  lo_oref type ref to cx_root.
  try.
      exec sql .
        INSERT INTO dbo.emp_sync (pin,name,cardno,areacodeVALUES (:vpin,:vname,:vcardno,:vareacode)
      endexec.
      exec sql .
        COMMIT WORK.
      endexec.

    catch cx_sy_native_sql_error into lo_oref.
      gs_ret-type 'E'.
      gs_ret-message lo_oref->get_text).
      return.
  endtry.

endform.

文章標籤
全站熱搜
創作者介紹
創作者 JosephChou 的頭像
JosephChou

Joseph A-Sa-BLue

JosephChou 發表在 痞客邦 留言(0) 人氣(1,194)