ITPub博客

首页 > 应用开发 > IT综合 > 做增强到的一个问题

做增强到的一个问题

原创 IT综合 作者:ultraluck 时间:2019-03-18 09:33:04 0 删除 编辑
做销售价格增强时遇到一个很挠头的问题 ,按正常处理数据都是数据显示都是正常计算的,可是有个数据: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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: SAP ABAP小结[转]
下一篇: XML数据转为DATA
请登录后发表评论 登录
全部评论

注册时间:2004-12-03

  • 博文量
    167
  • 访问量
    127053