按设计的SAP-从基本价格表中获取价格包含2万多个项目

2020-09-01 13:43发布

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

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


大家好,

我的基本价格清单包含2万多件商品。

首先,我使用asbl代码查询基价清单。

第二,我使用" Where子句"在刚刚发现的"基本清单价格"中按产品ID查找产品价格=> SAP引发事件。

这是我的代码:

 var productsList:LANGUAGEINDEPENDENT_LONG_Text的集合;
 productsList.Add(" 1006488");
 productsList.Add(" 1022195");


//初始化查询以定义Workcenter子视图,例如 价目单价目表
 var initQuery = SalesPriceList.QueryByGroupCode;
 var initSelParams = initQuery.CreateSelectionParams();
 initSelParams.Add(ini​​tQuery.GroupCode.content," I"," EQ"," PLALL1");
 var initQueryResult = initQuery.Execute(initSelParams);

 var basePriceListquery = SalesPriceList.QueryByTypeCodeAndPropertyIDAndPropertyValue;
 var basePriceListParams = basePriceListquery.CreateSelectionParams();
 basePriceListParams.Add(basePriceListquery.TypeCode.content," I"," EQ"," 7PL0");
 basePriceListParams.Add(basePriceListquery.ReleaseStatusCode," I"," EQ"," 3");
 basePriceListParams.Add(basePriceListquery.ValidityPeriod.StartTimePoint.Date," I"," EQ",Context.GetCurrentUserDate());
 basePriceListParams.Add(basePriceListquery.ValidityPeriod.EndTimePoint.Date," I"," EQ",Context.GetCurrentUserDate());
 var basePriceListResult = basePriceListquery.Execute(basePriceListParams);
 var basePriceList;
 if(basePriceListResult.Count()> 0)
 {
 basePriceList = basePriceListResult.GetFirst();
 }
 foreach(产品列表中的可变项)
 {
 catalogItem.Clear();
 catalogItem.Product =项目;
 如果(basePriceList.IsSet())
 {
 var productPropertyValuation = basePriceList.PriceSpecification。
 PropertyValuation.Where(p => p.PriceSpecificationElementPropertyValuation
 .PriceSpecificationElementPropertyValue.ID.content == catalogItem.Product &&
 p.PriceSpecificationElementPropertyValuation.PriceSpecificationElementPropertyReference
 .PriceSpecificationElementPropertyID.content ==" CND_PRODUCT_ID")。GetFirst();
 var productPriceSpecification;
 if(productPropertyValuation.IsSet())
 {
 productPriceSpecification = productPropertyValuation.ToParent;
 catalogItem.PriceValue = productPriceSpecification.Amount.content;
 }


 }


 this.Item.Create(catalogItem);
 } 

当我将此代码移到具有"基本价目表"的其他租户时,有50个项目。 它工作正常。 因此,我认为问题在于基本价格表中的商品过多。

我的案子有解决办法吗?

感谢和问候,

Quyen

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

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


大家好,

我的基本价格清单包含2万多件商品。

首先,我使用asbl代码查询基价清单。

第二,我使用" Where子句"在刚刚发现的"基本清单价格"中按产品ID查找产品价格=> SAP引发事件。

这是我的代码:

 var productsList:LANGUAGEINDEPENDENT_LONG_Text的集合;
 productsList.Add(" 1006488");
 productsList.Add(" 1022195");


//初始化查询以定义Workcenter子视图,例如 价目单价目表
 var initQuery = SalesPriceList.QueryByGroupCode;
 var initSelParams = initQuery.CreateSelectionParams();
 initSelParams.Add(ini​​tQuery.GroupCode.content," I"," EQ"," PLALL1");
 var initQueryResult = initQuery.Execute(initSelParams);

 var basePriceListquery = SalesPriceList.QueryByTypeCodeAndPropertyIDAndPropertyValue;
 var basePriceListParams = basePriceListquery.CreateSelectionParams();
 basePriceListParams.Add(basePriceListquery.TypeCode.content," I"," EQ"," 7PL0");
 basePriceListParams.Add(basePriceListquery.ReleaseStatusCode," I"," EQ"," 3");
 basePriceListParams.Add(basePriceListquery.ValidityPeriod.StartTimePoint.Date," I"," EQ",Context.GetCurrentUserDate());
 basePriceListParams.Add(basePriceListquery.ValidityPeriod.EndTimePoint.Date," I"," EQ",Context.GetCurrentUserDate());
 var basePriceListResult = basePriceListquery.Execute(basePriceListParams);
 var basePriceList;
 if(basePriceListResult.Count()> 0)
 {
 basePriceList = basePriceListResult.GetFirst();
 }
 foreach(产品列表中的可变项)
 {
 catalogItem.Clear();
 catalogItem.Product =项目;
 如果(basePriceList.IsSet())
 {
 var productPropertyValuation = basePriceList.PriceSpecification。
 PropertyValuation.Where(p => p.PriceSpecificationElementPropertyValuation
 .PriceSpecificationElementPropertyValue.ID.content == catalogItem.Product &&
 p.PriceSpecificationElementPropertyValuation.PriceSpecificationElementPropertyReference
 .PriceSpecificationElementPropertyID.content ==" CND_PRODUCT_ID")。GetFirst();
 var productPriceSpecification;
 if(productPropertyValuation.IsSet())
 {
 productPriceSpecification = productPropertyValuation.ToParent;
 catalogItem.PriceValue = productPriceSpecification.Amount.content;
 }


 }


 this.Item.Create(catalogItem);
 } 

当我将此代码移到具有"基本价目表"的其他租户时,有50个项目。 它工作正常。 因此,我认为问题在于基本价格表中的商品过多。

我的案子有解决办法吗?

感谢和问候,

Quyen

付费偷看设置
发送
1条回答
bbpeas
1楼-- · 2020-09-01 14:10

有人有想法吗?

一周热门 更多>