做增强到的一个问题

做销售价格增强时遇到一个很挠头的问题 ,按正常处理数据都是数据显示都是正常计算的,可是有个数据: FPLT-FPROZ是百分比的无论怎么处理都是自动乘以10000,分析标准函数后发现标准的也是这样处理的,其中 VALUE(PROPORTION) LIKE FPLT-FPROZ DEFAULT 0 是参照价格百分比定义的
标准函数PRICING_COPY 也是这样处理的
其中: VALUE(PROPORTION) LIKE FPLT-FPROZ DEFAULT 0 是参照价格百分比定义的
distribute AMOUNT between items
IF nettowert NE 0.
lv_prop = amount * 10000 / nettowert.
ELSEIF proportion NE 0.
lv_prop = proportion.
ENDIF.
IF nettowert NE 0 OR proportion NE 0.
LOOP AT tkomv FROM xkomv_tabix WHERE koaid NE 'D'
AND kntyp NE 'e'.
IF tkomv-knumv NE document_number_to OR
tkomv-kposn NE item_number_to.
EXIT.
ENDIF.
* avoid field overflow when computing tkomv-kwert and tkomv-kawrt
CATCH SYSTEM-EXCEPTIONS conversion_errors = 1
arithmetic_errors = 5.
arbfeld3 = lv_prop / 10000.
tkomv-kwert = tkomv-kwert * arbfeld3.
IF tkomv-krech CA prz_abs.
tkomv-kawrt = tkomv-kawrt * arbfeld3.
ENDIF.
ENDCATCH.
IF sy-subrc = 1 OR sy-subrc = 5.
MESSAGE s802.
tkomv-kinak = 'X'.
tkomv-kawrt = 0.
tkomv-kwert = 0.
tkomv-fxmsg = '802'.
komp-fxmsg = '802'.
ENDIF.
IF tkomv-kstat = space AND tkomv-kinak CA ' W'.
ADD tkomv-kwert TO diffwrt.
abswrt = ABS( tkomv-kwert ).
IF abswrt > maxiwrt.
maxiwrt = ABS( tkomv-kwert ).
maxipos = sy-tabix.
ENDIF.
ENDIF.
tkomv-ksteu = 'E'.
MODIFY tkomv.
ENDLOOP.
修改自己的程序后原因问题解决
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/190059/viewspace-1033224/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/190059/viewspace-1033224/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值