◆◆0如何消除销售订单中配置(Configuration)相关的Incompletion log

Posted lvdong18847870057

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了◆◆0如何消除销售订单中配置(Configuration)相关的Incompletion log相关的知识,希望对你有一定的参考价值。

1, 问题描述

调用bapi ‘BAPI_SALESORDER_CREATEFROMDAT2‘ 创建销售订单,发现生成的销售订单有incompletion log,是关于可配置物料的,如下

技术图片

技术图片

可配置物料的可以通过字段MARA-KZKFG判断,

技术图片

2, 问题分析

经过某大师指点发现,造成此问题的根本原因是bapi BAPI_SALESORDER_CREATEFROMDAT2中行项目ORDER_ITEMS_IN-PO_ITM_NO和configuration的ORDER_CFGS_REF-POSEX为空,没有将行项目和configuration的数据关联起来。

技术图片

3, 解决方案

解决方法有两种:

方法1,当ORDER_ITEMS_IN-PO_ITM_NO和ORDER_CFGS_REF-POSEX 为空时,给这两个字段赋一个相同的假的行项目值,让行项目和配置信息关联起来,但是这么做有个副作用就是这个假行项目值会被保存到vbap-posex中,所以还要再bapi BAPI_SALESORDER_CREATEFROMDAT2 之后用直接更新表的方法将vbap-posex恢复。

技术图片

方法2,写一段bdc程序模拟以下前台动作,

选中行项目,点击configuration detail按钮

技术图片

然后,直接返回保存,这样就不会有incompletion log了

技术图片

BDC代码如下:

注意:上面代码中,用到了CALL_TRANSACTION_FROM_TABLE_CO 开了一个新的task来实现BDC,这么做的原因是在调用BAPI_SALESORDER_CREATEFROMDAT2创建销售订单后再用call transaction va02实现BDC会出现一个iactive的屏幕,如下,

技术图片

这个屏幕和sm35中的录屏不一样,导致bdc失败,所以开了新task执行bdc,这样就能成功,原因还没研究清楚。。。。

以上。

以上是关于◆◆0如何消除销售订单中配置(Configuration)相关的Incompletion log的主要内容,如果未能解决你的问题,请参考以下文章

sap 采购订单和销售订单指令

sap系统中,一张销售订单做了三张交货单,现要对其中一张交货单做退货,如何配置实现。

如何获得贝宝销售交易

SAP系统标准销售业务流程及配置内容

SAP销售订单的行项目在首次批量维护后,某些行项目的计划行确认数量为0,怎么回事?

ABAP销售订单修改税率