SAP(SD) 公司间采购订单的建交货单与交货状态剖析

在之前的两篇文章曾经提到过公司间采购订单的交货状态,当时并没有提到建交货单对应的状 态,同时当时提到对应的交货状态也是有误的,因为当时考虑的是确认收货的状态了(只有通过migo对交货单收货后,采购订单对应收货完成才标记上),但是 作为发货方我关心的更多的是货物是否发出去,是否超过交货期等,至于发货过账后对方是否确认收货并不是特别关心!如果客户要求出一张报表关于公司间采购订 单的建交货单和交货状态,如果不明白其中的数据流的话,这报表简直就是天方夜谭了,下面把建交货单的状态分为A(未建交货单)、B(部分建交货单)、 C(完全建交货单)三种状态,与销售订单状态相同;交货状态分为完成交货、未完成交货。整个数据流如下图所示:
其中1、2、3是数据表的数据流(表示通过订单创建交货单,同时在表EKBE、VBUP生成跟交货有的记录,其中表EKBE记录了交货单对应的采购订单的交货数量,表VBUP记录了交货订单的货物移动状态;4、5是我们做程序的取数的流程:
SAP(SD) 公司间采购订单的建交货单与交货状态剖析_第1张图片
谈到这里,大家应该可以想到通过什么规则来判断订单的相关状态了,当然是通过数量了,订单的行项目数量与对应的交货单的数量、已过账的数量相比较,如果对 应的交货单数量为0,则对应的是A;对应的交货单数量小于订单数量,则对应的是B;否则就为C了;如果交货过账数量小于订单行数量则对应的是未完成交货, 否则完成交货。
那如何判定那些是对应的是订单行项目的交货单,那些是已经发货过账的交货单呢?
根据订单、行项目从表EKBE取
BEWTP = 'L',就是对应的已建交货单。
根据交货单、行项目从表VBUP取货物移动状态(WBSTA)= 'C',对应的就是已交货过账的交货单。

你可能感兴趣的:(c,SAP,报表)