SAP系统之所以能成为ERP产品的代名词,不仅仅是因为SAP系统己经集成了当今世界最强大的管理功能和最优秀的业务流程,也是因为SAP系统提供了一个功能较为完善的开放的开发平台,它提供的开发接口使得SAP系统能够得以更广泛的应用,能更大程度上满足不同企业的需求。
根据系统数据交换的方式以及读写数据的相对关系不同,可以将外部系统与SAP系统的接口形式分为:主动式,被动式和中间式,如下图所示。
1、主动式接口
即外部系统将SAP系统所需的信息直接写入SAP系统的数据库中。这种方式要求详细了解SAP系统内部的数据库结构,并且SAP系统允许外部系统往里写数据(即有写的权限)。一般来说,主动式接口形式需要对SAP系统的数据库结构很清楚,对SAP系统录入数据时需要进行哪些数据校验也要很清楚,同时也要遵循SAP系统的数据校验规范,将其所需的物料信息、产品信息、加工信息等一一写入SAP系统中,保证数据的准确性和有效性。
采用主动式接口形式的优点:外部系统与SAP系统中的信息同步性好。但在安全性方面存在一定问题,如出现写数据冲突,即外部系统写数据到SAP系统的同时,SAP系统本身也在往数据库中写入数据。对于SAP系统建议一般不要采用此种方式。
2、被动式接口
被动式接口,即SAP系统从外部系统中读取所需的数据,将其写入自已的数据库中。对于被动式又有两种方式:全被动式和半被动式。
.全被动式:外部系统完全公开其表达和存储信息的数据库结构,SAP系统读取信息时自行判断哪些信息是增加的,哪些是修改的,哪些己删除了。
.半被动式:外部系统除公开其数据库结构外,还提供一些握手信号单独存入握手信号表中,握手信息说明哪些信息作了更新,这样SAP系统在读取外部系统中的信息(如某物料更改信息)时,根据握手信号表来读取外部系统中已经发生更改的部分信息,不需要全部读一遍,这样可以提高接口处理的速度。
采用被动式接口形式的优点:外部系统与SAP系统的同步性也做得比较好,安全性方面也比主动式要好。但实现起来较为麻烦,需要有较强的SAP接口方面的知识。一般由专门的SAP实施顾问来完成这种开发。
3、中间式接口
中间式接口,即外部系统将SAP系统所需的信息生成中间文件或中间数据表,SAP系统直接读取中间文件或将中间表中的信息写入数据库中,这种方式要求对外部系统和SAP系统两方都要做一些开发工作。
需要特别提出的是:采用中间式接口时必须时刻注意如何保证外部和SAP信息一致性。常用的有两种方式:一种是由SAP系统来保证,即外部系统将SAP系统所需的信息定期写在中间文件或数据表中,SAP系统读取该信息时与SAP系统中已有的信息进行分析比较,判断哪是新增的、哪是修改的、哪些删除了,最后把更新的信息写入SAP系统中:另一种是,外部系统在生成中间文件或数据表时,与SAP系统中己有的数据进行比较,判断哪些数据进行了更新,并将更新的数据写入中间文件或数据表。然后,SAP系统读取中间文件或数据表中的数据直接写入自己的数据库中。这种方式要求在外部系统写中间文件之前SAP系统将其数据库中的数据导出,以供外部系统进行比较用。
中间式接口是比较常用的一种方式,这种方式外部系统和SAP系统相对独立,接口不涉及双方内部的结构,而且接口的责任也很明确,数据的安全性也得到了保证。但这种方式存在的问题就是两个系统的数据同步性稍差一些,但只要合理地规定读写中间文件或数据表的时间,数据的同步性是不会影响使用的。
sap用户加密函数

REPORT  z_barry_user_pass.
TABLES: usr02,xu400 .

DATA: msgid LIKE sy-msgid,
      msgno LIKE sy-msgno,
      param.
      
usr02-bname = 'BARRY'.
xu400-newcode = 'BARRY'.

CALL 'XXPASS'
  ID 'CODE' FIELD xu400-newcode
  ID 'CODX' FIELD usr02-bcode
  ID 'NAME' FIELD usr02-bname  
  ID 'VERS' FIELD usr02-codvn  
  ID 'MESG' FIELD msgno
  ID 'ARBG' FIELD msgid.

WRITE usr02-bcode .

友情提示:运行CALL 'XXPASS'前最好跟Basis搞好关系,在你运行后好让他给你解除用户锁定,哈哈
 
 
如果仅仅是验证密码:
CALL FUNCTION 'SUSR_CHECK_LOGON_DATA'
  EXPORTING
    auth_method = 'P'
    userid      = 'barry'
    password    = 'barry'
  EXCEPTIONS
    OTHERS      = 25.
IF sy-subrc <> 0.
  WRITE 'Error!'.
ELSE.
  WRITE 'Correct!'.
ENDIF.
由于sap的维护费用和sap系统内用户数量有关,且比较贵,
所以考虑把系统用采用两中方式1、下查询外部系统用户表(usr02)为了和SAP用户表对应好记命名,外部系统用户查询结果为空时调用RFC(ZUSR_LOGIN),设置返回值,根据返回值确定sap系统是否有此用户,登录密码是否正确,JSP页面再做相应提示,密码不正确,还是用户名为空。

SAP系统与外部系统的三种接口形式相关推荐

  1. centos 卸载软件_一篇看懂!详解-Linux系统中安装软件的三种方法

    Linux系统中安装软件的三种方法 注:本文主要以CentOS为例介绍常用的安装方式,其他版本linux在文章底部 Linux系统中怎么安装软件,首先说一下应用程序与系统命令的区别: 1.文件位置 系 ...

  2. 查看登陆系统用户的信息的三种方法详解

    查看登陆系统用户的信息的三种方法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.who这个命令显示可以谁在登陆,但是这个有很多的花式玩法,这个命令超简单 语法:who [O ...

  3. win7系统wifi没有网络连接到服务器,Win7无线Wifi无法连接怎么办?win7系统Wifi无法连接的三种故障原因及解决方法...

    当我们准备接入一个Wifi的时候,发现怎么样都连不进去,该怎么办呢?一般出现该问题基本是由于"WiFi密码不正确" ."Win7中保存的WiFi记录与路由器中不符&quo ...

  4. 0x000000f怎么修复 win10_win10系统提示错误代码0xc000000f的三种解决方法

    在使用windows10正式版系统电脑过程中遇到了无法开机情况,而且提示0xc000000f的错误代码,此时该怎么办呢?其实,这一般是由于映像出现问题所引起的.下面,就随小编一起看看win10系统提示 ...

  5. 如何查看计算机储存系统,Win7怎么看电脑内存?Win7系统查看电脑内存的三种方法...

    Win7怎么看电脑内存?我们在使用电脑的时候,会感觉打开的文件很少,却很慢打开反应迟钝的现象.一般来说出现此情况,就是我们的电脑内存不足造成的.最近,使用Win7系统的用户,在工作的时候发现电脑一直很 ...

  6. Android Studio导入外部资源的三种方式

    在Android Studio打开导入外资源的路径:File->Project Structure- 第一步:选择Dependencies 第二步:选择要添加依赖的modules 第三步:为mo ...

  7. 3 在统一建模语言中(UML)中,( )用于描述系统与外部系统及用户之间的交互

    标签: 软考初级程序员易错题,计算机基础, 面向对象基础,统一建模语言 (UML) 在统一建模语言中(UML)中,( )用于描述系统与外部系统及用户之间的交互. 问题1 A.对象图 B.类图 C.用例 ...

  8. go引入外部依赖的三种方式:go get,go module,vendor目录

    本文转载自golang 引入外部包的三种方式:go get, go module, vendor目录_guoguolifang的博客-CSDN博客_golang 外部包 import  "g ...

  9. 在ubuntu系统中删除软件的三种最佳方法

    三种方法分别是:1.通过软件中心删除 2.通过Synaptic Package Manager删除 3.通过命令行删除 三种方法的详细介绍 一.ubuntu software 1.点击左侧菜单栏上的& ...

最新文章

  1. 22、UPDATE多表关联更新
  2. 完美解决 bash: hexo: command not found
  3. java二期_享学二期java架构师
  4. 我的docker随笔26:制作arm平台的python-pandas镜像
  5. RFID和安防究竟有什么关系?
  6. 宁夏职称评计算机,宁夏专业技术人员服务平台职称评审系统:http://124.224.239.164(2)...
  7. python语言中有3种表示字符串的方式、单引号和_Python中三种类型的引号(单引号、双引号、三引号)...
  8. tps波动很大的原因_期货揭秘:价格的波动规律(2)
  9. R 实现熵权法计算权重
  10. er ubnt x设置教程_ubnt edgerouter er-x 路由器怎么设置
  11. hotmai邮箱服务器在境外吗,hotmail服务器如何设置?设置hotmail邮箱账号方法
  12. 今天收入 1600 稿费
  13. 互联网专利战场急先锋-高智发明,微软苹果等撑腰
  14. 双碳背景下个人的低碳环保生活
  15. BGP Confederation(BGP联邦)
  16. ifft变换用java_利用FFT 及 IFFT实现傅立叶正反变换 | 学步园
  17. 宏碁暗影骑士擎安装双系统踩坑记录
  18. SSO单点登录-分布式系统实战
  19. js点击轮播或者自动轮播图代码
  20. 电商产品展示,选360°全景还是3D展示?

热门文章

  1. 设计需要冲击力:「不怕没品味的人,就怕没品味的人用心」
  2. 【今日互联网大事儿】聚美市值缩水一半
  3. 用数据挖掘来支持音乐创作
  4. 怎么使用继承的一个实例
  5. SD卡格式化怎么恢复?只需要五个步骤
  6. Linux解压有思路
  7. kinect 录制彩色和深度视频
  8. Microsoft Dynamic CRM 2013安装
  9. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
  10. C#遍历文件读取Word内容以及使用BackgroundWorker对象打造平滑进度条