查询在采购价格规范中不起作用

2020-08-23 15:57发布

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

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


专家们,

我想使用absl覆盖采购订单的价格来获取产品组合的标价数据。

我认为标价的BO是" ProcurementPriceSpecification"。

在报告中,我通过使用查询" QueryByTypeCodeAndPropertyIDAndPropertyValue"执行数据。

尽管我添加了正确的参数,但结果为零。

我使用一些代码来查询" ProcurementPriceSpecification" BO。

结果也为零。 所以,我跟踪我的代码,我得到了错误

"(PRC_PROCUREMENT_PS,ROOT)发生技术错误(无业务配置要处理请求):PRC_ESF_CND_MAINT109。报告事件。"

我还参考了"按产品ID查询采购价格规格"的讨论。

我尝试使用以下代码执行此操作:

导入ABSL;

导入AP.FO.PriceAndTax.Global;

////////////////

if(this.ItemProduct.IsSet()){

var prodID = this.ItemProduct.ProductKey.ProductID.content;

if(!prodID.IsInitial()){

var TestDate = Date.ParseFromString(" 20160605");

var provider = this.ToParent.SellerParty.Party.Key.PartyID.content;

var prd_cat = this.ItemProduct.ProductCategory.InternalID;

if(!TestDate.IsInitial()){

var priceSpecQuery = ProcurementPriceSpecification.QueryByTypeCodeAndPropertyIDAndPropertyValue;

var params = priceSpecQuery.CreateSelectionParams();

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prodID);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",供应商);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prd_cat);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRODUCT_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_SUPPL_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRD_CAT_ID");

params.Add(priceSpecQuery.Status.ConsistencyStatusCode," I"," EQ"," 3");

params.Add(priceSpecQuery.Status.ReleaseStatusCode," I"," EQ"," 3");

var result = priceSpecQuery.Execute(params);

foreach(结果中为var inst){

this.ListUnitPrice.Amount.content = inst.Amount.content;

this.ListUnitPrice.Amount.currencyCode = inst.Amount.currencyCode;

this.ListUnitPrice.BaseQuantity.content = inst.BaseQuantity.content;

this.ListUnitPrice.BaseQuantityTypeCode.content = inst.BaseQuantityTypeCode.content;

}

}

}

}

最好的问候

Phyo

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

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


专家们,

我想使用absl覆盖采购订单的价格来获取产品组合的标价数据。

我认为标价的BO是" ProcurementPriceSpecification"。

在报告中,我通过使用查询" QueryByTypeCodeAndPropertyIDAndPropertyValue"执行数据。

尽管我添加了正确的参数,但结果为零。

我使用一些代码来查询" ProcurementPriceSpecification" BO。

结果也为零。 所以,我跟踪我的代码,我得到了错误

"(PRC_PROCUREMENT_PS,ROOT)发生技术错误(无业务配置要处理请求):PRC_ESF_CND_MAINT109。报告事件。"

我还参考了"按产品ID查询采购价格规格"的讨论。

我尝试使用以下代码执行此操作:

导入ABSL;

导入AP.FO.PriceAndTax.Global;

////////////////

if(this.ItemProduct.IsSet()){

var prodID = this.ItemProduct.ProductKey.ProductID.content;

if(!prodID.IsInitial()){

var TestDate = Date.ParseFromString(" 20160605");

var provider = this.ToParent.SellerParty.Party.Key.PartyID.content;

var prd_cat = this.ItemProduct.ProductCategory.InternalID;

if(!TestDate.IsInitial()){

var priceSpecQuery = ProcurementPriceSpecification.QueryByTypeCodeAndPropertyIDAndPropertyValue;

var params = priceSpecQuery.CreateSelectionParams();

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prodID);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",供应商);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prd_cat);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRODUCT_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_SUPPL_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRD_CAT_ID");

params.Add(priceSpecQuery.Status.ConsistencyStatusCode," I"," EQ"," 3");

params.Add(priceSpecQuery.Status.ReleaseStatusCode," I"," EQ"," 3");

var result = priceSpecQuery.Execute(params);

foreach(结果中为var inst){

this.ListUnitPrice.Amount.content = inst.Amount.content;

this.ListUnitPrice.Amount.currencyCode = inst.Amount.currencyCode;

this.ListUnitPrice.BaseQuantity.content = inst.BaseQuantity.content;

this.ListUnitPrice.BaseQuantityTypeCode.content = inst.BaseQuantityTypeCode.content;

}

}

}

}

最好的问候

Phyo

付费偷看设置
发送
7条回答
愤怒的猪头君
1楼-- · 2020-08-23 16:32

你好极点

尝试使用 SalesPriceList.bo 。 如果您在存储库中单击它,则会有一些示例说明如何执行查询。

最诚挚的问候,

Alexandre。

悻福寶寶
2楼-- · 2020-08-23 16:30

你好,Alexandre,


我尝试使用类似于 SalesPriceList.bo 的代码来做到这一点:

但是我不能????


var prodID = this.ProductKey.ProductID.content;

if(!prodID.IsInitial()){

var provider = this.ToRoot.SellerParty.Party.Key.PartyID.content;

var prd_cat = this.ProductCategory.InternalID;

var priceSpecQuery = ProcurementPriceSpecification.QueryByTypeCodeAndPropertyIDAndPropertyValue;

var params = priceSpecQuery.CreateSelectionParams();

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRODUCT_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation1.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prodID);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_SUPPL_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation2.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",供应商);

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyReference.PriceSpecificationElementPropertyID.content," I"," EQ"," CND_PRD_CAT_ID");

params.Add(priceSpecQuery.PropertyValuationPriceSpecificationElementPropertyValuation3.PriceSpecificationElementPropertyValue.ID.content," I"," EQ",prd_cat);

//params.Add(priceSpecQuery.Status.ConsistencyStatusCode," I"," EQ"," 3");

//params.Add(priceSpecQuery.Status.ReleaseStatusCode," I"," EQ"," 3");

var result = priceSpecQuery.Execute(params);

foreach(结果中为var inst){

this.ToParent.ListUnitPrice.Amount.content = inst.Amount.content;

this.ToParent.ListUnitPrice.Amount.currencyCode = inst.Amount.currencyCode;

this.ToParent.ListUnitPrice.BaseQuantity.content = inst.BaseQuantity.content;

this.ToParent.ListUnitPrice.BaseQuantityTypeCode.content = inst.BaseQuantityTypeCode.content;

}

}


SKY徐
3楼-- · 2020-08-23 16:35

嗨,

您可能会收到错误消息,因为PriceMasterDataManagement可能没有范围。


可能

打个大熊猫
4楼-- · 2020-08-23 16:44

Hi Pole,

检查它是否在业务配置工作中心范围内,如果没有,请检查范围。

谢谢,Pradeep。

哎,真难
5楼-- · 2020-08-23 16:30

嗨,

我遇到了完全相同的问题。 PriceMasterDataManagement绝对在范围内。 如果执行不带选择参数的查询,我什至会得到数据。 仅使用选择参数,我没有任何结果。 知道我缺少什么吗?

我的查询看起来与前面所述的查询几乎相同。

此致

Daniel

SAP小菜
6楼-- · 2020-08-23 16:36

嗨,魅力

标价BO是采购价格规范。

您可以使用Web服务-NameManageProcurementPriceSpecificationIn更新清单价格。

您可以在"应用程序和用户管理"->"服务资源管理器"视图->"标价"->单击链接按钮中找到示例有效负载。

最佳问候,
Arun

一周热门 更多>