abap连接mysql_【ABAP系列】SAP 使用事务码DBCO实现SAP链接外部数据库以及读取例程...
公众号:matinal
本文作者:matinal
前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
一、链接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.
CONNECTTO:CNS_YGJKENDEXEC.***获取人事数据
TRY.EXEC SQLPERFORMING PF_GET_RS.SELECTMANDT,
ZID,
OTYPE,
INFTY,
ZUPDATE,
OPERA,
ZDATAINTO :WA_HR01-MANDT,
:WA_HR01-ZID,
:WA_HR01-OTYPE,
:WA_HR01-INFTY,
:WA_HR01-ZUPDATE,
:WA_HR01-OPERA,
:WA_HR01-ZDATAFROMz00hrjzlch01WHERE SAP_GET = ''ENDEXEC.**处理人事数据
IF IT_HR01[] IS NOT INITIAL.LOOP AT IT_HR01 INTOWA_HR01.EXEC SQL.UPDATEz00hrjzlch01SET SAP_GET = 'X'WHERE MANDT = :WA_HR01-MANDTAND ZID = :WA_HR01-ZIDENDEXEC.IF SY-SUBRC = 0.*********更新ERP数据库表
EXEC SQL.COMMITENDEXEC.MODIFY Z00HRJZLCH01 FROMWA_HR01.COMMIT WORK.ENDIF.ENDLOOP.ENDIF.**关闭连接
EXEC SQL.
DISCONNECT :CNS_YGJKENDEXEC.**获取异常
CATCH CX_SY_NATIVE_SQL_ERROR INTOCL_EXEC_REF.EXIT.CATCH CX_SQL_EXCEPTION INTOCL_SQLERR_REF.EXIT.ENDTRY.*&---------------------------------------------------------------------**& Form PF_GET_ZZ*&---------------------------------------------------------------------**组织增量数据*----------------------------------------------------------------------*
FORMPF_GET_ZZ .APPEND WA_HR02 TOIT_HR02.ENDFORM.
事务代码:DBCO查看,SAP系统现存的连接
程序中使用的是连接【HR9DEV.WORLD】,双击这行如下图所示:
先在SAP底层ORACLE数据库编辑TNS文件,一般由BASIS配置完成,配置路径:DIR_ORAHOME->network->admin->tnsnames.ora;配置完成后我们可以用事务码:AL11查看配置是否正确,AL11查看连接【HR9DEV.WORLD】具体配置
文章来自于网络,如果侵犯了您的权益,请联系站长删除!