前言:这是我的水水专栏第八篇文章,这个专栏呢,是放一些我向AI提问的问题,以及AI的回答。因为水平实在有限,有时候有些知识点还是不能连成线,所以会有很多奇怪的问题,网站上也是众说纷纭,脑袋锈掉了,只好向AI提问帮忙解答,感觉要被AI统治了~ps:不用动脑想排版的感觉真好~

我不是很确定我的专栏文章内容是否涉及版权,以及也不确定这些整合过的文字是否涉嫌抄袭,所以,如有雷同或是有不小心参考到了您的文章的情况,请立即私聊我,卑微Sesy在线求饶!知识点仅供参考,请酌情查看!!

以下是AI的解答:

目录

核心摘要

1. SE19 - 增强实施工具

类型:

功能:

本例分析:

2. SE24 - Class Builder

类型:

功能:

本例分析:

两者之间的联系与协作流程

事件发生:

SAP抛出钩子:

控制权返回:

总结与类比

结论:


核心摘要

简单来说:

SE19 是 增强实施的“项目管理中心”或“容器”。它负责创建、管理和激活一个具体的增强实施项目。

SE24 是 ABAP对象的“开发工具”。它负责具体编写和定义实现增强业务逻辑的代码(比如您看到的类 ZCL_IM_ME_PURCHDOC_POSTED)。

它们的关系是:你在SE19中“注册”一个增强实施,并指定一个在SE19中“开发”好的类作为其实现逻辑。

1. SE19 - 增强实施工具

SE19 的事务码名称是 “实施增强点”。

类型:

它是一个实施和管理工具,属于SAP的增强框架 的一部分。

功能:

1、创建实施项目:为某个特定的SAP标准增强点(如出口、BADI、增强点)创建一个实施项目。这个项目有一个以Z或Y开头的名字(例如 ZMM_PO_POSTED)。

2、提供管理界面:它提供了一个集中的界面,让你找到可用的增强点,并为它们创建实施。

3、激活/停用:你可以激活或停用整个实施项目。

4、分配实现类:在实施项目中,你需要告诉SAP:“当这个增强点被触发时,请执行哪个类 里面的方法”。这就是它和SE19产生联系的地方。

本例分析:

您使用SE19来实施一个叫做 ZME_PURCHDOC_POSTED 的增强点(这可能是一个自定义的BADI或增强点)。在SE19的实施项目里,您指定了实现类为 ZCL_IM_ME_PURCHDOC_POSTED。

2. SE24 - Class Builder

SE24 的事务码名称是 “类构建器”。

类型:

它是一个开发工具,用于创建和维护ABAP对象中的类 和接口。

功能:

1、定义类结构:创建类的属性、方法、参数、事件等。

2、编写代码:在类的方法中编写实现具体业务逻辑的ABAP代码。

3、继承与接口实现:处理类的继承关系,以及实现(implement)某个或多个接口。

本例分析:

类 ZCL_IM_ME_PURCHDOC_POSTED 就是在SE24中创建和编辑的。这个类实现了一个特定的接口(例如 IF_EX_ME_PURCHDOC_POSTED),而该接口是SAP为标准增强点预定义的。您在SE24中编写的代码(例如 IF_EX_ME_PURCHDOC_POSTED~HANDLE_PURCHDOC_POSTED 方法)就是当采购订单过账后SAP真正要去执行的逻辑。

两者之间的联系与协作流程

可以将整个增强实施过程想象成一个事件处理系统:

事件发生:

用户在SAP系统中完成了一个操作,例如采购订单被审批过账。

SAP抛出钩子:

SAP在标准程序的这个时间点,调用了一个增强点(ZME_PURCHDOC_POSTED),相当于在问:“有没有人要对这个过账的采购订单做点额外的事情?”

1、SE19 注册的响应者:SAP的增强框架检查SE19中是否有为这个增强点创建的活动的实施项目。它找到了您的项目 ZMM_PO_POSTED。

2、SE19 指定的执行者:增强框架从实施项目中得知,具体的执行者是类 ZCL_IM_ME_PURCHDOC_POSTED。

3、SE24 执行具体动作:增强框架实例化这个类,并调用其实现的接口方法(您在SE24中编写的代码)。您的自定义逻辑(如写日志、调用外围系统、更新自建表等)就在这里运行。

控制权返回:

您的代码执行完毕后,控制权交还给SAP标准程序,流程继续。

总结与类比

一个很好的类比是 “插件系统”:

SE19 就像是 “插件管理器”。

你用它来安装(创建)、启用(激活)一个插件(实施项目)。

你告诉管理器,这个插件的主程序文件是哪一个(指定实现类)。

SE24 就像是 “代码编辑器”(如Visual Studio Code, Eclipse)。

你用它来实际编写插件(类)的功能代码。

结论:

您之所以在SE19和SE24中看到相同的代码,是因为SE19是“外壳”和“注册表”,而SE24是“内核”和“发动机”。您通过SE19告诉SAP“请使用这个类”,而通过SE19来定义“这个类具体做什么”。两者缺一不可,共同完成了这次采购订单审批的增强。

在标准SAP增强流程中,正确的做法是先在SE19中创建实施,然后系统会自动引导您进入SE24去创建或编辑实现类。直接去SE24修改类而不通过SE19实施,可能会导致增强无法被正确调用。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐