SAP SD 交货单发货过账缺料提醒 改成 弹窗框清单提醒增强

45 篇文章 3 订阅

场景:零件库下销售订单100来个行项目,产生的交货单也是100多个行项目,但因为库存做不准,不及时,以及本来就缺料,在交货单发货过账时会提醒,见下图

 但是每次只提醒一个,零件库实际业务会提醒n多次,严重影响效率。

经过调试 找到隐式增强点 :SE38-MV50AF0F_FCODE_BEARBEITEN-ZMV50AF0F_FCODE_BEARBEITEN

实际成果:

 

代码如下:

DATA:
    lv_id     TYPE ztexit-id,          "增强序列号
    lv_status TYPE char1.              "增强状态
  lv_id = 'ZSD124'. "交货单过账时 可用性检查,全部
  CALL FUNCTION 'ZABAP_CHECK_EXIT'
    EXPORTING
      id       = lv_id
    IMPORTING
      e_status = lv_status.
  IF lv_status = 'S'.
    DATA: ltmsg  TYPE TABLE of esp1_message_wa_type WITH HEADER LINE.
    DATA: lvabst LIKE mard-labst.
    DATA:lmat TYPE lips-matnr.
    LOOP AT lt_lips INTO ls_lips.
      SELECT SINGLE labst INTO lvabst
     FROM mard WHERE mard~werks = ls_lips-werks AND lgort = ls_lips-lgort.
      IF lvabst  < ls_lips-lfimg.
        lmat = ls_lips-matnr.
        SHIFT lmat LEFT DELETING LEADING '0'.
        ltmsg-msgid  = ls_lips-posnr.
        condense ltmsg-msgid.  "去掉前面空格
        ltmsg-msgty = 'E'.
        ltmsg-msgno = ls_lips-posnr.
        ltmsg-msgv1 = '物料' && lmat && '库存数量' && lvabst && '(' && ls_lips-werks && '-' && ls_lips-lgort && ')不足,过账数量' && ls_lips-lfimg.
        APPEND ltmsg.
      ENDIF.
    ENDLOOP.

    CALL FUNCTION 'C14Z_MESSAGES_SHOW_AS_POPUP'
      TABLES
        i_message_tab = ltmsg[].

  ENDIF.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gavin_gxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值