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--订单最小量限制的增强的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP-读取应用服务器目录信息的函数代
- 下一篇: SD--关于定价过程中的存储顺序的参考结