外部数据库的连接串示例(Tcode:DBCO)SQLServer:这里的连接信息很接近SqlServer的连接字符串,但是参数名略有不同。指定主机IP、数据库名即可。DB2:连接信息看上去比较直接,分别是数据库名、端口号、主机IP地址。Oracel:连接信息比较隐晦,必须在SAP应用服务器上安装OracleClient,然后设置连接,并在这里将连接信息指定与连接名一致。为了防止乱码,我们还应该在链接信息后加如下参数:ZHS16GBK格式如下:ORCL.WORLD:ZHS16GBKMaxDB:MaxDB是SAP自己的数据库,这个连接则是NetWeaverDeveloper版中默认创建的一个连接,其中的连接信息究竟代表什么,我也不甚清楚。访问外部数据库2011年4月12日14:37实例:SAP系统访问PeopleSoft数据库*&-----------------------------------------------------------------------------------------------------&**&定义常量&**&------------------------------------------------------------------------------------------------------&*CONSTANTS:CNS_YGJKTYPECLENGTH10VALUE'HR9DEV'.**打开连接EXECSQL.CONNECTTO:CNS_YGJKENDEXEC.***获取人事数据TRY.EXECSQLPERFORMINGPF_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-ZDATAFROMz00hrjzlch01WHERESAP_GET=''ENDEXEC.**处理人事数据IFIT_HR01[]ISNOTINITIAL.LOOPATIT_HR01INTOWA_HR01.EXECSQL.UPDATEz00hrjzlch01SETSAP_GET='X'WHEREMANDT=:WA_HR01-MANDTANDZID=:WA_HR01-ZIDENDEXEC.IFSY-SUBRC=0.*********更新ERP数据库表EXECSQL.COMMITENDEXEC.MODIFYZ00HRJZLCH01FROMWA_HR01.COMMITWORK.ENDIF.ENDLOOP.ENDIF.**关闭连接EXECSQL.DISCONNECT:CNS_YGJKENDEXEC.**获取异常CATCHCX_SY_NATIVE_SQL_ERRORINTOCL_EXEC_REF.EXIT.CATCHCX_SQL_EXCEPTIONINTOCL_SQLERR_REF.EXIT.ENDTRY.*&---------------------------------------------------------------------**&FormPF_GET_ZZ*&---------------------------------------------------------------------**组织增量数据*----------------------------------------------------------------------*FORMPF_GET_ZZ.APPENDWA_HR02TOIT_HR02.ENDFORM.PF_GET_ZZ事务代码:DBCO查看,SAP系统现存的连接程序中使用的是连接【HR9DEV.WORLD】,双击这行如下图所示:先在SAP底层ORACLE数据库编辑TNS文件,一般由BASIS配置完成,配置路径:DIR_ORAHOME-network-admin-tnsnames.ora;配置完成后我们可以用事务码:AL11查看配置是否正确,AL11查看连接【HR9DEV.WORLD】具体配置