创建销售订单-交货单-发货过账对应表_SAP刘梦_新浪博客

本文详细介绍了SAP系统中从销售订单(SO)到交货通知(DN)再到发货过账的完整流程,包括创建SO2800000316、DN8800000170及发货过账4900014566的具体操作,同时涵盖了相关表如VBAK、VBAP、LIPS、LIKP、MKPF、MSEG的使用,以及冲销、重新发货和删除交货单的过程。

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

仅仅是记录下,好久不做这块了,好多想不起来了。


这里仅仅是记录下。


首先:

创建SO 2800000316

创建DN 8800000170

发货过账4900014566


SO表:VBAK VBAP等

DN表:LIPS LIKP等

物料凭证表:MKPF MSEG等

另外还有关联的VBFA


创建销售订单-交货单-发货过账对应表


VL09冲销
创建销售订单-交货单-发货过账对应表

VL02N重新发货过账
创建销售订单-交货单-发货过账对应表

再冲销
创建销售订单-交货单-发货过账对应表

VL02N删除交货单(交货单是物理删除的)

创建销售订单-交货单-发货过账对应表

再参考SO创建DN
创建销售订单-交货单-发货过账对应表

再发货过账

创建销售订单-交货单-发货过账对应表




<think>嗯,用户想了解如何使用SAP的BAPI_OUTB_DELIVERY_CHANGE进行交货单的批次拆分和修改拣配数量,然后用WS_DELIVERY_UPDATE完成发货过账。首先,我需要回忆一下这两个BAPI的用途和参数结构。 首先,BAPI_OUTB_DELIVERY_CHANGE用于修改外向交货单,可以处理项目级别的更改,包括数量、批次等。用户需要批次拆分,可能涉及到修改交货单项目的批次数据,可能需要用BAPI中的批次相关结构,比如VERRO_EXT。同时,修改拣配数量可能需要调整实际拣配的数量字段,比如DELIV_NUM_B或者PICK_QTY之类的字段。 然后是WS_DELIVERY_UPDATE,这个BAPI用于过账发货,比如发货过账或冲销。需要传递正确的过账参数,比如交货单号和过账标识。可能需要设置一些控制参数,比如是否自动过账WM等。 接下来,用户可能需要示例代码。我需要确保参数的正确性,比如交货单号、项目号、批次号、数量等。需要注意批次拆分可能需要创建新的批次行项目,或者在原有项目上调整批次和数量。可能需要使用BAPI的扩展结构,比如EXTENSIONIN,或者特定的批次分配。 另外,处理BAPI的返回消息很重要,需要检查RETURN是否有错误,否则后续的过账会失败。在调用WS_DELIVERY_UPDATE之前,可能需要先调用BAPI_OUTB_DELIVERY_CHANGE提交更改,或者使用事务处理方式,比如BAPI_TRANSACTION_COMMIT。 可能需要注意,修改批次和数量时,系统是否允许这样的更改,比如批次是否已分配,库存是否可用。此外,拣配数量的修改可能需要检查是否已经过拣配,或者是否允许修改。 用户可能需要具体的步骤,比如如何构建批次数据,如何设置拣配数量,以及调用BAPI的顺序。例如,先调用BAPI修改交货单,然后调用WS_DELIVERY_UPDATE进行过账。 在示例代码中,可能需要用到结构如VBPOK,VBCO6,或者VERRO_EXT,以及扩展字段。可能需要填充相应的,比如HANDLE_ITEM、ITEM_DATA、SERNR等,具体取决于BAPI的参数要求。 还需要注意,WS_DELIVERY_UPDATE可能需要传递正确的参数,比如交货单号、过账标识(如'C'发货过账),以及控制参数是否自动生成传输单等。 最后,用户可能需要了解如何处理错误情况,例如批次不可用或数量不足,如何回滚事务,或者如何处理部分成功的情况。此外,可能涉及到的增强或出口程序也需要考虑,比如用户自定义的校验逻辑。 需要确保提供的示例代码结构正确,参数正确填充,并且有错误处理的机制,比如检查BAPI的返回消息。同时,要提醒用户在实际使用前进行测试,因为不同的系统配置可能会影响BAPI的行为。</think>### 使用BAPI_OUTB_DELIVERY_CHANGE进行批次拆分与拣配数量修改 #### 1. **BAPI_OUTB_DELIVERY_CHANGE功能介绍** 此BAPI用于修改外向交货单,支持以下操作: - 批次分配与拆分(通过`VERRO_EXT`结构或批次相关字段) - 修改拣配数量(通过`DELIV_NUM_B`或`VBEP-LMENG`字段) - 扩展字段处理(通过`EXTENSIONIN`参数) #### 2. **关键步骤与参数说明** ```abap DATA: lt_handle_item TYPE TABLE OF bapiobdlvhndlchg, lt_item_data TYPE TABLE OF bapiobdlvitemchg, lt_return TYPE TABLE OF bapiret2, lt_verro_ext TYPE TABLE OF bapiobdlvverro_ext. * 设置交货单号与项目号 DATA(lv_delivery) = '80000001'. "交货单号 DATA(lv_item) = '000010'. "项目号 * 1. 批次拆分:新增批次条目 APPEND INITIAL LINE TO lt_verro_ext ASSIGNING FIELD-SYMBOL(<fs_verro>). <fs_verro>-deliv_numb = lv_delivery. <fs_verro>-deliv_item = lv_item. <fs_verro>-batch = 'NEW_BATCH_001'. "新批次号 <fs_verro>-dlv_qty = 50. "新批次数量 * 2. 修改拣配数量(原批次) APPEND INITIAL LINE TO lt_handle_item ASSIGNING FIELD-SYMBOL(<fs_handle>). <fs_handle>-dlv_doc = lv_delivery. <fs_handle>-dlv_item = lv_item. <fs_handle>-itemchg = 'X'. APPEND INITIAL LINE TO lt_item_data ASSIGNING FIELD-SYMBOL(<fs_item>). <fs_item>-deliv_numb = lv_delivery. <fs_item>-deliv_item = lv_item. <fs_item>-dlv_qty = 100. "调整后的总数量(需与原批次数量一致) * 调用BAPI CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE' EXPORTING header_data = VALUE bapiobdlvhdrchg(deliv_numb = lv_delivery) TABLES handle_item = lt_handle_item item_data = lt_item_data verro_ext = lt_verro_ext return = lt_return. * 检查错误并提交 IF line_exists( lt_return[ type = 'E' ] ). CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. ENDIF. ``` #### 3. **WS_DELIVERY_UPDATE发货过账** ```abap DATA: lt_control TYPE TABLE OF wmgr_control, lt_result TYPE TABLE OF wmgr_result. * 设置过账参数 APPEND INITIAL LINE TO lt_control ASSIGNING FIELD-SYMBOL(<fs_control>). <fs_control>-deliv_numb = lv_delivery. <fs_control>-tpstk = 'C'. "发货过账标识 * 调用发货过账 CALL FUNCTION 'WS_DELIVERY_UPDATE' EXPORTING if_auto_post_wm = 'X' TABLES it_control = lt_control et_result = lt_result. * 检查结果 IF line_exists( lt_result[ msgty = 'E' ] ). ROLLBACK WORK. ELSE. COMMIT WORK. ENDIF. ``` ### 关键注意事项 1. **批次拆分逻辑**:需确保新批次与原批次总量一致,避免库存冲突[^1]。 2. **拣配数量修改**:需检查WM(仓库管理)状态,若已拣配需先取消。 3. **事务一致性**:建议在BAPI调用后立即提交或回滚事务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值