zoukankan      html  css  js  c++  java
  • SAP交货单过账自动生成采购订单、采购订单自动收货入库(转)

    原文地址:http://blog.sina.com.cn/s/blog_ad5dbd0201010qtt.html

    公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能

      1、增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数据不一致,所以在过账成功后触发,效果更好。

      2、BADI增强:DELIVERY_PUBLISH:数据库更新期间交货数据的公告,采用方法:PUBLISH_AFTER_SAVE

      3、功能实现:由于该增强没有参数,所以问题的关键是业务数据的获取,采用以下方法获取,其他功能就大家自己具体去实现了,这里只是把关键的地方粘贴出来:

      FIELD-SYMBOLS : <V_VBELN> TYPE LIKP-VBELN.
      FIELD-SYMBOLS : <V_LFART> TYPE LIKP-LFART.
      FIELD-SYMBOLS : <V_LFDAT> TYPE LIKP-LFDAT.
      FIELD-SYMBOLS : <V_VKBUR> TYPE LIKP-VKBUR.
      FIELD-SYMBOLS : <V_MBLNR> TYPE EMKPF-MBLNR.
      DATA : V_VAL TYPE STRING VALUE '(SAPMV50A)LIKP-VBELN'.
      DATA : V_VAL1 TYPE STRING VALUE '(SAPMV50A)LIKP-LFART'.

      DATA : V_VAL2 TYPE STRING VALUE '(SAPMV50A)LIKP-WADAT_IST'.
      DATA : V_VAL3 TYPE STRING VALUE '(SAPMV50A)emkpf-MBLNR'.
      DATA : V_VAL4 TYPE STRING VALUE '(SAPMV50A)LIKP-VKBUR'.
      CLEAR:C_VBELN,C_LFART,C_BUDAT,C_MBLNR,C_YEAR,C_JZRQ,
            C_CPZH,C_WERKS,C_LGORT.
      DATA:I_LOG TYPE TABLE OF ZMDLOG,
           W_LOG TYPE ZMDLOG.
    *********获取交货类型
      ASSIGN (V_VAL1) TO <V_LFART>.
      MOVE <V_LFART> TO C_LFART.
    *********获取物料凭证
      ASSIGN (V_VAL3) TO <V_MBLNR>.
      MOVE <V_MBLNR> TO C_MBLNR.
    *********获取交货单号
      ASSIGN (V_VAL) TO <V_VBELN>.
      MOVE <V_VBELN> TO C_VBELN.
    *********销售办公室
      ASSIGN (V_VAL4) TO <V_VKBUR>.
      MOVE <V_VKBUR> TO C_VKBUR.

      4、采购订单自动生产使用BAPI:BAPI_PO_CREATE1

      5、采购收货使用BAPI:BAPI_GOODSMVT_CREATE

      6、当需要交货单冲销时,增强点为交货过账冲销前,要先保证采购收货冲销成功并删除采购订单,才能执行过账冲销,这样才能保证数据的连续性,采购入库冲销的BAPI:BAPI_GOODSMVT_CANCEL

      注意:当交货过账成功,采购订单没有生产时,我们要扑捉异常,同时冲销交货单这样才能保证数据的一致性。

    每天学习一个知识点,累积就是财富。
  • 相关阅读:
    nginx 、tomcat 配置表单附件大小限制
    清理redis服务器数据
    tomcat 8.5.55 webapps 无法部署应用目录 org.apache.catalina.startup.HostConfig.deployDirectory
    redis + tomcat8.5 session共享
    linux tar 打包
    mysql ORDER BY RAND() 语句优化
    解决Linux下程序端口占用问题
    javamail邮件发送开发中SharedByteArrayInputStream类找不到的错误(java.lang.NoClassDefFoundError: com/sun/mail/util/SharedByteArrayInputStream)
    ansible判定文件或者文件夹是否存在
    ansible应用
  • 原文地址:https://www.cnblogs.com/buduzhiren/p/10243980.html
Copyright © 2011-2022 走看看