当前位置: 首页 > article >正文

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里面激活。


http://www.kler.cn/a/419213.html

相关文章:

  • YOLO的框架及版本迭代
  • 基于树莓派3B+的简易智能家居小项目(WiringPi库 + C语言开发)
  • digit_eye开发记录(3): C语言读取MNIST数据集
  • unity实现计数器
  • Mysql数据库基础篇笔记
  • k8s 1.28 聚合层部署信息记录
  • Day1——GitHub项目共同开发
  • Vue进阶之单组件开发与组件通信
  • Unity中实现A*寻路算法参考
  • Scala 的知识点
  • Linux中pcap_loop()函数
  • 算法的复杂度
  • LeetCode:19.删除链表倒数第N个节点
  • 解决jupyter notebook 新建或打开.ipynb 报500 : Internal Server Error(涉及jinja2兼容性问题)
  • 蓝桥-希尔排序模板题
  • 【Java基础面试题004】封装、继承、重载、多态、接口和抽象类是什么?
  • 《JavaEat:探索 Java 在美食世界的奇妙之旅》
  • 无星的微前端之旅(四)——qiankun线上服务代理到本地
  • 后端-一对一的数据封装的两种写法对比
  • Android 图形系统之六:BufferQueue
  • 信息网络安全考试gjdw
  • 网络安全运维——高级 题库一 50题
  • vue3 + vite + antdv 项目中自定义图标
  • 华为OD机试真题---幼儿园篮球游戏
  • 【解决安全扫描漏洞】---- 检测到目标站点存在 JavaScript 框架库漏洞
  • 【Vue3】【Naive UI】<NDropdown>标签