外部数据库的连接串示例(Tcode:DBCO)
一直想去做这个测试动作,今天把链接的方式放上来,一定要去动手坐一下,这样才会有印象;
大家都用什么样的数据,应该用SQLSERVER的会比较多些吧,再就是ORACLE; SQL Server:
这里的连接信息很接近 Sql Server 的连接字符串,但是参数名略有不同。指定主机IP、数据库名即可。 DB2:
连接信息看上去比较直接,分别是数据库名、端口号、主机IP地址。 Oracel:
连接信息比较隐晦,必须在 SAP 应用服务器上安装 Oracle Client,然后设置连接,并在这里将连接信息指定与连接名一致。
为了防止乱码,我们还应该在链接信息后加如下参数:ZHS16GBK 格式如下:ORCL.WORLD:ZHS16GBK
MaxDB:
MaxDB 是 SAP 自己的数据库,这个连接则是 NetWeaver Developer 版中默认创建的一个连接,其中的连接信息究竟代表什么,我也不甚清楚。
访问外部数据库
2011年4月12日 14:37
??
实例: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】,双击这行如下图所示:?
相关推荐: