需求:
Restrict line item quantity and amount of a SO in spectial sales area, sales district and data&time period.
解决过程备案
1. 自定义表结构和创建Maintain Screen
2. 修改 USEREXIT_SAVE_DOCUMENT_PREPARE
DATA: LV_UNIT_LIMIT LIKE ZSDLIMIT-UNIT_LIMIT,
LV_LINE_LIMIT LIKE ZSDLIMIT-LINE_LIMIT,
LV_LINE_AMT TYPE I VALUE 0.
* Get line item unit limit and line limit.
SELECT SINGLE UNIT_LIMIT LINE_LIMIT
INTO (LV_UNIT_LIMIT, LV_LINE_LIMIT)
FROM ZSDLIMIT
WHERE VKORG = XVBAK-VKORG
AND VTWEG = XVBAK-VTWEG
AND SPART = XVBAK-SPART
AND BZIRK = XVBKD-BZIRK
AND ( DATAB <= SY-DATUM )
AND ( TIMAB <= SY-UZEIT )
AND ( DATBI >= SY-DATUM OR DATBI = 0 )
AND ( TIMBI >= SY-UZEIT OR TIMBI <= 0 ).
* Unit limit check
IF LV_UNIT_LIMIT NE SPACE.
LOOP AT XVBAP
WHERE UPDKZ NE 'D'
AND ABGRU = SPACE.
AND KWMENG > LV_UNIT_LIMIT.
FCODE = FCODE_GLEICHE_SEITE. "=ENT1: continue
* PERFORM FCODE_BEARBEITEN.
MESSAGE E013(ZEDI) WITH LV_UNIT_LIMIT.
ENDLOOP.
ENDIF.
* Line limit check
IF LV_LINE_LIMIT NE SPACE.
LOOP AT XVBAP TRANSPORTING NO FIELDS
WHERE UPDKZ NE 'D'
AND ABGRU = SPACE.
ADD 1 TO LV_LINE_AMT.
ENDLOOP.
IF LV_LINE_AMT > LV_LINE_LIMIT.
FCODE = FCODE_GLEICHE_SEITE. "=ENT1: continue
MESSAGE E014(ZEDI) WITH LV_LINE_LIMIT.
ENDIF.
ENDIF.
这里要感谢下SAP砍刀的帮忙, 没想到要用 TIMBI <= 0 的形式来判断一个时间类型的字段是否为initial。我试了TIMBI = SPACE / '' / '000000' / IS NULL / 0 均未得到正确结果,原因是Open SQL => Native SQL时参数值解析出的值 ( ' ' 会被解析成'00000', 0 / SPACE=>'000000') 和数据库中的值不一致,ABAP Dictionary TIMS类型的字段在DB (Oracle / SQL Server)中默认值为空字符串。
3. 在 USEREXIT_SAVE_DOCUMENT_PREPARED 中如果用MESSAGE EXXX报错时,需要加这样写:
FCODE = FCODE_GLEICHE_SEITE. "=ENT1: continue
MESSAGE E013(ZEDI) WITH LV_UNIT_LIMIT.
要不然在出现Error Message后,回车,SO line item中值不可修改,具体原因我也没深究,只是在Debug的时候发现FCODE_GLEICHE_SEITE的值为ENT1, 通过 t-code VFBS 可以知道它是Continue的意思,在报完Message后,系统会根据这个FCODE做一些操作。
4. 修改 USEREXIT_CHECK_XVBAP
在VA01 / VA02中系统每接受一个ITEM, 都会调用这个User Exit来check其中的数据,这里要注意的是要用这样的语句来获得当前的有效行数:
LOOP AT XVBAP TRANSPORTING NO FIELDS
WHERE UPDKZ NE 'D'
AND ABGRU = SPACE.
ADD 1 TO LV_LINE_AMT.
ENDLOOP.
这里报Message时Message Type要用 "I", 要不对于Bundle/BOM物料就会因得不到后续处理而产生问题 另这里不需要修改FCODE.
参考
http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
分享到:
相关推荐
<sales>$8,115.36</sales> </employee-sales> <employee-sales> <employee-id>1234</employee-id> <year-month>1998-02</year-month> <sales>$11,147.51</sales> </employee-sales> </monthly-sales> ...
Your search marketing program must focus on your Web site’s underlying goals (such as sales) rather than fixating on your rankings in search results. The second edition updates all chapters with ...
ERP系统信息化资料:SAP专业培训教材SD+SALES+ORDER+PROCESS-en.ppt
培训文件提供了从2010-02到2011-02各个商店和部门的每周销售数据。 对于每折,目标是根据当时的可用销售数据预测未来8周的销售数据(即,预测范围为2个月)。 这是通过调用mypredict()函数完成的。 然后,将与...
Predict-Future-Sales:https://www.kaggle.comccompetitive-data-science-predict-future-sales
HCS-Pre-sales-数通安全-华为园区交换机产品介绍
可再发行编码 - 有限使用: msjet35.dll msjint35.dll msjter35.dll msrd2x35.dll msrepl35.dll expsrv.dll vbajet32.dll msexch35.dll msexcl35.dll mspdox35.dll msltus35.dll mstext35.dll msxbse35.dll ...
MerchantSalesOrderMerchantUserGui模块 MerchantSalesOrderMerchantUserGui提供Zed UI界面用于商家销售订单管理。...composer require spryker/merchant-sales-order-merchant-user-gui 文献资料
HCS-Pre-sales-IP-2022.pdf
HCS-Pre-sales-数通安全-华为AR路由器产品介绍.
Matlab和Python均可使用实现 入门 要使用代码,请使用以下命令: git clone https://github.com/Moh-Joshaghani/The-Sales-Person-Problem-TSP-SOM-Self-Organizing-MAP.git 运行Python实现 要运行,只需运行main.py...
项目中遇到一个需求需要修改SO的抬头增强字段,通常增强字段只能通过BAPI的EXTENSIONIN和EXTENSIONINX参数传递。
git clone https://github.com/colinbut/sales-order-system.git 进行本地构建 mvn clean package ...将编译源代码,打包战争文件 运行应用程序 进入在线应用程序目录并执行以下命令: mvn tomcat7:run-war 使用...
商店的销售受到许多因素的影响,包括促销,竞争,学校和州假期,季节性和地区性。成千上万的个人经理根据他们的独特情况预测销售额,结果的准确性可能会大相径庭。 test.csv sample_submission.csv store.csv ...
HCS-Pre-sales-数通L2安全题库,去考试一定要背题库
截屏安装打开文件path/to/magento/app/design/frontend/default/default/template/sales/order/info.phtml和第 52 行,在 div order-info添加代码<?php echo $this->getLayout()->createBlock('core/template')->...
O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://safaribooksonline.com). For more information, contact ...
https://stacksocial.com/sales/the-complete-computer-vision-course-with-python Have you ever wondered how things like self-driving cars, Google image searches, Snapchat and Instagram filters are ...
IBM ^ Certified Specialist - pSeries Solution Sales IBM Certified Specialist - RS/6000 Solution Sales IBM Certified Specialist - RS/6000 SP and PSSP V3 RS/6000 SP - Sales Qualification IBM ...