【MM系列】SAP ABAP BAPI 和 RFC 的区别

公众号: SAP Technical
本文作者: matinal
 

 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

RFC:是se37写出来的其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。
BAPI:是sap做好的实现待定业务操作的rfc。
RFC:是面向过程的,调用简单直接;
BAPI:是面向对象的,有属性,方法,有事件。更加的复杂和丰富,更能反映sap业务的应用,bapi方法的构造是基于rfc的,所以可以说bapi集成了rfc。
RFC:一种函数,用于外部程序调用
BAPI:一种函数,用于主要业务流程处理
一个BAPI函数往往能是一个RFC函数(我不知道是不是所有BAPI都可以有基于RFC技术来调用,
但是至少也可以说大部分吧,java里面用BAPI,就是因为这个BAPI函数具有RFC的特性)。


补充:
  BAPI(business application programming interface)是面向对象程序设计方法中的一组程序接口。它允许程序员通过SAP将第三方软件整合成R/3专有产品。为了完成一些特殊的商业任务,如上传交易数据等,R/3系统中内置了BAPI。
  BAPI和RFC不是同一个层次上概念,不能说从字面上看到BAPI函数和RFC函数就认为他们之间有必然的联系和区别。打个比如,问一个问题:人可以分为哪几类,答曰:男人和老人。大家都知道,男人是基于性别来说的,老人是基于年龄的。BAPI是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务对象business object),比如单据类销售订单,组织:公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(Remote Funciton Call),一个男人可能同时也是一个老人,一个BAPI函数往往能是一个RFC函数(我不知道是不是所有BAPI都可以有基于RFC技术来调用,但是至少也可以说大部分吧,VB里面用BAPI,就是因为这个BAPI函数具有RFC的特性)

  BAPI是个SAP里一个很好的思想,把业务对象都对象化了。刚学ABAP/4时,并不能理解SAP所说”ABAP/4”中的‘4’,而觉得它更像是一种脚本语言,顶多也就是和C一样,但是自从我接触了BAPI之后,我才体会到SAP说ABAP是种4G语言的确不虚。 当在外部调用BAPI的时候,比如VB,就可以把SAP里的诸如订单,物料,员工,工厂等作为一个对象来处理,而且这种处理又是那么的简单,可能只要几句代码就可以了,最关键就是:1.收集BAPI函数所要的数据,也就是BAPI输入参数,VB也好,SAP本身的 Screen也好,甚至Web页面也好,只不过是一个数据收集器!(要作一些必要的数据检查保证它们是正确的,不过即使不正确也没有关系,BAPI会返回错误信息) 收集完成了,就送给BAPI作为参数,剩下的事都是BAPI给做了,你就不用管了! 2.接收BAPI返回的信息,也就是BAPI输出参数,并把它们“翻译”成恰当的形式给表达给用户。

转载于:https://www.cnblogs.com/SAPmatinal/p/11181435.html

MM02到BAPIBAPI_MATERIAL_SAVEDATA修改物料价格的实战避坑指南 本文详细介绍了如何使用BAPI_MATERIAL_SAVEDATA在SAP系统中批量修改物料价格,从MM02图形化操作到BAPI编程方式的实战迁移。通过解析关键参数结构、数据获取转换技巧及常见错误解决方案,帮助开发者高效处理物料主数据更新,特别适合需要批量操作或系统集成的场景。 阅读详情

相关推荐

SAP学习与开发实用资源大全

SAP作为企业级ERP系统的代表,其技术生态涵盖从基础配置到深度开发的完整知识体系。理解SAP系统的核心在于掌握其模块化架构(如FI/CO、MM、SD等)关键技术组件(BAPI、IDoc、OData等)。这些技术支撑着企业业务流程的数字化,在财务、供应链、生产等关键领域实现数据集成与流程自动化。对于开发者而言,ABAP编程Fiori前端开发是构建定制解决方案的基础能力。在实际应用中,从官方文档(help.sap.com)到开发者社区(SCN),从API门户到GitHub代码库,系统化的学习路径配合实战资

weixin_29055137的博客 241

SAP中的函数bapi

SAP中的函数bapi简介,是给应用顾问看的,不是给ABAP看的。

基于SAPJCO实现AI Agent对SAP的操作

SAP MCP

qq_28505833的博客 223

SAP资料集有ABAP-PP-MM-RFC-BAPI-JCO等.rar

SAP资料集有ABAP-PP-MM-RFC-BAPI-JCO等.rar

ABAP idoc bapi rfc 之间的区别

 se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法输入输出参数就会有一些限制。bapisap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。     idoc是基于SAP自己的类似xml格

2651

abap bapi badi 有什么区别

BAPI 是函数,你可以输入T-code:BAPI,查找系统里的bapi函数。比如采购申请的审批的勾打上,就可以调用bapi函数来实现。 BADI 是abap的一种增强,他的调用方式是CALL METHOD (instance),(相关的TCODE是SE18SE19),你可以通过EXIT_HANDLER这个单词查找BADI。 创建增强有多种方法,用CMOD可以创建,用spro也可以创建。也正

全欣 的专栏 4534

【转载】SAP比较常用的几个接口方式及比较

1.PI - 信使中间件 (大公司多选择) 数据: SAP- PI- U8 U8- PI- SAP PI 底层用的还是webservice 技术 优点:实时性高; 可处理大数据(在调用PROXY 发送时 还可以分包处理); 有接口数据日志在PI系统; 缺点:PI 服务器+1; PI系统配置工作; 每个外部系统都要做wsdl配置; 2. RFC - 函数 (小公司 / 简单业务场景使用) ...

hubaichun的专栏 1万+

SAP常见的几个接口技术的区别

RFCSAP接口技术中最简单易用的一种方式,该方式开发比较简便,特别适合于外部报表开发,但对于大数据量的查询效率相对较低。 BAPI基于RFC技术实现,被作为BO的Interface使用,是SAP提供的稳定而强大的业务接口,其增强版本控制都在业务对象仓库中记录。BAPI效率相对比较高,这个主要体现在有些BAPI是用direct input的方式写的。但当你写的不只是一个LUW时,而

少年休闲海 1万+

SAP ABAP全局类创建指南:从设计到实践

面向对象编程是构建复杂、可复用软件系统的核心范式,其核心思想在于通过封装、继承多态来组织代码。在SAP ABAP开发领域,全局类是实现这一范式的关键技术组件,它作为可被系统内任何程序调用的公共模块,极大地提升了代码的复用性可维护性。从技术价值看,全局类不仅封装了业务逻辑数据,还通过清晰的接口定义,为构建松耦合、高内聚的系统架构奠定了基础。其应用场景广泛,从封装通用业务对象(如销售订单、物料管理)到作为RFCBAPI乃至OData服务的后端逻辑载体,都是全局类发挥作用的典型领域。本文聚焦于**全局类*

weixin_30600197的博客 394

SAP ABAP调试实战:从SM37后台作业到弹出窗口,7种特殊场景的Debug方法全解析

本文全面解析SAP ABAP调试中的7种特殊场景,包括SM37后台作业、Update Task、远程RFC调用等疑难问题的Debug方法。通过JDBG命令、Update调试激活、远程断点设置等实战技巧,帮助开发者高效解决复杂环境下的调试挑战,提升SAP系统开发效率。

weixin_30388677的博客 476

SAP批量价格维护:BAPI_PRICES_CONDITIONS实战指南与避坑详解

在ERP系统集成与数据自动化处理领域,批量数据维护是提升企业运营效率的核心技术。其原理在于通过程序化接口替代人工操作,实现数据的高效、准确与可追溯性处理。这一技术价值在SAP生态中尤为突出,特别是在销售与分销(SD)模块的物料价格主数据维护场景下,能够解决海量价格数据同步、电商实时调价、集团统一定价下发等业务痛点。作为SAP官方提供的标准业务编程接口(BAPI),BAPI_PRICES_CONDITIONS封装了完整的定价业务逻辑与校验,是执行批量价格创建、更新操作的可靠方案。本文将深入解析该BAPI的设计

weixin_30530339的博客 407

SAP系统核心模块操作与集成开发实战指南

企业资源计划(ERP)系统是现代企业数字化转型的核心平台,通过标准化业务流程实时数据整合实现运营效率提升。作为ERP领域的领导者,SAP系统凭借其模块化架构深度行业解决方案,在财务、供应链、生产制造等场景广泛应用。本文聚焦SAP系统的两大核心技术:IDoc中间文档实现异构系统集成,以及RFC远程函数调用构建分布式架构。针对企业实际需求,详解SD销售模块的BAPI接口开发陷阱MM物料管理的LSMW迁移策略,并结合HANA数据库优化实践,帮助开发者掌握SAP与外部系统的REST API对接方法。这些技术不

weixin_30074763的博客 309

SAP ABAP Function Module实战:从BAPI调用到性能优化全解析

SAP ABAP开发中,函数模块(Function Module)是实现业务逻辑封装与复用的核心技术。其核心原理在于通过定义明确的输入、输出参数及异常处理机制,构建了严格的调用契约,实现了逻辑的隔离与重用。这一技术价值在于,它不仅是调用SAP标准业务API(如BAPI)的主要方式,更是实现跨系统集成(RFC构建可复用工具函数的基础。在实际应用场景中,无论是查询物料主数据、创建采购申请,还是处理销售订单,都离不开对Function Module的精准调用。例如,在调用创建类BAPI时,必须遵循“两步提交

weixin_29248313的博客 305

SAP系统核心模块与开发技术全解析

企业资源计划(ERP)系统作为数字化转型的基础设施,其核心价值在于整合业务流程与数据流。SAP作为全球领先的ERP解决方案,通过内存计算技术HANA实现事务处理效率的质的飞跃。从技术架构看,SAP系统包含传统ABAP开发体系现代RESTful编程范式,支持从财务(FI/CO)、供应链(MM)到销售(SD)的全业务流程数字化。特别是在S/4HANA版本中,CDS视图RAP框架大幅提升了开发效率。实际应用中,系统集成方案如PI/PO中间件IDoc接口技术,以及LSMW数据迁移工具,都是打破信息孤岛的关键。

weixin_33462167的博客 269

SAP ABAP Open SQL深度解析:从SELECT语句到高性能数据查询实践

在数据库编程中,SQL(Structured Query Language)是数据操作的核心基础,它定义了与数据库交互的标准语法。其原理在于通过声明式语言实现对数据的增删改查,数据库优化器会将其转换为具体的执行计划。掌握SQL对于提升应用性能数据安全性具有重要技术价值,尤其在企业级ERP系统如SAP中,高效的数据访问直接关系到系统响应速度与稳定性。在SAP ABAP开发领域,Open SQL作为ABAP语言与数据库交互的接口,其特有的缓冲机制、客户端处理语法转换层,使得开发者能在不同底层数据库上编写可移

Ferrerooo 成长 1225

SAP_ALL 不是万能钥匙,而是生产系统里最该被锁进保险柜的授权配置文件

文章摘要: SAP_ALL是SAP系统中的复合授权配置文件,它包含几乎所有系统权限,虽然能快速解决权限问题,但会带来严重安全隐患。文章指出SAP_ALL不是普通角色,而是技术层面的授权集合,会模糊职责边界,导致审计追踪困难。作者通过ABAP代码示例说明SAP_ALL如何绕过正常权限检查,并强调开发测试阶段使用SAP_ALL会掩盖真实权限问题。系统管理员也不应长期持有SAP_ALL,而应按需分配特定管理权限。建议仅保留一个应急账号并严格管控,同时用PFCG基于岗位职责设计精细化的角色授权模型来替代SAP_AL

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1708

ABAP RFC接口开发实战:从原理到性能优化与安全加固

远程函数调用(RFC)是企业应用集成(EAI)系统间通信的核心技术之一,它允许不同系统或程序模块之间进行函数级的交互。其原理基于客户端-服务器模型,通过定义清晰的接口契约实现跨语言、跨平台的远程过程调用。在SAP生态中,RFC技术价值尤为突出,是实现SAP与外围系统(如Java、Python应用)数据无缝流转业务流程集成的标准方案,广泛应用于创建订单、查询库存、财务过账等核心业务场景。本文聚焦ABAP RFC开发,深入剖析同步、异步、事务性三种调用模式的底层机制与适用场景,并结合BAPI调用、自定义函数

ciya3282的博客 360
上一篇: 【ABAP系列】SAP ABAP的事件执行顺序
下一篇: 【ABAP系列】SAP 销售订单的行项目里条件的增强
ARICK2014
博客等级 码龄12年 96粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值