SAP新的扩展策略

在软件即服务(SaaS)应用的推动下,SAP Cloud优先的战略非常明显,随之带来的是SAP Clean core的战略,从经典的 ABAP 可扩展性模式转变为 SAP S/4HANA 现代可扩展性模式。那么Clean core战略到底是什么?新的扩展模式到底有哪几种?本文将一一讲述。

Clean core是一种扩展方法的概念,其基本目标是:扩展不应破坏升级,升级不应破坏扩展。主要的规则有:

  • Fit-to-Standard:尽可能利用 SAP 标准流程。
  • 从项目的第一天起就实行零修改政策。
  • 充分发挥新扩展选项(In-App, Developer, or Side-by-Side)的潜力。
  • 消除与标准代码和功能冗余的增强功能,以及标准代码的 "克隆"。
  • 使用 SAP BTP 扩展功能进行应用程序开发和集成。

那么新的扩展模式到底有哪几种?我们先来看一张SAP官方提供的图

从上图中我们可以看出新的扩展方式有3种,分别是

  1. Key User (In-app)扩展
  2. On-stack Developer扩展
  3. Side-By-Side扩展

最后还有一种是我们熟悉的基于ABAP的Classic扩展方式,下面分别来说明一下每种扩展方式。

  1. Key User (In-app)扩展

这是SAP提供的典型的Low-code/no-code的扩展方式,主要是为了提供给业务专家(business experts)或者所谓的公民开发者(citizen developer)的扩展方式,可以使用Extensibility Fiori Apps, ABAP web editor等工具进行扩展。典型的使用案例有

  • SAP Fiori界面进行屏幕布局,如移动/隐藏字段和字段组、更改标签等、自定义表单和模板。
  • 自定义 CDS (Core Data Services)视图和分析应用程序。
  • 自定义业务对象(business objects),只需最少的编码工作。
  • 标准业务对象的自定义字段。然后,自定义字段可在整个应用堆栈中使用(从用户界面到数据库表)。
  • 使用Cloud BADIs 自定义业务逻辑。
  • 将自定义字段添加到流程组(例如,从销售报价单和销售订单到交付和发票),以提供一致的端到端扩展性。
  • 复制并调整打印和电子邮件表单模板。

  1. On-stack Developer扩展

On-stack Developer扩展介于Key User (In-app)扩展和Side-By-Side扩展之间,使用受限的 ABAP 版本开发自定义 ABAP 代码以及调用 SAP S/4HANA 数据、事务代码或应用程序,可以使用Eclipse-based IDE (ABAP Development Tools)、SAP Business Application Studio (SAPUI5 Adaptation Project)等工具进行扩展。这里受限的ABAP版本是针对Cloud优化的版本,比如不能直接select标准表,只能使用CDS view。典型的使用案例有

  • 基于 ABAP 的自定义app
  • 使用 SQL 访问 SAP S/4HANA 数据的定制应用程序
  • 在与 SAP 应用程序相同的逻辑工作单元 (LUW) 中运行的自定义扩展
  • 用于side-by-side SAP BTP 应用程序的自定义远程 API 或服务
  • SAPUI5 适配项目,用于扩展 SAP Fiori 应用程序

  1. Side-By-Side扩展

在SAP 业务技术平台 (SAP BTP) 上运行的扩展,这种模式可以无缝集成SAP S/4HANA 数据、事务或应用程序。可以使用专业工具Eclipse-based IDE (ABAP Development Tools)、SAP Business Application Studio开发,或者使用低代码工具SAP Build Apps、SAP Build Process Automation、SAP Build Work Zone进行开发。典型的使用案例有

  • 为单独目标群体提供的应用
  • 智能服务,比如AI
  • 集成多个ERP和云服务的应用
  • 非ABAP开发(JAVA,Node.js..)

下面这张图表示了各种扩展模式在那些SAP平台上适用。

SAP提供了从传统的基于ABAP扩展模式与现代扩展模式的对应方式,比如ABAP报表可以由Fiori APP或者SAP Analytics Cloud代替,但是我也有疑问是不是所有的传统扩展模式都可以被取代,特别是与业务流程紧密结合的各种增强。不过,还是让我们拭目以待吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/516657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB 统计滤波(去除点云噪声)(55)

MATLAB 统计滤波法(去除点云噪声)(55) 一、算法介绍二、算法实现1.原理2.代码一、算法介绍 点云统计滤波,是一种常用的去噪点方法,原始的点云数据中包含多种噪点,无法直接使用,往往需要通过一些方法去除噪点,而统计滤波在这方面的使用非常广泛常见,下面是去噪点后的…

书生作业2

Task 1 生成200字以上的笑话,可以看到使用不同的提示词,会有不同的效果。 如果使用提示词“讲一个笑话.200字以上”, 会有偶发的输出较短的笑话的情况。 如果使用提示词“讲一个200字以上的笑话”时,结果相对稳定。 下载目前两种…

MinGW使用std::thread报错error: ‘thread‘ is not a member of ‘std‘

目录 问题描述简单的测试代码报错及解决 问题描述 在windows上用vscode编写c代码进行编译时,一直上报error: ‘thread’ is not a member of std’的错误,搜索该错误上报都是说c版本不匹配,然后我在task.json里面添加了-stdc11之后还是报错&…

【Vue】watch监听复杂数据,新值与旧值一样

问题 watch监听复杂数据,例如数组,旧值与新值一样 解决方案 监听回调里返回新数组,新、旧数组地址改变,得到的值也就不一样,例↓ ()>[...data] 码 test.js // 数据 const musicList ref([{ id: 540000200805…

STM32-05基于HAL库(CubeMX+MDK+Proteus)串行通信案例(中断方式接收命令)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的功能代码五、运行仿真程序,调试代码 一、功能需求分析 在中断机制实现按键检测的案例之后,我们介绍串…

Rust egui(4) 增加自己的tab页面

如下图,增加一个Sins也面,里面添加一个配置组为Sin Paraemters,里面包含一个nums的参数,范围是1-1024,根据nums的数量,在Panel中画sin函数的line。 demo见:https://crazyskady.github.io/index.…

3. python练习题3-自由落体

3. python练习题3-自由落体 【目录】 文章目录 3. python练习题3-自由落体1. 目标任务2. 解题思路3. 知识回顾-%占位符格式化处理3.1 概述3.2 占位符的多种用法3.3 格式化操作符辅助指令3.4 将整数和浮点数格式化为字符串 4. 解题思路4.1 球第1次下落4.2 球第2次下落 5. 最终代…

可能是最便宜的姿态传感器,国产三轴加速度计SC7A20

可能是最便宜的姿态传感器 三轴检测 批量参考价格:整盘单价:1.242,一个包装10K,希望厂家能出点数量少的包装,这一盘太多了:) 特点 宽电压范围 1.71V-3.6V 1.8V 兼容数字 IO 口 低功耗模式下…

【论文精读】 GPT,GPT-2,GPT-3:大力出奇迹

系列文章目录 【论文精读】Transformer:Attention Is All You Need 【论文精读】BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding 文章目录 系列文章目录一、前言二、GPT(一)文章概览&#xf…

44.网络游戏逆向分析与漏洞攻防-角色管理功能通信分析-角色创建服务器反馈数据包分析

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 现在的代码都是依据数据包来写的,如果看不懂代码,就说明没看懂数据包…

vue快速入门(五)v-show与v-if

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-if与v-show底层的区别v-if与v-show的效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

排序算法-希尔排序

希尔排序是插入排序的一种改进版本&#xff0c;通过将整个序列按一定间隔分组&#xff0c;对每个分组进行插入排序&#xff0c;然后逐渐减小间隔&#xff0c;直到间隔为1&#xff0c;最后对整个序列进行一次插入排序。希尔排序的核心思想是利用插入排序对近乎有序的序列进行排序…

Vue监听器watch的基本用法

文章目录 1. 作用2. 格式3. 示例3.1 value 值为字符串3.2 value 值为函数3.3 value 值为对象 4. 与计算属性对比 1. 作用 监视数据变化&#xff0c;执行一些业务逻辑或异步操作。 2. 格式 监听器 watch 内部以 key &#xff1a;value 的形式定义&#xff0c;key 是 data 中的…

基于springboot实现墙绘产品展示交易平台管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现墙绘产品展示交易平台管理系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本墙绘产品展示交易平台就是在这样的大环境下诞生&…

继承.Java

目录 1&#xff0c;概述 1.1继承的含义 1.2什么时候用继承 1.3继承的好处 1.4继承的特点 2&#xff0c;继承的格式 3&#xff0c;可以继承哪些内容 4&#xff0c;成员方法和成员变量的访问特点 5&#xff0c;构造方法的访问特点 6&#xff0c;this&#xff0c;super…

【ARM 嵌入式 C 常用数据结构系列 25 -- container_of 宏 使用介绍】

文章目录 container_of 宏container_of 宏的定义container_of 使用示例应用场景总结 container_of 宏 在Linux内核编程中&#xff0c;container_of宏是一个非常有用的工具&#xff0c;它允许开发者从指向结构体中某个成员的指针反向获得包含它的完整结构体的指针。这在实现基于…

基于深度学习的植物叶片病害识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的植物叶片病害识别系统&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Strea…

【IT运维入门(ITHW)系列】之「快速部署」第一期清单(持续更新)

ITHW是Information Technology Hello World的缩写简拼。意在提供IT领域的入门相关知识&#xff0c;近期给大家带来的是主流技术选型的快速部署系列&#xff0c;意在最大程度地简化部署过程&#xff0c;以便能快速体验或测试相关技术选型。 ITHW快捷部署系列&#xff08;第一期&…

【服务器部署篇】关于云服务器的选择和购买

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

蓝桥杯(4):python动态规划DF[1]

动态规划相当于正着想&#xff1f;dfs主要适用于位置的变化&#xff1f; 子问题&#xff01;状态&#xff0c;状态转移方程 1 一维DP 1.1 定义 重叠子问题&#xff01;转换成子问题 &#xff0c;与记忆化搜索很像 1.2 例子 1.2.1 上楼梯 子问题到最终的问题只能跨一步&…