SAP ABAP 中的用户出口和客户出口是什么

什么是客户退出?

客户退出是 SAP 在许多标准程序、屏幕和菜单中提供的“钩子”,客户可以在其中“挂载”自定义功能以满足业务需求。稍后将对此进行详细介绍……

客户退出类型

客户退出主要有三种类型

  1. 功能模块退出
  2. 屏幕退出
  3. 菜单退出

功能模块退出:它允许客户在 SAP 应用程序程序的特定位置通过功能模块添加代码。

Syntax: CALL CUSTOMER-FUNCTION '004'

屏幕退出:它允许客户通过子屏幕向 SAP 程序中的屏幕添加字段。子屏幕在标准屏幕的流程逻辑中调用。

Format: CALL CUSTOMER-SUBSCREEN CUSTSCR2

菜单退出:它允许客户在标准 SAP 程序中向下拉菜单添加项目。这些项目可用于调用附加程序或自定义屏幕。

Format: +CUS ( additional item in GUI status )

客户退出示例

屏幕退出示例:

在交易 CAT2 – 工时表录入中,人力资源希望包含一个互动确认,即明知提交不正确数据是解雇的理由。

Examples of Customer Exits

菜单退出示例:

在交易 SE38 – ABAP 编辑器中,开发团队希望包含一个指向交易 SE80 – 对象导航器的菜单链接,以方便使用。

之前

Examples of Customer Exits

之后

Examples of Customer Exits

功能模块退出示例:

公司希望在供应商创建中强制要求供应商的银行详细信息。因此,它必须显示一个错误消息:“请输入银行详细信息”。

之前

Examples of Customer Exits

之后

Examples of Customer Exits

查找客户退出

在交易 SMOD 中查看详细信息。

Locating Customer Exits

或者在交易 SE81 中使用适当的应用程序区域。

Locating Customer Exits

创建客户退出

要创建客户退出,您首先需要创建事务 CMOD 中的一个项目。

Create a Customer Exit

之后,您将客户退出分配给您的项目。

什么是用户退出?

用户退出与客户退出具有相同目的,但仅适用于 SD 模块。该退出作为对功能模块的调用来实现。代码由开发人员编写。

SD 中广为人知的用户退出是 MV45AFZZ

  • USEREXIT_FIELD_MODIFICATION – 修改屏幕属性
  • USEREXIT_SAVE_DOCUMENT – 在用户点击保存时执行操作
  • USEREXIT_SAVE_DOCUMENT_PREPARE
  • USEREXIT_MOVE_FIELD_TO_VBAK – 当用户抬头更改移至抬头工作区时。
  • USEREXIT_MOVE_FIELD_TO_VBAP – 当用户项目更改移至 SAP 项目工作区时。