以下为正文

一、链接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】具体配置


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!