SD_EXT_001 最低限价控制
Date of the last changes
4/15/2006
技术说明书
SD-最低限价控制
版本:
Version
Release Date and Time
By
Remarks
2006-03-08
Draft
签名:
Reviewed & Approved by Business Dept/Business Process Owner:
Name
Title
Signature
Date
Business Dept/Business Process Owner
SunSAP Project
熊海波
Project Manager
肖捷
Project Manager
Loytong,Chia
Project Manager
一、功能需求:
· 条件类型HM00的价格必须大于Z001或者Z002的价格;
· 适用的订单类型:ZQT、ZOR、ZPS需要价格控制; 对于报价,因只需要控制常规销售报价的价格,因此,如果订单类型为ZQT且订单原因为空和001-008,才需要控制价格,如果订单原因的值为100-200,则不需要控制价格;
· 相关事务代码:VA21 VA22 VA01 VA02
· 对组件(FM*),价格只能大于最低限价; 对于电池片, 价格大于等于最低限价.
二、系统实现
通过修改出口程序LV69AFZZ来实现该功能:
*&---------------------------------------------------------------------*
*& Form USEREXIT_PRICING_CHECK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form userexit_pricing_check.
*{ INSERT APPK900282 1
*** 最低限价控制
*Only do lowest limit checking for order type ZQT ZOR ZPS.
if KOMK-auart <> 'ZQT' and
KOMK-auart <> 'ZOR' and
KOMK-auart <> 'ZPS'.
exit.
endif.
*For order type ZQT, order reason from 100 to 200 will be checked for price limit
if KOMK-auart = 'ZQT' and ( KOMK-AUGRU >= '100' and KOMK-AUGRU <='200' ).
exit.
endif.
data: zkomv_z001 like xkomv.
data: zkomv_hm00 like komv.
clear zkomv_hm00-kbetr.
read table xkomv into zkomv_hm00 with key kschl = 'HM00'.
if komv-kschl = 'HM00'.
zkomv_hm00 = komv.
clear xkomv.
read table xkomv into zkomv_z001 with key kschl = 'Z001'.
if sy-subrc <> 0.
read table xkomv into zkomv_z001 with key kschl = 'Z002'.
endif.
* 汇率转换
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
DATE = sy-datum
FOREIGN_AMOUNT = zkomv_hm00-kbetr
FOREIGN_CURRENCY = zkomv_hm00-waers
LOCAL_CURRENCY = zkomv_z001-waers
IMPORTING
LOCAL_AMOUNT = zkomv_hm00-kbetr.
IF SY-SUBRC <> 0.
ENDIF.
* 如果是组件,,价格可等于或大于最低限价
if KOMP-matnr cp 'FM*'.
if zkomv_hm00-kbetr < zkomv_z001-kbetr and zkomv_hm00-kbetr ne 0.
message e398(00) with '订单价格必须高于最低价(Z002/Z001)'.
endif.
endif.
* 如果是电池片,价格可等于或大于最低限价
if KOMP-matnr cp 'FC*'.
if zkomv_hm00-kbetr < zkomv_z001-kbetr and zkomv_hm00-kbetr ne 0.
message e398(00) with '订单价格必须高于最低价(Z002/Z001)'.
endif.
endif.
endif.
*} INSERT
endform. " USEREXIT_PRICING_CHECK
SUNTECH SAP Project pPROJECT
Sun
66
Page 2 of 4