在现实的销售活动中考虑到配送成本,需要限制小额订单的开具,为了达到该目的,我们可以对出口USEREXIT_SAVE_DOCUMENT_PREPARE进行增强,具体步骤如下.

一、设计订单起定量设置表,自定义(销售公司+订单类型)具体定义参见下图

建立通过sap表维护工具来维护自定义表程序和事务妈。请参考:http://blog.csdn.net/CompassButton/archive/2007/06/04/1637580.aspx

二、设计订单起定量设置(客户)表,自定义(客户)具体定义参见下图

建立通过sap表维护工具来维护自定义表程序和事务妈。

三、增强代码

se38打开单元MV45AFZZ,修改USEREXIT_SAVE_DOCUMENT_PREPARE过程,代码如下

*---------------------------------------------------------------------*
* FORM USEREXIT_SAVE_DOCUMENT_PREPARE *
*---------------------------------------------------------------------*
* This userexit can be used for changes or checks, before a *
* document is saved. *
* *
* If field T180-TRTYP contents 'H', the document will be *
* created, else it will be changed. *
* *
* This form is called at the beginning of form BELEG_SICHERN *
* *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT_PREPARE.
*{ INSERT DEVK938281 1
DATA: zzamount LIKE vbak-netwr.
DATA: zmin LIKE vbak-netwr.
IF vbak-waerk NE tvko-waers. "
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
date = sy-datum
foreign_amount = vbak-netwr
foreign_currency = vbak-waerk
local_currency = sy-waers
IMPORTING
local_amount = zzamount
EXCEPTIONS
no_rate_found = 01
overflow + 02.
IF sy-subrc NE 0.
zzamount = vbak-netwr.
ENDIF.
ELSE.
zzamount = vbak-netwr.
ENDIF.
*minimum order value check in local currency
TABLES: zorderlimit, zorder_limit.
DATA minvalue LIKE vbak-netwr.
DATA difference LIKE vbak-netwr.
SELECT SINGLE * FROM zorder_limit
WHERE vkorg EQ vbak-vkorg
and auart EQ vbak-auart.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM zorderlimit
WHERE KUNNR EQ vbak-KUNNR.
IF sy-subrc EQ 0.
zmin = zorderlimit-ZZNETWR * 100.
IF zzamount < zmin.
MESSAGE '单据小于公司规定的订单起定量,系统不能保存!' TYPE 'E'.
sy-subrc = 4.
exit.
ENDIF.
ELSE.
zmin = zorder_limit-ZZNETWR * 100.
IF zzamount < zmin.
MESSAGE '单据小于公司规定的订单起定量,系统不能保存!' TYPE 'E'.
sy-subrc = 4.
exit.
ENDIF.
ENDIF.
ENDIF.
*
*} INSERT

ENDFORM.
*eject

SD--订单最小量限制的增强相关推荐

  1. 订单最小量限制的增强

    在现实的销售活动中考虑到配送成本,需要限制小额订单的开具,为了达到该目的,我们可以对出口USEREXIT_SAVE_DOCUMENT_PREPARE 进行增强,具体步骤如下. 一.设计订单起定量设置表 ...

  2. 【SAP ABAP 生产订单修改组件需求用量增强】

    @ABAP 需求: 由于标准生产订单组件用量的获取方式无法满足业务,需要嵌入自定义表数据进行运算得出新的组件用量,注意:此增强只能再保存时触发组件用量的变更. 实现增强: 1.COMD 出口 PPCO ...

  3. SAP用户增强总结-采购订单建立增加客户数据增强示例

    命令:smod 选择增强号MM06E005,点击测试. 出现如下: MM06E005 1.功能退出:分别是代码区,包括pbo,pbi等. 2.Screen exit:创建增强屏幕 3.包含表:增强表字 ...

  4. SAP 采购订单进项税VOFM 例程增强

    事务代码: VOFM 系统已定义好一些范例计价方案,计价方案由一系列按一定规则组织的计价条件类型组成,针对本例,假设定义计价方案ZFRM01,包扩6个条件: PB00:信息记录中的含税价格. ZM01 ...

  5. 采购订单建立增加客户数据增强示例

    命令:smod 选择增强号MM06E005,点击测试. 出现如下: MM06E005 1.功能退出:分别是代码区,包括pbo,pbi等. 2.Screen exit:创建增强屏幕 3.包含表:增强表字 ...

  6. MIGO生产订单入库写入批次特性增强

    一.生产订单入库 MIGO根据生产订单入库时,将生产订单中的字段,写入到批次特性中 二.BADI:MB_MIGO_BADI 调用BADI中的IF_EX_MB_MIGO_BADI~POST_DOCUME ...

  7. abap中对采购订单进项税VOFM 例程增强

    事务代码: VOFM 系统已定义好一些范例计价方案,计价方案由一系列按一定规则组织的计价条件类型组成,针对本例,假设定义计价方案ZFRM01,包扩6个条件: PB00:信息记录中的含税价格. ZM01 ...

  8. SD功能增强业务说明书

    1.     流程编码... 4 2.     流程简要描述... 4 3.     操作说明... 4 4.1.     销售合同... 4 1.   同步定价日期... 4 2.   单据附加数据 ...

  9. ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区

    一.字面量的增强 ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量). 字面量的增强主要包括下面几部分: 属性的简写:Property Sh ...

最新文章

  1. ROOT android 原理。 基于(zergRush)
  2. 网络化楼宇对讲的前景
  3. Leetcode 39 组合总和 (每日一题 20210806)
  4. shell脚本不暂停进程,暂停几秒执行下一条shell命令
  5. python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...
  6. C语言程序设计基础讲座之指针的慨念
  7. CentOS下Redis 2.2.14安装配置详解
  8. python 3.6.5安装教程_Ubuntu16.04安装python3.6.5详细步骤
  9. 如何维护应用程序状态
  10. appium环境搭建android版,【appium】自动化测试appium教程(环境搭建上)
  11. 分布式系统及其优缺点
  12. 大地坐标系与经纬度转换(一):大地坐标系简介
  13. CentOS下使用命令行Web浏览器Links
  14. 免费DNS服务器地址,谁家速度快
  15. zoj3551 Bloodsucker//概率dp
  16. Spring boot集成Spring-data-Jpa中遇到的问题
  17. 资源分享|免费注册申请永久的eu.org顶级域名创建属于自己的域名,再也不用给博客域名续费了!...
  18. 高德地图jsapi开发-定位失败
  19. 横向越权与纵向越权区别
  20. Android Studio使用签名打包发布APP(安卓生成apk文件)

热门文章

  1. linux集群架构(一),集群概述、高可用配置
  2. Java 异常(Java Exception)(一)
  3. 数据浪潮上的IP雄鹰
  4. 基于注释的Spring Security实战
  5. TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组...
  6. rfid与remedy资产管理整合
  7. TPL Dataflow库的几个扩展函数
  8. 【Visual C++】游戏开发笔记二十一 游戏基础物理建模(三) 摩擦力系统模拟
  9. 企业经营私域运营的三大核心系列直播课
  10. MIT 研究员开发不会泄露数据的安全平台