大家都知道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博客