点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,我发现尝试使用ABSL代码添加产品时遇到问题。
基本上,我创建了一个脚本,该脚本调用WS(此WS使用ID产品,数量和度量来还原产品列表),并且在尝试添加产品时出现消息Exception。
1)使用这种方法,在CustomerQuote扩展BO中的脚本内部,添加了产品,但是我有消息异常(该产品不存在)
var itemToCreate = this.Item.Create(); //在此行中,引发异常 :( itemToCreate.ItemProduct.ProductKey.ProductID.content = material.InternalID.content; itemToCreate.ItemProduct.QuantityMeasureUnitCode = itemResp.GUabsmg; itemToCreate.FirstRequestedItemScheduleLine.Quantity .content = itemResp.zRtCmp;
2)我尝试了另一种添加产品的方法,但是看不到节点/关联的ItemProduct。
var itemToCreate:CustomerQuote.Item的元素;
//以下几行中出现错误,因为我无法访问关联的ItemProduct。
itemToCreate.ItemProduct.ProductKey.ProductID.content = material.InternalID.content; itemToCreate.ItemProduct.QuantityMeasureUnitCode = itemResp.GUabsmg; itemToCreate.FirstRequestedItemScheduleLine.Quantity.content = itemResp.zRtCmp;
还有另一种添加产品的方式?
谢谢!
Pranav,我尝试过这种方式。
在调试模式下,在var createitem = this.Item.Create();行中引发警告。
设置产品后,在以下几行中保存产品:),但显示警告:(。
谢谢!
你好帕勃罗!
您过得愉快! 非常感谢您的代码。
该错误消息不再显示!
非常感谢!
最好的问候
顺便说一句,去年我也开了一个事件,这就是支持人员给我们写的:
"亲爱的彼得,
我们已经与我们的开发团队一起检查了此问题,以下是他们的发现:PDI创建了一个项目://CustomerQuote:创建项目实例this.Item.Create(elCustomerQuote_Item);
在标准处理中,确定一致性,并显示有关缺少产品的错误消息。 之后,PDI将产品设置为子产品ItemProduct:
//设置产品标识符-必填
this.Item.GetFirst()。ItemProduct.ProductKey.ProductID.content =" 1000001";
在标准处理中,将再次确定一致性,并且该项目变得一致(Status.ConsistencyStatusCode onItem变为3 = Consentent)。
但是,发出的消息无法在同一回合提示中再次删除! 因此,尽管错误已得到解决,但该操作将返回错误消息。 仅当在OData调用中完成项目的创建和产品的提供同时发生时,才能解决该问题。"
您好,
我对此有一个解决方案,基本上我们必须设置节点itemProposal。
var itemProd:CustomerQuote.ItemProposal的元素;
itemProd.ProductKey.ProductID.content = prom.ProductID;
itemProd.Quantity.content = prom.CantidadSol.content;
var itemprop = this.ItemProposal.Create(itemProd);
itemprop.Accept(); //这行非常重要。
//现在我们找到了创建的产品,现在可以修改所有自定义字段
var prodTomodify = this.Item.Where(p => p.ID.RemoveLeadingZeros()== prom.ItemNumber).GetFirst();
最好的问候。
你好,帕勃罗,
但是消息仍然显示在UI上吗?
再见,
。 霍斯特(Horst)
你好,帕勃罗(
您需要通过Create调用来提供数据。
请查看通过CustomerQuote BO的文档中的资源库浏览器找到的示例。
HTH,
。 Horst
嗨,Pranav,谢谢您的帮助。
我用这种方法尝试了几次。 我的问题是线,
var createitem = this.Item.Create(); //在调试模式下,此行会引发错误消息"该商品没有产品"
即使出现该消息,也将创建并保存产品。 但是消息错误仍然出现:(。
HI Pablo,
根据我的类似要求,我首先创建了带有所有必填字段的项目,然后创建了产品:
请参见以下代码。 如果可以使用以下方法创建商品,请告诉我。
varcreateitem = this.Item.Create();
createitem.Description.content ="咨询服务";
createitem.ExpectedNetAmount.content = weightedvalue;
createitem.ExpectedNetAmount.currencyCode =" USD";
createitem.Quantity.content = 1;
createitem.Quantity.unitCode =" EA";
如果(createitem.ItemProduct.IsSet()){
createitem.ItemProduct.ProductKey.ProductID.content =" 10000000";
createitem.ItemProduct.ProductCategoryHierarchyProductCategoryIDKey.ProductCategoryInternalID =" 1";
一周热门 更多>