是否可以从ABSL的销售订单中覆盖销售计量单位?

2020-09-27 00:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的比亚迪社区, 在纸上如此...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的比亚迪社区,

在纸上如此简单,我为此而发疯。

我只想从ABSL编码中覆盖销售订单项目的Quantity.unitcode。

此外,我从文档中可以看到,显示了一些代码可以覆盖quantity.content和quantity.unitcode。

当我创建FirstRequestedScheduleLine时,我的代码没有返回任何错误。

当我调试时,我可以看到我自定义对象中的值是好的,就像我的单位代码= Case为15,数量= 80。

但是当分配完成后,只有项目的Quantity.content会变成红色(分段值),分配的值为80。

对立面上的Quantity.unitcode在调试器中保持黑色(未更改任何值),并保留"产品主数据"->"销售"->"销售单位"的默认值,即"每个"。

我只是无法从ABSL编码覆盖此主数据值。

我可以通过UI进行更改,但不能从后端进行更改。

请注意,我的ABSL编码是在"批量数据运行"运行的自定义操作中。

对此有任何帮助吗?

非常感谢您的关注。

最诚挚的问候。

雅克·安东尼·奥利尔

如果您需要代码,但我知道它是正确的;)

 if(NouveauSalesOrder_Item.ItemProduct.IsSet()){
 NouveauSalesOrder_Item.ItemProduct.ProductKey.ProductID.content = RowItem.ItemProductID.content;


 如果(NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.IsSet())
 {
 NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.Quantity.unitCode = RowItem.RequestedQuantity.unitCode;
 NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.Quantity.content = RowItem.RequestedQuantity.content;
 NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.DateTimePeriod.StartDateTime.content = RowItem.DateToBeDelivered;


 var QuantityTrace = NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.Quantity;
 var stop =" stop";
 }

 否则if(!NouveauSalesOrder_Item.FirstRequestedItemScheduleLine.IsSet())
 {
 var NouveauSalesOrder_Item_lines:NouveauSalesOrder_Item.ItemScheduleLine的元素;
 NouveauSalesOrder_Item_lines.Quantity.unitCode = RowItem.RequestedQuantity.unitCode;
 NouveauSalesOrder_Item_lines.Quantity.content = RowItem.RequestedQuantity.content;
 NouveauSalesOrder_Item_lines.DateTimePeriod.StartDateTime.content = RowItem.DateToBeDelivered;


 var UomTrace = NouveauSalesOrder_Item.ItemScheduleLine.Create(NouveauSalesOrder_Item_lines);
 var stop2 ="停止";
 }
 
4条回答
SAP小菜
2020-09-27 00:43 .采纳回答

最后我找到了!

文档忘记提及我们还需要在ItemProduct节点级别上写QuantumUnitOfMeasure。

如果销售基础计量单位不同,仅覆盖RequestScheduleLine是不够的。

因此,我需要在粘贴第一篇文章之前添加以下代码:

 NewSalesOrderItem.ItemProduct.QuantityMeasureUnitCode = RowItem.RequestedQuantity.unitCode;
 

现在这可以了!

所以,当您尝试在销售订单商品的IFrstRequestedScheduleLine中写入UnitCode时,请不要忘记先覆盖SalesOrder.Item.ItemProduct.QuantityMeasureUnitCode字段。

感谢您的关注。

最诚挚的问候。

Jacques-Antoine

一周热门 更多>