您的位置:首页 > 其它

VL01N/VL02N增强-退货订单(ZRE,ZWRE,ZRD)在VL01N对于发货过账时判断成本是否为0碰到的问题

2013-09-29 09:18 459 查看
ZOR,ZWOR等类型订单在VL01N发货过账时用增强MCS50001判断,但是ZRE等类型的退货订单不会进入MCS50001这个增强,早几个月前就找过VL01N的增强,当时测试了很多都不会执行,今天下了狠心,把所有增强都打开,发现还真有个增强可以执行到。早先测试的时候看这个增强怎么也不像是用于判断的。

经测试发现该增强在VL01N新创建及发货过账的时候都会执行。而且参数只有 is_lips 和is_likp,在新建和发货过账时完全一样,业务部门要求在发货过账时才判断,根本无法用现有参数数据判断是否新建还是发货过账,又给出了一大难题。

折腾了好长时间想到直接用SY-UCOMM判断是否点击了发货过账按钮,经测试还真可以。

  *&---------------------------------------------------------------------*

*&  包括                ZXV50U07

*&---------------------------------------------------------------------*

break ypcheng.

DATA: field(30),

      ls_attyp LIKE mara-attyp,

      ls_taklv LIKE mara-taklv,

      ldc_kwert LIKE konv-kwert,

      ls_knumv LIKE vbak-knumv,

      ls_matnr LIKE vbap-matnr,

      ls_mtart LIKE mara-mtart.

DATA: ls_message(200) TYPE c.

FIELD-SYMBOLS:<f1> TYPE ANY,<f2> TYPE ANY.

break ypcheng.

IF sy-ucomm = 'WABU_T'.

  break ypcheng.

  field = '(SAPMV50A)VBAK-AUART'.

  ASSIGN (field) TO <f1>.

  IF <f1> = 'ZRE' OR <f1> = 'ZWRE' OR <f1> = 'ZRD'.

    break ypcheng.

    field = '(SAPMV50A)VBAK-KNUMV'.

    ASSIGN (field) TO <f2>.

    ls_knumv = <f2>.

    ls_message = ''.

    SELECT kwert INTO ldc_kwert FROM konv WHERE knumv = ls_knumv AND ( kschl = 'ZIV3' OR kschl = 'ZIV1' OR kschl = 'VPRS' ) AND kposn = is_lips-posnr.

      SELECT SINGLE attyp mtart INTO (ls_attyp,ls_mtart) FROM mara WHERE matnr = is_lips-matnr.

      IF ldc_kwert = 0 AND is_lips-matkl <> 'R1699' AND is_lips-matkl <> 'R9998' AND is_lips-matkl <> 'R9999' AND is_lips-lfimg > 0 AND ls_attyp <> '10' AND ls_mtart <> 'Z008'.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

          EXPORTING

            input  = is_lips-matnr

          IMPORTING

            output = ls_matnr.

        CONCATENATE '当前订单' ls_matnr '商品的ZIV1/ZIV3/VPRS的价格为0,不能发货过账!' INTO ls_message.

        MESSAGE e398(00) WITH ls_message.

      ENDIF.

    ENDSELECT.

  ENDIF.
ENDIF.

转载自:http://blog.sina.com.cn/s/blog_6f99a0500100ryzl.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐