SD--订单最小量限制的增强
在现实的销售活动中考虑到配送成本,需要限制小额订单的开具,为了达到该目的,我们可以对出口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--订单最小量限制的增强相关推荐
- 订单最小量限制的增强
在现实的销售活动中考虑到配送成本,需要限制小额订单的开具,为了达到该目的,我们可以对出口USEREXIT_SAVE_DOCUMENT_PREPARE 进行增强,具体步骤如下. 一.设计订单起定量设置表 ...
- 【SAP ABAP 生产订单修改组件需求用量增强】
@ABAP 需求: 由于标准生产订单组件用量的获取方式无法满足业务,需要嵌入自定义表数据进行运算得出新的组件用量,注意:此增强只能再保存时触发组件用量的变更. 实现增强: 1.COMD 出口 PPCO ...
- SAP用户增强总结-采购订单建立增加客户数据增强示例
命令:smod 选择增强号MM06E005,点击测试. 出现如下: MM06E005 1.功能退出:分别是代码区,包括pbo,pbi等. 2.Screen exit:创建增强屏幕 3.包含表:增强表字 ...
- SAP 采购订单进项税VOFM 例程增强
事务代码: VOFM 系统已定义好一些范例计价方案,计价方案由一系列按一定规则组织的计价条件类型组成,针对本例,假设定义计价方案ZFRM01,包扩6个条件: PB00:信息记录中的含税价格. ZM01 ...
- 采购订单建立增加客户数据增强示例
命令:smod 选择增强号MM06E005,点击测试. 出现如下: MM06E005 1.功能退出:分别是代码区,包括pbo,pbi等. 2.Screen exit:创建增强屏幕 3.包含表:增强表字 ...
- MIGO生产订单入库写入批次特性增强
一.生产订单入库 MIGO根据生产订单入库时,将生产订单中的字段,写入到批次特性中 二.BADI:MB_MIGO_BADI 调用BADI中的IF_EX_MB_MIGO_BADI~POST_DOCUME ...
- abap中对采购订单进项税VOFM 例程增强
事务代码: VOFM 系统已定义好一些范例计价方案,计价方案由一系列按一定规则组织的计价条件类型组成,针对本例,假设定义计价方案ZFRM01,包扩6个条件: PB00:信息记录中的含税价格. ZM01 ...
- SD功能增强业务说明书
1. 流程编码... 4 2. 流程简要描述... 4 3. 操作说明... 4 4.1. 销售合同... 4 1. 同步定价日期... 4 2. 单据附加数据 ...
- ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区
一.字面量的增强 ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量). 字面量的增强主要包括下面几部分: 属性的简写:Property Sh ...
最新文章
- ROOT android 原理。 基于(zergRush)
- 网络化楼宇对讲的前景
- Leetcode 39 组合总和 (每日一题 20210806)
- shell脚本不暂停进程,暂停几秒执行下一条shell命令
- python如何进入文件夹_python之文件的读写和文件目录以及文件夹的操作实现代码...
- C语言程序设计基础讲座之指针的慨念
- CentOS下Redis 2.2.14安装配置详解
- python 3.6.5安装教程_Ubuntu16.04安装python3.6.5详细步骤
- 如何维护应用程序状态
- appium环境搭建android版,【appium】自动化测试appium教程(环境搭建上)
- 分布式系统及其优缺点
- 大地坐标系与经纬度转换(一):大地坐标系简介
- CentOS下使用命令行Web浏览器Links
- 免费DNS服务器地址,谁家速度快
- zoj3551 Bloodsucker//概率dp
- Spring boot集成Spring-data-Jpa中遇到的问题
- 资源分享|免费注册申请永久的eu.org顶级域名创建属于自己的域名,再也不用给博客域名续费了!...
- 高德地图jsapi开发-定位失败
- 横向越权与纵向越权区别
- Android Studio使用签名打包发布APP(安卓生成apk文件)
热门文章
- linux集群架构(一),集群概述、高可用配置
- Java 异常(Java Exception)(一)
- 数据浪潮上的IP雄鹰
- 基于注释的Spring Security实战
- TEMPO研究第一年影像学数据: 骨侵蚀修复几乎只出现在无关节肿胀或肿胀改善组...
- rfid与remedy资产管理整合
- TPL Dataflow库的几个扩展函数
- 【Visual C++】游戏开发笔记二十一 游戏基础物理建模(三) 摩擦力系统模拟
- 企业经营私域运营的三大核心系列直播课
- MIT 研究员开发不会泄露数据的安全平台