使用事务码DBCO实现SAP链接外部数据库以及读取例程
一、鏈接SQLServer數據庫
執行事務碼DBCO,點新條目按鈕,填寫如下圖所示信息
這里的連接信息很接近 Sql Server 的連接字符串,但是參數名略有不同。指定主機IP、數據庫名即可。
二、鏈接DB2數據庫
執行事務碼DBCO,點新條目按鈕,填寫如下圖所示信息
連接信息看上去比較直接,分別是數據庫名、端口號、主機IP地址。
三、鏈接Oracle數據庫
執行事務碼DBCO,點新條目按鈕,填寫如下圖所示信息
連接信息比較隱晦,必須在 SAP 應用服務器上安裝 Oracle Client,然后設置連接,并在這里將連接信息指定與連接名一致。
為了防止亂碼,我們還應該在鏈接信息后加如下參數:ZHS16GBK
格式如下:ORCL.WORLD:ZHS16GBK
四、鏈接MaxDB數據庫
執行事務碼DBCO,點新條目按鈕,填寫如下圖所示信息
MaxDB 是 SAP 自己的數據庫,這個連接則是 NetWeaver Developer 版中默認創建的一個連接
訪問外部數據庫
?
1. 實例:SAP系統訪問PeopleSoft數據庫
*&----------------------------------------------------------------------------------------------------- &*
*& 定義常量 ??????????????????????????????????????????????????????????????????????????????????????????&*
*&------------------------------------------------------------------------------------------------------&*
CONSTANTS: CNS_YGJK TYPE C LENGTH 10 VALUE 'HR9DEV'.?
?
**打開連接
??EXEC SQL.
????CONNECT TO :CNS_YGJK
??ENDEXEC.
?
***獲取人事數據
??TRY.
??????EXEC SQL PERFORMING PF_GET_RS.
????????SELECT MANDT,
???????????????ZID,
???????????????OTYPE,
???????????????INFTY,
???????????????ZUPDATE,
???????????????OPERA,
???????????????ZDATA
??????????INTO :WA_HR01-MANDT,
???????????????:WA_HR01-ZID,
???????????????:WA_HR01-OTYPE,
???????????????:WA_HR01-INFTY,
???????????????:WA_HR01-ZUPDATE,
???????????????:WA_HR01-OPERA,
???????????????:WA_HR01-ZDATA
??????????FROM z00hrjzlch01
?????????WHERE SAP_GET = ''
??????ENDEXEC.
?
**處理人事數據
??????IF IT_HR01[] IS NOT INITIAL.
????????LOOP AT IT_HR01 INTO WA_HR01.
??????????EXEC SQL.
????????????UPDATE z00hrjzlch01
???????????????SET SAP_GET = 'X'
?????????????WHERE MANDT = :WA_HR01-MANDT
???????????????AND ZID = :WA_HR01-ZID
??????????ENDEXEC.
??????????IF SY-SUBRC = 0.
*********更新ERP數據庫表
????????????EXEC SQL.
??????????????COMMIT
????????????ENDEXEC.
????????????MODIFY Z00HRJZLCH01 FROM WA_HR01.
????????????COMMIT WORK.
??????????ENDIF.
????????ENDLOOP.
??????ENDIF.
**關閉連接
??????EXEC SQL.
????????DISCONNECT :CNS_YGJK
??????ENDEXEC.
**獲取異常
????CATCH CX_SY_NATIVE_SQL_ERROR INTO CL_EXEC_REF.
??????EXIT.
????CATCH CX_SQL_EXCEPTION INTO CL_SQLERR_REF.
??????EXIT.
??ENDTRY.?
*&---------------------------------------------------------------------*
*& ?????Form ?PF_GET_ZZ
*&---------------------------------------------------------------------*
* ??????組織增量數據
*----------------------------------------------------------------------*
FORM PF_GET_ZZ .
??APPEND WA_HR02 TO IT_HR02.
ENDFORM.?
事務代碼:DBCO查看,SAP系統現存的連接
程序中使用的是連接【HR9DEV.WORLD】,雙擊這行如下圖所示:
先在SAP底層ORACLE數據庫編輯TNS文件,一般由BASIS配置完成,配置路徑:DIR_ORAHOME->network->admin->tnsnames.ora;配置完成后我們可以用事務碼:AL11查看配置是否正確,AL11查看連接【HR9DEV.WORLD】具體配置
?
總結
以上是生活随笔為你收集整理的使用事务码DBCO实现SAP链接外部数据库以及读取例程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP ABAP常用正则表达式大全
- 下一篇: SAP连接外部ORACLE数据库