博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SAP接口集成-abap调用外部数据库
阅读量:4091 次
发布时间:2019-05-25

本文共 1916 字,大约阅读时间需要 6 分钟。

SAP接口集成-abap调用外部数据库


前言

PI/PO集成方式很多,但是有趣的灵魂不多,现在介绍一个直接用abap调用外部数据库的特殊方法


提示:以下是本篇文章正文内容,下面案例可供参考

一、SAP配置外部数据源

DBCO建立数据源(如果连接不上可能还是需要人家basis帮忙看看)

在这里插入图片描述
在这里插入图片描述
连接字符:MSSQL_SERVER=IP MSSQL_DBNAME=db_name OBJECT_SOURCE=实例

如果是oracle还是需要设置参数:AL11—— /usr/sap/DEV/SYS/profile/oracle/tnsnames.ora

BOPRD =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = ****->服务器IP)(PORT = 1521->端口))     )   (CONNECT_DATA =      (SID = orcl)      (SERVER = ***->服务器IP)       (SERVICE_NAME = orcl)    )  )

二、使用步骤

1.新建测试程序

se38

*&---------------------------------------------------------------------**& Report ZTEST_DBCO*&---------------------------------------------------------------------**&*&---------------------------------------------------------------------*REPORT ZTEST_DBCO."dbco配置好p_connr为连接名DATA: p_connr TYPE dbcon-con_name  VALUE 'dbconame'.data :l_field1 TYPE char30,l_field2 TYPE CHAR30 ,l_field3 TYPE CHAR30 . TRY.    " 1.打开连接    EXEC SQL.      CONNECT TO :p_connr    ENDEXEC.    IF sy-subrc <> 0.      RAISE EXCEPTION TYPE cx_sy_native_sql_error.    ELSE.      MESSAGE '连接成功' TYPE 'S'.    ENDIF.       EXEC SQL.      SET CONNECTION :p_connr    ENDEXEC.   "2.执行sql脚本,使用native sql    EXEC SQL .      OPEN  C1 FOR  SELECT ProductId , StoreId , StoreCode      FROM T_Product      WHERE StoreCode ='A010122'   ENDEXEC.   "3.读取游标数据   DO.  "读取游标 ":t001-mandt, :t001-bukrs   EXEC SQL.     FETCH NEXT C1 INTO l_field1,:l_field2 ,:l_field3   ENDEXEC.  IF sy-subrc <> 0.    EXIT.  ELSE.    WRITE: / l_field1,l_field2 ,l_field3    . "写到界面  ENDIF.ENDDO."使用完关闭游标EXEC SQL.  CLOSE c1ENDEXEC.* 4.最后关闭连接    EXEC SQL.      DISCONNECT :p_connr    ENDEXEC.  CATCH cx_sy_native_sql_error.    MESSAGE `Error in Native SQL.` TYPE 'E'.ENDTRY.FORM loop_output.  WRITE: / l_field1,l_field2 ,l_field3.ENDFORM .

2.使用场景介绍

项目中尝试过使用场景如下:

(1)报表核对,PI建立了接口,为了检查是否漏数据,我们做了数据核对报表,直接调用数据库校验pi运算后的结果
(2)BW实现即时数据抽取和展示,打包成函数供bw使用

总结

今天做bw即时数据抽取需求用到,分享给大家。

转载地址:http://bvcii.baihongyu.com/

你可能感兴趣的文章
每个人都能做的网易云音乐[vue全家桶]
查看>>
JavaScript专题之数组去重
查看>>
Immutable.js 以及在 react+redux 项目中的实践
查看>>
Vue2.0全家桶仿腾讯课堂(移动端)
查看>>
React+Redux系列教程
查看>>
react-native 自定义倒计时按钮
查看>>
19 个 JavaScript 常用的简写技术
查看>>
ES6这些就够了
查看>>
微信小程序:支付系列专辑(开发指南+精品Demo)
查看>>
iOS应用间相互跳转
查看>>
iOS开发之支付宝集成
查看>>
iOS开发 支付之银联支付集成
查看>>
iOS开发支付集成之微信支付
查看>>
浅谈JavaScript--声明提升
查看>>
React非嵌套组件通信
查看>>
Websocket 使用指南
查看>>
浏览器兼容性问题解决方案 · 总结
查看>>
一个很棒的Flutter学习资源列表
查看>>
为什么你应该放弃React老的Context API用新的Context API
查看>>
Flutter 布局控件完结篇
查看>>