首先来讲解一下什么是出口,顾名思义,就是一段程序执行到最后必经的一段程序。
为什么会有出口呢?因为正常的业务系统不能满足实际需求,这时可以在出口中增加一些功能,来达到要求,这也就是为什么它还叫增强。我感觉它跟给操作系统打补丁差不多。
在 Sap 中出口就是标准程序最后要调用的一个函数或者功能模块,这个函数或功能模块的输入已经由 Sap 定义好。
自己写的 SAP 出口程序在系统升级的时候会被保留,而如果更改标准程序在 SAP 系统升级的时候会被覆盖。
下面介绍一下什么时候需要使用出口以及出口的种类:
1 :在业务检查时,比如在某个工厂发货,可以设定在某个库位的出货只能使用某种移动类型。
2 :在需要界面增强时,比如用户对某个字段要求大写,但是最终用户不按规范操作,这也可以在出口中自动转换,有些模块甚至能自定义数据库 字段,并且可以在出口中增加字段输入。还有的模块能对输入数据检查,甚至实现自动替代等功能。
3 :有不规则业务时,比如按某种条件定价,可以设定从自己定义的表中按某种条件取值
4 :搜索帮助的出口,可以对 Sap 标准的搜索帮助做权限控制。
等等。
SAP 有四种基本用户出口的类型:
1. 菜单出口 -Menu Exits
定义自己的菜单
2. 屏幕出口 -Screen Exits
定义自己的屏幕
3. 功能模块出口 -Function Module Exits
在 SAP 应用程序中添加功能
4. 关键字出口 -Keyword Exits
在 ABAP/4 字典中的关键字数据元素添加文档。结果是你在使用这些数据元素的字段处按 F1 后会出现你自定义的说明文档
因为出口都是被 Sap 预先定义好的,那么怎么寻找自己需要的出口呢?
1 :可以通过配置文档的帮助和 SAP library 寻找业务系统的出口, sap library 在‘ implementation guide ’中寻找出口,在配置功能执行按钮左边一般都有一个说明文档,描述相关的出口。
2 :为了方便我们把所有的出口名称及其描述列在文章的后面。
下面具体介绍怎样写出口程序:
为了对出口程序的修改进行管理, sap 提供了专门用来管理出口程序的事务,事务代码是 CMOD 。