S/4HANA公有云版的内部ABAP拓展

Estimated read time 2 min read

如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容

 

很多人误以为SAP ERP公有云版阉割ABAP开发能力。事实恰恰相反:它不仅保留了ABAP开发的核心能力,还让开发变得更规范、更可靠、更面向未来。

 

SAP如何在ERP公有云版中实现ABAP开发??

业务现实:

企业需要深度定制来满足特殊业务需求,这是不可避免的。但传统ABAP扩展方式虽然灵活,却容易导致维护噩梦和升级困难,SAP的内置AI功能更是难以做到开箱即用

在ERP公有云版本中,SAP提供了更智能的开发方式:

关键用户扩展:低代码方式解决大部分的小需求开发人员扩展:基于ABAP的深度定制,解决复杂需求

重点是:开发人员扩展方式依然是真正的ABAP开发!

 

开发人员拓展方式和传统ABAP代码开发的区别

核心事实:两种方式都是写ABAP代码,区别只是开发规范更严格了

开发活动传统ABAP方式开发人员拓展方式差异说明开发工具可以采用ADT或内置T-Code必须使用基于Eclipse的ABAP Development Tools(ADT 数据模型定义创建数据库表(SE11)创建CDS数据定义和接口视图使用声明式CDS语法,内置元数据注解业务逻辑实现编写Function ModuleClass开发RAP行为定义和行为实现类使用声明式CDS语法,内置元数据注解服务暴露手动创建RFC/BAPI通过Service Definition自动生成OData服务自动化服务生成,标准OData协议UI开发开发Dynpro/WebDynpro界面

使用Business Application Studio开发Fiori代码然后部署到S/4HANA

基于元数据驱动的UI生成

权限控制

手动实现权限检查

通过CDS访问控制和RAP授权

声明式权限模型,集成到框架中

但从拓展可行性角度来看的根本区别是,开发人员拓展方式采用了”白名单”机制:

只能使用SAP官方发布的稳定API和CDS视图这确保了你的代码在SAP系统升级时不会出问题

所以实际开发前需要确认:

业务扩展点:确认标准流程提供的BAdI和扩展接口数据访问:确认所需业务数据的CDS视图API可用性:确认所需功能API的发布状态

最后设计目标业务流程,一旦确认完毕,就是标准的ABAP开发流程!

 

实例

接下来以一个完整的ERP公有云开发项目为例,

这个案例将展示完整的’表-逻辑-界面-部署’全栈开发流程,所有代码都运行在S/4HANA系统内部

 

Develop an SAP Fiori App to Trigger Purchase Requisitions API

采购申请应用开发

 

教程概述

这个教程的整体目标是创建一个完整的SAP Fiori应用,用于触发采购申请API。最终成果是一个在线商店应用,客户可以订购商品并在其中创建新的采购申请项目

 

教程步骤:

1.后端开发:

CDS视图数据模型创建

基于CDS视图定义数据模型,为购买申请应用提供数据基础 [3]创建购物车数据表和相关字段,定义商品信息、数量、价格等关键属性建立数据关联关系,确保数据完整性和业务逻辑正确性

RAP业务对象开发

创建自定义业务对象以实现业务逻辑实现购买申请API触发功能,处理商品订购和申请单创建逻辑配置业务对象行为,包括创建、更新、删除等操作

OData服务生成与激活

通过自动暴露功能生成OData服务,为前端应用提供数据接口在SAP Gateway系统中激活OData服务,确保服务可被前端调用配置服务权限和访问控制,保障数据安全

至此,数据表,数据模型,后端逻辑和供前端访问的接口都已经开发好并部署好

2.前端开发:

Fiori应用开发

采用BTP上的SAP Business Application Studio开发Fiori代码选择List Report Page模板,配置数据源为已创建的OData服务设置应用基本属性,包括名称、描述和部署配置

前端部署配置

配置Fiori部署目标为ABAP系统的SAP UI5 ABAP Repository指定包名和传输请求,确保应用正确部署到目标系统验证Fiori代码是否已经部署到BSP库

至此,前端代码以及和后端的对应关系也已经开发好并部署好

3.权限和访问配置

配置身份权限,配置OData服务访问权限

建立业务目录,将IAM应用分配给相应的业务角色

发布业务目录,使最终用户能够访问应用

 

看完整个开发流程,你应该明白了:

– 后端开发:写的是ABAP代码,部署在S/4HANA系统内

– 前端开发:标准的Fiori开发,同样部署在系统内

– 权限配置:完整的ABAP权限体系

 

所谓的”限制”实际上是”规范”,就像高速公路有护栏不是为了阻止你开车,而是让你开得更快更安全。

 

结论:真相大白

经过完整的技术剖析和实战案例,答案很清楚:SAP ERP公有云版支持体内的ABAP开发,从数据建模到界面开发,从业务逻辑到系统部署,一个都不少。

所谓的”限制”其实是”升级保险”——让你的定制代码在SAP系统演进中始终保持兼容,而不是成为技术债务。

SAP ERP公有云版 = 能开发 + 更安全 + 可持续

 

关于本文内容有任何问题或见解,欢迎在评论区留下你的想法

 

​ 如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容 很多人误以为SAP ERP公有云版”阉割”了ABAP开发能力。事实恰恰相反:它不仅保留了ABAP开发的核心能力,还让开发变得更规范、更可靠、更面向未来。 SAP如何在ERP公有云版中实现ABAP开发??业务现实:企业需要深度定制来满足特殊业务需求,这是不可避免的。但传统ABAP扩展方式虽然灵活,却容易导致维护噩梦和升级困难,SAP的内置AI功能更是难以做到开箱即用在ERP公有云版本中,SAP提供了更智能的开发方式:关键用户扩展:低代码方式解决大部分的小需求开发人员扩展:基于ABAP的深度定制,解决复杂需求重点是:开发人员扩展方式依然是真正的ABAP开发! 开发人员拓展方式和传统ABAP代码开发的区别核心事实:两种方式都是写ABAP代码,区别只是开发规范更严格了开发活动传统ABAP方式开发人员拓展方式差异说明开发工具可以采用ADT或内置T-Code必须使用基于Eclipse的ABAP Development Tools(ADT) 数据模型定义创建数据库表(SE11)创建CDS数据定义和接口视图使用声明式CDS语法,内置元数据注解业务逻辑实现编写Function Module或Class开发RAP行为定义和行为实现类使用声明式CDS语法,内置元数据注解服务暴露手动创建RFC/BAPI通过Service Definition自动生成OData服务自动化服务生成,标准OData协议UI开发开发Dynpro/WebDynpro界面使用Business Application Studio开发Fiori代码然后部署到S/4HANA中基于元数据驱动的UI生成权限控制手动实现权限检查通过CDS访问控制和RAP授权声明式权限模型,集成到框架中但从拓展可行性角度来看的根本区别是,开发人员拓展方式采用了”白名单”机制:只能使用SAP官方发布的稳定API和CDS视图这确保了你的代码在SAP系统升级时不会出问题所以实际开发前需要确认:业务扩展点:确认标准流程提供的BAdI和扩展接口数据访问:确认所需业务数据的CDS视图API可用性:确认所需功能API的发布状态最后设计目标业务流程,一旦确认完毕,就是标准的ABAP开发流程! 实例接下来以一个完整的ERP公有云开发项目为例,这个案例将展示完整的’表-逻辑-界面-部署’全栈开发流程,所有代码都运行在S/4HANA系统内部 Develop an SAP Fiori App to Trigger Purchase Requisitions API采购申请应用开发 教程概述这个教程的整体目标是创建一个完整的SAP Fiori应用,用于触发采购申请API。最终成果是一个在线商店应用,客户可以订购商品并在其中创建新的采购申请项目 教程步骤:1.后端开发:CDS视图数据模型创建基于CDS视图定义数据模型,为购买申请应用提供数据基础 [3]创建购物车数据表和相关字段,定义商品信息、数量、价格等关键属性建立数据关联关系,确保数据完整性和业务逻辑正确性RAP业务对象开发创建自定义业务对象以实现业务逻辑实现购买申请API触发功能,处理商品订购和申请单创建逻辑配置业务对象行为,包括创建、更新、删除等操作OData服务生成与激活通过自动暴露功能生成OData服务,为前端应用提供数据接口在SAP Gateway系统中激活OData服务,确保服务可被前端调用配置服务权限和访问控制,保障数据安全至此,数据表,数据模型,后端逻辑和供前端访问的接口都已经开发好并部署好2.前端开发:Fiori应用开发采用BTP上的SAP Business Application Studio开发Fiori代码选择List Report Page模板,配置数据源为已创建的OData服务设置应用基本属性,包括名称、描述和部署配置前端部署配置配置Fiori部署目标为ABAP系统的SAP UI5 ABAP Repository指定包名和传输请求,确保应用正确部署到目标系统验证Fiori代码是否已经部署到BSP库至此,前端代码以及和后端的对应关系也已经开发好并部署好3.权限和访问配置配置身份权限,配置OData服务访问权限建立业务目录,将IAM应用分配给相应的业务角色发布业务目录,使最终用户能够访问应用 看完整个开发流程,你应该明白了:- 后端开发:写的是ABAP代码,部署在S/4HANA系统内- 前端开发:标准的Fiori开发,同样部署在系统内- 权限配置:完整的ABAP权限体系 所谓的”限制”实际上是”规范”,就像高速公路有护栏不是为了阻止你开车,而是让你开得更快更安全。 结论:真相大白经过完整的技术剖析和实战案例,答案很清楚:SAP ERP公有云版支持体内的ABAP开发,从数据建模到界面开发,从业务逻辑到系统部署,一个都不少。所谓的”限制”其实是”升级保险”——让你的定制代码在SAP系统演进中始终保持兼容,而不是成为技术债务。SAP ERP公有云版 = 能开发 + 更安全 + 可持续 关于本文内容有任何问题或见解,欢迎在评论区留下你的想法   Read More Technology Blog Posts by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author