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

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

时间: 2025-01-15 14:26:27

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

一步步把SAP GUI的事务码配置到SAP Fiori Launchpad里

今天是2020年1月31日鼠年大年初七,这是Jerry鼠年的第7篇文章,也是汪子熙公众号总共第206篇原创文章. Jerry之前的文章 为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动 介绍了SAP GUI的事务码能够运行在SAP Fiori Launchpad里的原理,今天我们就来实际动手做一做,将SE80配置到SAP Fiori里并在浏览器里使用它. Jerry上高中时,正是暴雪公司发布即时战略神作<星际争霸>的时候,当时课堂上,下课后,教室里,操场上,同学们几乎

为什么SAP GUI里的传统事务码能通过Fiori Launchpad启动

今天是农历鼠年大年初六,本文是鼠年第6篇文章,也是汪子熙公众号第205篇原创文章. 大家这几天宅得怎么样了? Jerry之前的文章 那些年我用过的SAP IDE 曾经提到,我们可以把SAP GUI里的传统事务码放到SAP Launchpad里启动,并在浏览器里运行. 这是SE80在浏览器里运行的界面: 为响应government号召,尽量少出门,反正也闲着没事,今天我们就来聊聊这一切是怎么实现的. Jerry最初注意到这种将SAP GUI里的事务码运行在浏览器里的做法,是在日常工作的测试时,发现

SAP事务码 一

SE80 -- edit source code. SE24 -- class create or display. SFP -- created and maintained independently of Web Dynpro applications using the Form Builder. SFW1 SFW2 SFW3 -- 与增强有关 SY-SUBRC 返 回代码值( 0,如果操 作成功)   SY-UNAME 用 户的登录名   SY-DATUM 当 前日期   SY-UZE

[SAP ABAP开发技术总结]ABAP常用事务码

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: SE16N 业务顾问表数据查询工具  日志分析 SM13:查看Update Table更新(当使用V3更新时)  入站处理代码 CS11逐层显示BOM CS12 多层显示BOM ME11创建采购信息记录,类似销售里的条件记录VK11, 物料号+采购组织+供应商+工厂(可选)决定一条 Info Record MIGO 入库.收货 MMBE 按公司.工厂.库位.批次,库存分类汇总显示

事务码 ListSchema:查看Cube星型结构Schema

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4295666.html 可以通过事务码ListSchema,查看某个Cube的星型结构组成的所有表名  

中间件事务码R3AC1里Block Size的含义

在中间件事务码R3AC1可以为一个中间件的适配器对象维护Block size的大小. 以上图的尺寸为50为例,假设在ERP系统里有110个设备(equipment)需要下载,那么CRM中间件会自动生成3个inbound队列执行下载任务,其中2个队列各下载50个设备,另外1个队列下载剩下的10个设备. 这些下载队列的事务处理是彼此隔离的,也就是说即使某个队列的下载出了错,这个队列里待下载的ERP设备未能成功存储到CRM系统里,但是并不会影响到其他队列的处理. 我的SAP community博客St

heightCharts改变图表内图标的样式:链接外部图片

series: [{ name: '东京', marker: { symbol: 'url(https://www.highcharts.com/demo/gfx/sun.png)'     //链接外部图片 }, data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, { y: 26.5, marker: { symbol: 'url(https://www.highcharts.com/demo/gfx/sun.png)'    //链接外部图片 } },

MYSQL 支持事务码?

在缺省模式下,MYSQL是autocommit模式的,所有数据库更新操作都会即时提交.所以,在缺省情况下,MYSQL是不支持事务的. 但是如果你的MYSQL 表类型是INNODB tables 或者BDB tables的话,就可以使用事务.set autocommit=0 可以使MYSQL在非autocommit模式下运行. 在非autocommit模式下,你必须使用commit来提交你的更改,或者rollback来回滚你的更改. 例如: START TRANSACTION; SELECT @A

abap中如何通过双击事件调用事务码

比如,通过普通屏幕,使用定制控制,显示了一个alv表格,表格中列举的信息包括物料编号,物料名称等信息 现在希望双击物料编号,直接调用事务码MM03显示物料信息,用哪个函数呢? 创建过程如下: 一.. 绘制初始屏幕 使用SE80进入,创建一个report 基础的代码 包括: 1.定义(用于存储被显示的数据的)内表 这个内表,需要在后面的代码中被反复赋值,形成最终需要的内容 SELECT *** INTO CORRESPONDING FIELDS OF TABLE ITAB_XXX LOOP AT