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

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

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

SAP交货单过账自动生产采购订单、采购订单自动收货入库的更多相关文章

  1. ecshop 订单-》设置默认收货地址,或者删除

    设置位置:ecs_users标的   country字段,默认是0,默认地址是 users_address 的address_id 设置默认收货地址 /** * 设置默认地址 * * @access ...

  2. 【MM系列】SAP MM模块-分析采购收货完成标识

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-分析采购收货完成标 ...

  3. SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策

    SAP MM 公司间STO发货单输出报错 - 合并工厂AUC1和存储位置6002没有货物收货地点 - 之对策 昨天收到客户业务部门报错,说是业务对交货单0080022298做POD失败.相关交货单的输 ...

  4. 【MM系列】SAP MM模块-收货自动创建采购订单

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-收货自动创建采购订 ...

  5. SAP 公司间STO场景中外向交货单过账后自动触发内向交货单功能的实现

    SAP 公司间STO场景中外向交货单过账后自动触发内向交货单功能的实现 如下STO,是从公司代码SZSP转入CSAS, 如下图示的内向交货单180018660.该内向交货单是在外向交货单8001632 ...

  6. SAP MM 标准采购组织的分配对于寄售采购订单收货的影响

    SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...

  7. SAP MM 明明已经扩展供应商到采购组织下,采购订单里还是报错?

    SAP MM 明明已经扩展供应商到采购组织下,采购订单里还是报错? 如下的PO 4400000069,处于HELD状态.ME22N试图保存它为一个正式的采购订单,报错说供应商没有在采购组织下维护, 使 ...

  8. 【MM系列】SAP 采购订单收货后不能修改价格的增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...

  9. SAP MM已经转成PO的采购申请Item依旧可以被删除?

    SAP MM已经转成PO的采购申请Item依旧可以被删除? 笔者测试发现,我们可以删除已产生PO的PR item, 系统只是给一个警告信息,不阻止保存. Purchase orders already ...

随机推荐

  1. WP8触摸感应Manipulation的操作

    触控感应不同事件的处理: 可将以下三个事件,绑定到一个控件中. /// <summary> /// 触摸开始事件 /// </summary> /// <param na ...

  2. NOI2006最大获利

    终于搞明白了…… x到y有边意味着选x必须选y,所以才会有闭合子图中一个点的后继一定也在这个闭合子图中. 接下来按照s连正权,负权连t就ok了 type node=record go,next,c:l ...

  3. 浏览器以外的Javascript

    浏览器外要运行javascript的代码,同样需要这个东西. ie老版本的JScript,ie9以后的Chakra,mozilla的SpiderMonkey,chrome的v8,Safari的Nitr ...

  4. linux 读取input输入设备demo

    /******************************************************************* * linux 读取input输入设备demo * 说明: * ...

  5. linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)

    mkfs 命令  linux格式化磁盘命令           linux mkfs         指令:mkfs 使用权限 : 超级使用者 使用方式 : mkfs [-V] [-t fstype] ...

  6. XMPP 初探

    最近刚好有机会碰到XMPP,把一些学习心得记录在这边. XMPP(Extensible Messageing and Presence Protocol)是一种IM的通讯协定,其前身为Jabber,后 ...

  7. 使用BusyBox制作Linux根文件系统

    STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin  ...

  8. 《深入Java虚拟机学习笔记》- 第11章 类型转换

    Java虚拟机包括许多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶断获得.Java虚拟机从栈顶端弹出一个值,对它进行转换,然后再把转换结果压入栈. int.lo ...

  9. HDU 3335 Divisibility dancing links 重复覆盖

    分析: dlx重复覆盖的巧用,重复覆盖的原理恰好符合本题的筛选方式,即选择一个数后,该数的倍数或约数可以保证在之后的搜索中不会被选择 于是修改一下启发函数,求解最大的重复覆盖即可.   其实不一定不被 ...

  10. 【译】 AWK教程指南

    前面的话: 这几天写了一个程序,在同一个目录里生成了很多文件,需要统计其中部分文件的总大小,发现经常用到的ls.du等命令都无济于事,我甚至都想到了最笨的方法,写一个脚本:mkdir一个新目录,把要统 ...