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

本文解析了公司间采购订单的交货状态及其数据流,包括建交货单的不同状态及交货完成情况,并介绍了如何通过订单数量和交货数量判断订单状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在之前的两篇文章曾经提到过公司间采购订单的交货状态,当时并没有提到建交货单对应的状 态,同时当时提到对应的交货状态也是有误的,因为当时考虑的是确认收货的状态了(只有通过migo对交货单收货后,采购订单对应收货完成才标记上),但是 作为发货方我关心的更多的是货物是否发出去,是否超过交货期等,至于发货过账后对方是否确认收货并不是特别关心!如果客户要求出一张报表关于公司间采购订 单的建交货单和交货状态,如果不明白其中的数据流的话,这报表简直就是天方夜谭了,下面把建交货单的状态分为A(未建交货单)、B(部分建交货单)、 C(完全建交货单)三种状态,与销售订单状态相同;交货状态分为完成交货、未完成交货。整个数据流如下图所示:
其中1、2、3是数据表的数据流(表示通过订单创建交货单,同时在表EKBE、VBUP生成跟交货有的记录,其中表EKBE记录了交货单对应的采购订单的交货数量,表VBUP记录了交货订单的货物移动状态;4、5是我们做程序的取数的流程:

谈到这里,大家应该可以想到通过什么规则来判断订单的相关状态了,当然是通过数量了,订单的行项目数量与对应的交货单的数量、已过账的数量相比较,如果对 应的交货单数量为0,则对应的是A;对应的交货单数量小于订单数量,则对应的是B;否则就为C了;如果交货过账数量小于订单行数量则对应的是未完成交货, 否则完成交货。
那如何判定那些是对应的是订单行项目的交货单,那些是已经发货过账的交货单呢?
根据订单、行项目从表EKBE取
BEWTP = 'L',就是对应的已建交货单。
根据交货单、行项目从表VBUP取货物移动状态(WBSTA)= 'C',对应的就是已交货过账的交货单。

<think>好的,我现在需要帮助用户解决SAP系统中公司采购订单交货单数量为0的问题。根据用户提供的引用内容,我需要结合系统级指令和用户的问题来生成合适的回答和相关问题。 首先,用户的问题是关于公司采购订单生成的交货单数量为0的解决方案。我需要回顾提供的引用内容,特别是引用[1]、[2]、[3]和[4],从中提取相关的流程和可能的错误点。 引用[1]提到公司采购的核心流程,包括创采购订单、发货、收货、开票等步骤。这里需要确认采购订单是否正确指定了供应公司,并且交货流程是否正常执行。如果交货单数量为0,可能是采购订单中的数量错误,或者供应公司销售订单时有问题。 引用[2]涉及创交货单的步骤,使用VL01N或Fiori Apps。如果交货单数量为0,可能需要检查销售订单中的数量是否正确传递到交货单,或者是否有配置错误导致数量未被正确带出。 引用[3]讨论如何处理外部销售订单行数量的更改,特别是内部PO/SO生成后的调。虽然用户的问题是关于数量为0,但这里提到的测试情况可能相关,例如系统在生成交货单时是否允许数量更改,或者是否有配置限制导致数量无法更新。 引用[4]提到公司A的账户类型和交易伙伴的账户类型,这可能涉及公司交易的财务配置。如果账户类型配置错误,可能导致交货单无法正确生成数量,从而显示为0。 接下来,我需要将这些引用内容合到解决方案中。可能的步骤包括: 1. 检查采购订单中的数量和供应公司是否正确。 2. 确认供应公司的销售订单是否生成正确,数量是否采购订单一致。 3. 查看交货单时的配置和主数据,如发货点、计划行类别等。 4. 检查公司库存配置,确保跨公司发货允许。 5. 检查批次管理和增强程序是否影响数量更新。 此外,需要确保所有步骤符合用户的中文回答要求,使用正确的LaTeX格式,并生成相关问题。 最后,生成三个相关问题,涵盖配置、财务影响和常见错误,帮助用户进一步理解相关主题。</think>### 解决方案:SAP公司采购订单交货单数量为0的排查步骤 1. **检查采购订单销售订单的关联性** - 确保采购公司采购订单(PO)中**数量字段**非空且需求一致,且指定了正确的供应公司[^1]。 - 在供应公司侧,通过采购订单生成的销售订单(SO)需验证行项目数量是否继承正确。可使用事务码`VA03`检查销售订单,确认`Order Quantity`是否为0。 2. **交货单生成的配置检查** - 在供应公司交货单时(事务码`VL01N`或Fiori应用),需检查**计划行类别**(Schedule Line Category)的配置。例如,计划行类别`CS`是否允许交货数量为0,或是否被错误配置为手动输入数量[^2]。 - 检查**发货点**(Shipping Point)的主数据配置,确保其工厂、销售组织的逻辑匹配。 3. **库存批次管理问题** - 若涉及**跨公司库存转移**(Intercompany Stock Transfer),需确认供应公司是否启用了公司发货的特殊库存类型(如E库存)。若库存不足或未分配,可能导致交货单数量为0。 - 如果物料启用了批次管理,检查批次主数据中可用数量是否充足,或批次状态是否被锁定。 4. **增强程序或用户出口干扰** - SAP系统可能通过用户出口(如`USEREXIT_SAVE_DOCUMENT_PREPARE`)或BADI(如`LE_SHP_DELIVERY_PROC`)修改交货数量。需检查相关增强是否错误地将数量置0[^3]。 5. **财务公司结算配置** - 验证公司交易的**账户类型**(Account Type)配置是否正确。例如,采购公司账户类型应为应付(K),供应公司为应收(D)[^4]。若配置错误,可能导致交货单无法带出数量。 --- ### 示例代码:检查交货单数量逻辑 ```ABAP * 使用事务码VL03N查看交货单行项目 DATA: lt_vbep TYPE TABLE OF vbep. SELECT * FROM vbep INTO TABLE lt_vbep WHERE vbeln = '交货单号'. IF sy-subrc = 0 AND lt_vbep[ 1 ]-wmeng = 0. MESSAGE '交货数量为0,请检查销售订单计划行' TYPE 'E'. ENDIF. ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值