SAP 增强也叫出口。是在SAP标准功能基础上进行扩展。
这种修改不是说想怎么改就怎么改,必须是在SAP预留的地方进行修改,因此你写的增强一般不会影响SAP标准代码,但是SAP标准程序在运行时会读你写的代码,因此你在增强里可以控制一定的SAP运行逻辑。
SAP增强分一二三四代增强
第一代增强
第一代增强是是基于SAP的源代码增强,也叫User-exit , 可以通过后调配置查找



事务码SE38,程序MV45AFZZ,位置:FORM userexit_field_modification.
………………
ENDFORM.


项目上一般公司都会去申请的



很多人都知道一代增强有一个很大的问题,SAP升级后里面的代码就会被覆盖了。
但是在实际项目中还是会有很多人去写。或许是经验不足,或许是项目周期只有6个月的原因。
因此SAP上线后升级是一个非常大的项目,一般都不会去升级。
其实这个问题是可以解决的,很多人也知道,就是没有串起来。
在很多学习系统中没有开发KEY ,你无法做测试。按照学习顺序来讲该学第二代第三代增强了。
因此很多时间都花在二三代上了。
等你去学习第四代的时候,你去搜下第四代增强几乎前篇一律的都在自开发程序上练习,并且还强调第二三实现不了时才用第四代。
问题是程序都是你自己开发的还做什么增强,没有什么意义,脱离了实际业务。
不过呢,练习的方法确实能派上用场,与一代增强结合起来就比较完美了。
方法都懂只不过没有融会贯通而已。
下面我们他们结合起来。
在SE38输入 MV45AFZZ 之后点显示进来(这个是没有开发KEY 的)

这个时候你无法修改的,你需要把显示增强调出来,这一点非常重要


鼠标放到那个多出来的东西上之后点增强






在曾增强实施前VA02 修改销售订单,抬头是可以看到金额的。

当写完代码后激活增强后


前面VA02显示那个金额意义不到,本来是想用VA03跟切合实际.
但如果是VA03显示就得找其他出口了,还是老方法看描述,或者你打个断点能不能进去。
不管怎样增强的功能是达到了。
应用场景:销售订单没有权限的人不能看到金额。
我们建立一个自建表,然后赋予是否有查看金额的权限。增强代码抓取自建表把没有权限的用户金额隐藏起来。