您的位置:首页 > 数据库

使用事务码DBCO实现SAP链接外部数据库以及读取例程

2015-06-17 21:39 579 查看
一、链接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】具体配置

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: