点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
当我获得材料清单的销售价格时,我面临性能问题。 这里是问题:
需求:有一个物料ID列表(约1000个项目),用户已经定义了基本价格表(名称为MSRP,此价格表中有超过20000个项目)。 我们需要从MSRP清单中获取材料价格(在ID清单中)。
我当前的代码是这样的:((我使用foreach在SalesPriceList中循环
//获取MSRP价格表 var basePriceListID:SalesPriceListID; basePriceListID.content =" MSRP"; var basePriceList = SalesPriceList.Retrieve(basePriceListID); //我们为此示例使用了3个特定的ID,但是在现实生活中,我们使用的是材料列表,通常超过1000种材料。 var a_List_Of_Items:LANGUAGEINDEPENDENT_LONG_Text的集合; a_List_Of_Items.Add(" 1006488"); a_List_Of_Items.Add(" 1022195"); var curMaterialAmount = 0; var curMaterialUoM =""; 如果(basePriceList.IsSet()) { foreach(a_List_Of_Items中的var materialID) { foreach(basePriceList.PriceSpecification中的可变价格) { 已处理var = 0; foreach(var propertyprice.PropertyValuation中的估值) { 如果(propertyValuation.PriceSpecificationElementPropertyValuation.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content ==" CND_PRODUCT_ID" && propertyValuation.PriceSpecificationElementPropertyValuation.PriceSpecificationElementPropertyValue.ID.content == materialID) { curMaterialAmount = price.Amount.content; curMaterialUoM = price.BaseQuantityTypeCode.content; 已处理= 1; 打破; } } if(处理== 1)中断; } } }
-我们无法限制价目表(MSRP)中的项目,因为我们的客户已经定义了它们,现在它们已超过20000件。
-能否请您分享我在这种情况下应遵循的最佳做法?
-是否有另一种无需使用foreach即可获得销售价格的方法?
-在这种情况下还有其他解决方案吗?
谢谢
阮阮
您好,
您可以通过以商品ID作为参数来在absl逻辑中调用服务[CalculatePriceIn],然后获取价格。
注意事项
< p> May谢谢May的建议。 我们提出了一个解决方案,我们创建了自定义对象,然后同步了本地列表中的数据。 第一次运行需要花费时间,而第二次则需要花费更多时间。
谢谢
一周热门 更多>