SAP MM学习笔记7-SAP标准功能和Add-on之间的关系

news2024/11/17 23:45:21

大家都知道SAP标准功能异常强大,而且也可以用ABAP做Add-on开发,在ERP市场长期占No1地位,那么SAP标准功能和Add-on之间到底有什么的关系呢?

咱们今天就来探讨一下。

1,一图说明标准和Add-on之间的关系

<图中上面一行>

1),定制程序(上面一行右侧绿色的部分)

这个部分是为了客户的业务自定义的程序。它与左侧的标准不发生关联,是独立的。

2),SAP标准(上面一行左侧蓝色的部分)

这个部分是SAP标准程序。日常工作当中,客户在用,顾问也在用。

3),扩张(上面一行中间灰色的部分)

这个部分是开发者开发的程序。它和SAP标准之间是有接口的,要和标准功能一起执行,不能单独运行。SAP标准运行的时候,它会从入口到扩张里面去,执行完之后,它又会从出口返回SAP标准程序。

那么什么时候需要扩张呢?

确实标准功能实现不了客户需求了,才需要扩张或定制开发。这就需要对标准有很好的把握。

SAP里面有个Fit-Gap的概念,作为顾问,咱们第一要务就是做 Fit,即用既存的标准功能,来匹配(Matching)客户的业务。

SAP顾问需要完成fit/gap 分析。对SAP标准功能可以满足的要定义主数据设计和配置设计。对SAP标准功能不能满足的需求,要定义RICEFW。蓝图设计最后要进行流程集成预演和SAP功能/技术设计预演,并最终得到用户的签字确认。

<图中下面一行>

上面一行是有这些内容了,那如何实现的呢,就是第二行箭头做的事儿了。

1,ABAP工作台

T-Code SE38 / SE80

2,定制配置 Customing

T-Code Spro

这里说明一下,为何 修改(Modification 灰色箭头)指向了标准(上一行蓝色的部分),扩张(绿色箭头)指向了扩张(上一行灰色的部分)。稍微详细一点的图如下:

1,User Exit(用户出口)

如上图所示,修改(Modification 灰色箭头) 里面有一个 User Exit(用户出口 ⑧)。这个User Exit(用户出口)是什么意思呢?就是说SAP标准功能里面,客户也是可以添加自己代码的。SAP为了方便客户添加他们自己代码,就留了这么一个口,让他们可以在这个地方写自己的代码。这个东西当然是很方便的,但是也有几个缺点。

1),SAP不再为这整个文件的其他代码负责了。出了问题客户自己负责。

2),SAP升级的时候,因为是同一个文件,这个代码就被覆盖了。

 

2,Custom Exit(客户出口 ⑤) 、Business AddIn(BAdI、是基于面向对象模式的增强技术⑦)

这个是第二代和第三代的出口。

这里完全分开了,文件都是独立的。上面第一代的User Exit(用户出口 ⑧)的问题可以消解掉。

1),SAP还会为自己开发的代码负责,还可以通过标准调用 Custom Exit(客户出口 ⑤) 、Business AddIn(BAdI)实现客户自己的业务逻辑。

2),SAP升级的时候,因为是不同的文件,这样代码就不会覆盖。

综上,由于历史的原因呢,这里第二行修改(Modification 灰色箭头)也就指向了第一行的标准,而第二行扩张(绿色箭头)也就指向了扩张(上一行灰色的部分)。

2,下面说一下上图中的一些概念 (这些也可以统一叫 更改 SAP (Changing SAP))

  • Customizing(定制配置): you can configure specific business processes and functions for your system based on the implementation Guide ( IMG )。
    这个其实就是SPro。
    是最常用的使用 SAP 工具(如 R/3 Reference Model and Implementation Guide)更改 SAP Standard 的方式。可以认为 Customizing 是实施 R/3 所必需的,通常由 Functional Team 来执行。
     
  • Personalization(个性化): do not require development, but which allow field and screen properties to be adapted and simplified。Personalization 技术包含创建变式、设置/获取参数及活动组(Activity Groups)。
    因为这个是个性化设置,所以一般是由用户自己设定的。
     
  • Modification(修改): directly change SAP repository objects(可能影响升级,且需要Modification Assistant协助)
     
  • Enhancement(增强): adapt SAP repository objects without the need to modify them。
    常由开发 Team 执行,包含的活动有:字典增强、Funciton Module Exits、菜单和屏幕出口及 Business Add-ins (BADI)。
     
  • Customer Development(定制开发): create new repository objects in the customer namespace。
    自定义 ABAP 程序——可以与 SAP 对象或自定义开发的对象一起工作。
    注意这个东西和标准程序之间是独立的,不能互相通信。

(注意: Modification、Enhancement、Customer Development 会修改代码,所以会使用ABAP Workbench。)

2-1,定制配置( customizing )提供以下功能:

  • A roadmap as a structure plan for implementing and enhancing the SAP System(提供增强的路线图)
  • Tools for making and documenting system settings(记录系统设置)
  • Recommendations for system settings(提供系统设置建议)
  • Customizing projects as a means for controlling the management, editing, and analysis processes of the implementation(控制管理、编辑、分析等实施工作)

2-2,个性化( personalization )包括以下功能:

  • Screen field properties can be controlled using(个性化屏幕字段): Variant transactions, SET/GET parameters, User-dependent or client-dependent table control settings
  • Personalized menus(个性化菜单)
  • Role-based menus(角色菜单)
  • Favorites(收藏夹)
  • Shortcuts on your desktop(快捷方式)

2-3,只在以下情况下使用修改( modification ):

  • Customizing or personalization does not fulfill your requirements(无法配置)
  • A suitable enhancement option is not available(无法增强)
  • Copying the SAP object to the customer namespace cannot be considered as an option(无法复制标准对象再修改)

参考:

1,SAP_ABAP_请列出用户修改SAP标准功能的不同方式

SAP_ABAP_请列出用户修改SAP标准功能的不同方式_湖东的博客-CSDN博客

2,Unit1 Adjustment of SAP Standard Software(SAP标准软件修改)

教材_PA教材提纲 TAW12-2

3,ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转)

https://www.cnblogs.com/omygod/archive/2007/12/16/996962.html

4,蓝图设计对SAP项目实施的重要性

蓝图设计对SAP项目实施的重要性_sap蓝图设计_SAP剑客的博客-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Javalin解构

Javalin Javalin是一个轻量级http框架&#xff0c;我们可以很容易的了解请求的处理过程及其设计&#xff0c;具有较高的学习意义。 从demo说起 public static void main(String[] args) {Javalin app Javalin.create(config -> {System.out.println("用户配置"…

Java——N叉树的层序遍历

题目链接 leetcode在线oj题——N叉树的层序遍历 题目描述 给定一个 N 叉树&#xff0c;返回其节点值的层序遍历。&#xff08;即从左到右&#xff0c;逐层遍历&#xff09;。 树的序列化输入是用层序遍历&#xff0c;每组子节点都由 null 值分隔&#xff08;参见示例&…

网络基础(三)

目录 网络层与数据链路层 ​编辑 网络层 IP协议 IP的构成 TCP和IP各自解决什么问题&#xff1f; 基本概念 协议头格式 协议头分析 如何分离与封装&#xff1f; 如何分用(向上交付)&#xff1f; 16位首部校验和 32位源IP和目的IP 4位版本 8位服务类型(Type Of…

【计算机】单位制前缀的歧义-KB、kb、MB混用

引言 经常遇到容量、带宽的单位&#xff0c;MB&#xff0c;GB在进行单位换算时&#xff0c;总是傻傻分不清&#xff0c;查些资料浅记录一下。 公制&#xff08;metric system&#xff09; 又译米制&#xff0c;是一个国际化十进位量度系统。法国在1799年开始使用公制&#xf…

【微信小程序】-- 页面导航 -- 声明式导航(二十二)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

maven生命周期、阶段与默认绑定插件梳理

maven生命周期、阶段与默认绑定插件梳理 CSDN博客 码云源码 1.maven生命周期、阶段与默认绑定插件 序号生命周期lifecycle阶段phase默认绑定插件(链接官网)默认绑定插件(链接maven库)说明1cleancleanmaven-clean-pluginmaven-clean-plugin清理2.1buildvalidate——验证2.2b…

Unity记录1.1-入门-下载与创建项目

文章首发及后续更新&#xff1a;https://mwhls.top/4439.html&#xff0c;无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评&#xff0c;非常感谢&#xff01; 汇总&#xff1a;Unity 记录 写的很简略&#xff0c;因为不…

【数据挖掘与商务智能决策】第一章 数据分析与三重工具

numpy基础 numpy与数组 import numpy as np # 用np代替numpy,让代码更简洁 a [1, 2, 3, 4] # 创建列表a b np.array([1, 2, 3, 4]) #从列表ach print(a) print(b) print(type(a)) #打印a类型 print(type(b)) #打印b类型[1, 2, 3, 4] [1 2 3 4] <class ‘list’>…

目标检测: 数据增强代码详解

1. 常见的数据增强 1.1 翻转图像 左右水平翻转 假设图片的宽高为w,h,bdbox左上角A坐标为(x1,y1), 右下角B为(x2,y2)。经过左右水平翻转后,bdbox的左上角A1坐标(w-x2,y1) ,右下角B1坐标为(w-x1,y2)左右水平翻转的代码实现如下:from PIL import Image image = Image.open(i…

xmu 离散数学 卢杨班作业详解【4-7章】

文章目录第四章 二元关系和函数4.6.2911121618.120.222.1232834第五章 代数系统的一般概念2判断二元运算是否封闭348111214第六章 几个典型的代数系统1.5.6.7.11.12151618第七章 图的基本概念12479111215第四章 二元关系和函数 4. A{1,2,3} 恒等关系 IA{<1,1>,<2,2…

微服务到云原生

微服务到云原生 微服务 微服务架构&#xff08;Microservice Architecture&#xff09;是一种架构概念&#xff0c;旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。 微服务是一种架构风格&#xff0c;一个大型复杂软件应用由一个或多个微服务组成。系统中的各…

为什么Gateway网关引入了LoadBalancer组件就拥有了负载均衡能力?

1、思考&#xff1a;一般而言&#xff0c;当我们在项目中引入了 LoadBalancer 负载均衡启动器组件&#xff0c;那么SpringBoot自动配置的ClassPath类路径加载机制会扫描到 LoadBalancer 类路径下的 spring.factories 配置文件&#xff0c;会注册一些Bean &#xff0c;但为什么网…

Java开发环境搭配

#Java开发环境搭建 oracle官网下载java https://www.oracle.com/cn/ 下载匹配电脑系统的版本 注意&#xff1a;安装路径不要包含中文 #JDK环境变量配置&#xff08;win10&#xff09; path 是一个常见的环境变量&#xff0c;它告诉系统除了在当前目录下寻找此程序外&#…

kafka3.0安装使用

一&#xff1a;定义 Kafka传 统定义&#xff1a;Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;&#xff0c;主要应用于大数据实时处理领域。 Kafka最 新定义 &#xff1a; Kafka是 一个开源的 分 布式事件流平台 &#xff08;Event St…

安卓反编译入门01-apktool反编译使用流程

apktool反编译使用流程1.获取工具apktool反编译 APK&#xff0c;首先要有工具apktool.jar apktool下载地址&#xff1a;https://bitbucket.org/iBotPeaches/apktool/downloads作者github 地址&#xff1a;https://github.com/iBotPeaches/Apktool无脑下最新版就行了。将下载好的…

计算机网络协议详解(一)

文章目录&#x1f525;计算机网络通信&#x1f525;TCP/IP协议群&#x1f525;TCP协议传输特点&#x1f525;服务端口&#x1f525;数据包与处理流程&#x1f525;计算机网络通信 什么是通信协议 简单来说&#xff0c;通信协议就是计算机之间通过网络实现通信时事先达成的一种…

陀螺仪小车(Forerake-Car)

项目简介&#xff1a;搭建一辆有arduino UNO 与rnf24l01组成的小车&#xff1b;手部安装由arduino nano开发板、nrf24l01、imu构成的手势控制器&#xff0c;利用手势控制器检测手部状态、发送信号对小车进行前进&#xff0c;实现基于卡尔曼滤波的MPU6050姿态结算。 准备工作&am…

蓝桥杯2023/3/2

1. 小蓝正在学习一门神奇的语言&#xff0c;这门语言中的单词都是由小写英文字母组 成&#xff0c;有些单词很长&#xff0c;远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词&#xff0c;他准备不再完全记忆这些单词&#xff0c;而是根据单词中哪个字母出现得最…

格密码学习笔记(一):格的定义、基本区域和行列式

文章目录格的基本定义格的基本区域格的行列式致谢格的基本定义 定义1 给定nnn维实数空间Rn\mathbb{R}^nRn中的一组线性无关向量B{b1,…,bn}⊂Rn\bm{B} \{ \bm{b}_1, \dots, \bm{b}_n \} \subset \mathbb{R}^nB{b1​,…,bn​}⊂Rn&#xff0c;其整数系数线性组合构成的集合被称…

列表(list)、数组(numpy)、张量(tensor)、元组各自怎样查看形状

列表&#xff08;list&#xff09;、数组&#xff08;numpy&#xff09;、张量&#xff08;tensor&#xff09;、元组各自怎样查看形状 一、查看列表&#xff08;list&#xff09;的形状 1.shape import numpy as npL [[1,2],[3,4],[5,6],[7,8]] L np.array(L)print(L.sha…