SAP-ABAP开发-第二代增强示例

CUSTOMER EXIT
以VA01为例

目录

一、查找出口

二、出口对象

三、销售订单的增强

一、查找出口

①查找事务代码的主程序

②搜索CALL CUSTOMER-FUNCTION SE37下查看函数 
函数名称命名规则:EXIT_<程序名>_<序号>


③使用函数查找:MODX_FUNCTION_ACTIVE_CHECK(系统中哪些增强被激活了!!)

二、出口对象

出口对象(是否激活) --- 函数(表:MODSAP)
                        NAME:出口对象的名称
                        TYPE:出口对象的类型(E:功能退出/S:屏幕/T:表/C:GUI代码)                          MEMBER:函数
顺序  PROJECT---->出口对象---->函数                       这几个都是一对多的关系
查看出口对象(T-code:SMOD)


SAP有四种基本用户出口的类型
        菜单出口-Menu Exits 定义自己的菜单
        屏幕出口-Screen Exits 定义自己的屏幕
        功能模块出口-Function Module Exits SAP应用程序中添加功能
        关键字出口-Keyword Exits 在ABAP/4字典中的关键字数据元素添加文档。结果是你在使用这些数据元素的字段处按F1后会出现你自定义的说明文档 不需要开发

三、增强的实现

创建一个项目对象(Project)事务代码:CMOD  先创建,分配增强中的组件对象 注意:一个组件,只能被一个增强项目引用

查看Components,列出组件中函数功能 绿灯:激活 红灯:非激活

激活在项目层激活:

三、销售订单的增强

业务逻辑: 如果订单类型为ZUSS,则必须输入关联采购订单编号
出口:EXIT_SAPMV45A_003
字段: 销售订单类型XVBAK-AUART  客户参考XVBKD-BSTKD
查看VA包里的所有增强: SMOD--->查找按钮---->Package=VA

创建写代码:

 DATA LS_XVBKD LIKE LINE OF XVBKD.
    IF XVBAK-AUART = 'AA'.
    LOOP AT XVBKD INTO LS_XVBKD.
        IF LS_XVBKD-BSTKD IS INITIAL.
            MESSAGE E000(ZHQ) WITH '必须输入采购订单编号'.
        LVF_SUBRC = '2'.
        ENDIF.
    ENDLOOP.
    ENDIF. 

最后在CMOD里面激活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值