在上SAP项目过程,上了SD模块的企业一般都要做一些跟公司间采购订单或销售订单的交货状态的报表,通过这些报表可以经客户的业务上提供很大的灵活性,至于如何的灵活,还是那句老话“谁用谁知道"。
1)如何判断公司间采购订单是否已交货?
     这个比较简单了,直接通过表EKPO的字段ELIKZ来判断的,前台如下图所示,至于这个字段我想多说,只想说一下这个标记是什么产生的?来理一下业务的知识,根据公司间的采购订单创建交货单,发货过账后,当时幼稚的我认为这个标记应该打上了,但是并没有打上,只有通过migo收货过账后这个标记才会打上.

2)销售订单表头的交货状态
此交货状态与下图显示的交货状态意义并不一样,图示的交货是跟交货单有关的,与交货单是否已经过账无关,通俗点说就是如果当前订单的所有行项目都创建相关的交货单,则这里的状态就显示未交付状态;但是只有部分(并不全部)行项目创建了交货单,则这里就显示部分交付;如果所有行项目都创建了相应的交货单,并且数量跟销售订单的数量一致,则这里就显示完全完全交付,否则这里也显示部分交付。通过对上面的理解,估计大家都知道了这里的交货状态跟创建交货单的数量有关(不关心是否过账),通过交货单数量控制了这个状态。

3)销售订单的项目状态。
这里的状态跟表头的项目状态一样,它关心的只是当前的行项目,但是影响到表头的交货状态。

4)交货单的货物移动状态由如下图所示。
交货单的货物移动状态用于确定当前的交货单是否过账发货,经常可以看到的状态有尚未开始(A)、完全处理(C),对于部分处理(B)好像不存在的(我测试),所谓尚未开始就是只是创建了交货单没有过账发货,而完全处理就是已经过账发货了。这里之所以要列出交货单的状态,是因为它的状态影响到了销售订单的交货状态(非销售订单上的交货状态)。

sap 如何获取公司间采购订单或销售订单的交货状态(续)

5)如何决定销售订单的行项目的交货状态(可以理解发货状态)
如果我们以没有交货、部分交货、完全交货来分类销售订单的行项目发货状态,则存在以下的组合

订单行项目交货状态

交货单行项目状态

订单行项目发货状态

A(尚未开始)

不管

没有交货

B(部分处理)

不存在有C状态

没有交货

C(完全处理)

不存在有C状态

没有交货

B(部分处理)

存在有C状态

部分交货

C(完全处理)

存在有C状态

部分交货

C(完全处理)

完全C状态

完全交货

6)以上这些状态所讲的这些状态对应哪些表呢?
     这估计是大家最关心的东东了,这些状态主要跟3张表有关:VBFA、VBUK、VBUP。
1、VBFA(销售凭证流)
这张表记录销售订单对应的交货单(子层凭证类别VBTYP_N = ‘J’),以及底层过账发货生成的物料  凭证(子层凭证类别VBTYP_N = ‘R’)、冲销交货单生成的物料凭证(子层类别VBTYP_N = ‘H’),还有等等。
2、VBUK(销售凭证 : 抬头状态和管理数据)
这张表既记录了销售订单的表头交货状态,也记录交货单表头的货物移动状态,通过上表找到的交货单到这张表找到相对应的状态。
3、VBUP(销售凭证 : 项目状态)
这张表既记录了销售订单的行项目交货状态,也记录交货单行项目的货物移动状态。

sap 如何获取公司间采购订单或销售订单的交货状态的更多相关文章

  1. 【SD系列】SAP SD模块-公司间销售简介

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-公司间销售简介   ...

  2. SAP公司间采购订单关联交货单报表源代码(自己收藏)

    SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } ...

  3. 如何用SAP Cloud for Customer的手机App创建销售订单

    第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...

  4. sap 中怎样把非限制库存转为销售订单库存?

    把非限制库存转为销售订单库存: MB1B 移动类型413 把销售订单库存转为非限制库存: MB1B移动类型411 E 切记!

  5. 转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代

    转载]SAP囚徒 - 通过销售订单领用到成本中心,FI替代   原文地址:SAP囚徒 - 通过销售订单领用到成本中心,FI替代实现不同成本中心记账科目不同作者:SAP囚徒 物品领用通常是库存管理的范畴 ...

  6. SAP交货单过账自动生产采购订单、采购订单自动收货入库

    公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...

  7. SAP IDOC 通过采购订单输出消息生成销售订单

    题记: 在网络上看到一篇类似的公众号文章,叫<通过IDoc逐步指导PO&SO集成>,个人觉得整个配置过程中还是少了一些重点配置,也少了说明整个功能的核心逻辑,那么,趁着这个机会,就 ...

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

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

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

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

随机推荐

  1. POJ2348+博弈

    /* 博弈 关键态:较大数是较小数的2倍以上. */ #include<stdio.h> #include<string.h> #include<stdlib.h> ...

  2. Linux内核中的中断

    http://blog.csdn.net/weiqing1981127/article/details/8298585 中断处理程序是被内核调用来响应中断的,它运行在中断上下文,中断处理程序是上半部, ...

  3. Java List详解

    就是一种集合对象,将所有的对象集中到一起存储. list里面可以放java对象,可以直接放值. List list = new ArrayList(); list.add("AAA" ...

  4. QDialog之屏蔽Esc键(过滤,或者丢弃)

    http://blog.csdn.net/u011012932/article/details/50357323

  5. 意外发现,VC断点可加在构造函数的左括号上

    CTestApp::CTestApp() { // 断点加在这里,然后可单步进入CTestApp的父类CWinApp的构造函数进行调试! ; } 并且在CWinApp的构造函数的左括号上,可进一步进入 ...

  6. Unable to resolve target 'android-8'类似错误的解决办法

    导入android项目出现:出现Unable to resolve target 'android-8'错误及其他的一些解决办法 - 为梦想而飞 - 博客频道 - CSDN.NEThttp://blo ...

  7. yii执行原理

    应用执行流程: 浏览器向服务器发送 Http Request | 控制器(protected/controllers) | |---> Action | 创建模型 (Model) | 检查$_P ...

  8. SGU 101 修改

    感谢这里. test4确实是个不连通的case,奇怪的是我用check函数跟if (check() == false)来判断这个case,当不连通时就死循环,得到的结果是不一样的,前者得到WA,后者得 ...

  9. James搭建邮件服务器

    来源:http://chenfengcn.iteye.com/blog/356874   1 关于James与Javamail Apache James(Java Apache Mail Enterp ...

  10. Memcache+Cookie解决分布式系统共享登录状态------------------------------Why Memcached?

    每个用户请求向IIS发送一个请求,但IIS服务器的请求数有限,cpu支持的线程数有限,如果一秒钟向这台服务器发送10000次,那么则一般就会有问题,考虑集群, 请求数据分流,几台服务器共同对应一个公共 ...