SAP MM学习笔记 - 豆知识05 - Customer Exit 实例,MM01上定义Customer Exit 来Check评估Class

137 篇文章 7 订阅
74 篇文章 13 订阅

上一章讲了一些MM模块的豆知识。

- MM01中设定的安全在库和最小安全在库

- MM01/MMSC/Customize自动 扩张物料的保管场所

- MM01中定义生产订单的默认入库保管场所

- VA01受注票中设定禁止贩卖某个物料

SAP MM学习笔记 - 豆知识03 - 安全在库和最小安全在库,扩张物料的保管场所的几种方法,定义生产订单的默认入库保管场所,受注票中设定禁止贩卖某个物料-CSDN博客

本章继续学习MM模块的豆知识。

1,MM01上定义Customer Exit 来Check评估Class

1-1,CMOD 扩张Project管理

Spro > Logistics > 品目Master > 扩张

点一下 实行 图标前面的那个图标

这样就显示了一下内容:

- 扩张点:MGA00001

- 组件:EXIT_SAPLMGMU_001

点一下Exit的链接,出来详细内容,我也没太看懂是啥意思,先跳过

a),登录扩张Project

点一下 执行图标以后,显示下面的画面(CMOD)

要建一个 SAP 扩张Project管理

输入

- Project:ZMM01

点登录按钮

b),扩张割当(分配)Exit(这里指MGA00001)

输入 内容说明,然后点 扩张割当 按钮

点 确定 按钮

输入

- Package:$TMP

然后点 保存

输入上面的Help里面显示的扩张点

- 扩张:MGA00001

c),有效化Component

点 Component,进行激活

点保存

选中 Function Exit,然后点 激活图标

这样就有效化(激活)完成了

d),写Customize Exit的Check代码

双击 Function Exit 可以进入Exit详细代码页

双击 ZXMG0U02,然后提示说要不要创建,当然要啊

然后就显示了下面的页面

点修改,然后写一段Check的代码上去

DATA lv_t023_bklas TYPE t023-bklas.

SELECT SINGLE bklas FROM t023 INTO lv_t023_bklas
  WHERE matkl = wmara-matkl.
 
IF sy-subrc EQ 0.
  IF wmbew-bklas NE lv_t023_bklas.
    MESSAGE w398(00) WITH 'Invalid valuation class' wmbew-bklas.
    RAISE APPLICATION_ERROR.
  ENDIF.
ENDIF.

这段代码是啥意思呢?

其实就是从 T023 表里取ValCl(评估Class)

这样看得清楚一些哈

品目Group 007 --》对应的是评价Class 3200

所以上面那段代码的意思是,从T023 里取评价Class值(比如 Group 007的话,就取到了 3200)

品目Master保存的时候,判定是否品目Master 中设定的评价Class值等于3200,不等的话就报错

这样就把 品目Group 与 评价Class进行了1:1绑定

TODO:品目Group 与 评价Class是可以在Customize里面设定的,我暂时没找到在哪,先放过

为了做演示,我把表数据直接修改了一下。

修改方法可以参照如下文章。

SAP MM学习笔记 - 豆知识04 - SE16N 如何在SAP中直接修改表数据(Edit any table in SAP)-CSDN博客

品目Group 001, 评价Class:7925

1-2,MM01 品目登录 里测试一下

品目 P-100-F1

选 基本Data1,2 和 会计1 视图,然后点确定

输入Plant 1000

a),确认品目Group

注意

- 品目Group:001

b),确认评价Class(不等于设定值的情况)

点到 会计1 Tab

- 评价Class:默认是7920

直接点Check,好像没啥反映

直接点 保存按钮则会出以下错误

Data転記中发生Error; 请选择"転記Error"。
Msg 番号 MG153

点上图的 Error(转记) 按钮

这次显示更新清晰详细的Message

告诉你 7920 这个评价Class 是不行的

c),确认评价Class(等于设定值的情况)

把评价Class改成 7925

然后再保存

这次就OK了

有关Customer Exit更详细的内容,可以参照下面链接

http://powerofstudy.blog.fc2.com/blog-entry-2359.html

1-3,无效化 Customer Exit

Spro > Logistics > 品目Master > 扩张

或直接 CMOD

点 变更

点 Component

点无效化 图标

无效化完成

1-4,总结一下

以上就是Customer Exit的用法,就是在标准功能里面,加点儿自己的代码进去。

自己可以控制它的有效化和无效化。

有关Customer Exit,可以参照如下文章:

SAP MM学习笔记7-SAP标准功能和Add-on之间的关系_fit gap analyse需求匹配分析-CSDN博客

而且上面只是借用了 T023 这个表做一下演示。

这是个SAP自带的表,有别的用途。

真正做User Exit的时候,一般会另外再建一个自定义的表,然后把初期数据批量导进去,

再按照上面的步骤做扩张。

更多文章请点击如下链接

https://blog.csdn.net/shi_ly/category_12216766.html

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值