点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,专家!
我正在尝试通过DIAPI购买收据。 但是我收到错误:1470000341-将项目" MyItemCode"完全分配到仓库" MyWarehouse"中的仓位。 当我使用相同的数据手动插入时,效果很好。
代码在C#中是这样的:
SAPbobsCOM.Documents myDocuments = SAP.SAPCompany.GetBusinessObject(BoObjectTypes.oPurchaseDeliveryNotes); myDocuments.HandWritten = BoYesNoEnum.tNO; myDocuments.CardCode = order.BusinessPartnerCode; myDocuments.CardName = order.BusinessPartnerName; myDocuments.Reference2 = order.Reference2; myDocuments.DocDate = order.StorageDate; myDocuments.DocDueDate = order.StorageDate; myDocuments.TaxDate = order.StorageDate; myDocuments.Printed = PrintStatusEnum.psNo; int sarialNum = 0; foreach(订单中的可变项。PurchaseOrderItems) { myDocuments.Lines.ShipDate = item.ShipDate; myDocuments.Lines.ItemCode = item.ItemCode; myDocuments.Lines.ItemDescription = item.ItemDescription; myDocuments.Lines.Quantity = Convert.ToDouble(item.Quantity); myDocuments.Lines.Price = item.Price; myDocuments.Lines.UnitPrice = item.UnitPrice; myDocuments.Lines.DiscountPercent =(double)item.DiscountPerLine; myDocuments.Lines.WarehouseCode = B1DlftWhsCode; myDocuments.Lines.BaseType = item.BaseDocumentType; myDocuments.Lines.BaseEntry = item.BaseDocumentEntry; myDocuments.Lines.BaseLine = item.BaseDocumentLineId; //批量 myDocuments.Lines.BatchNumbers.BatchNumber = item.U_WEBSO_ID; myDocuments.Lines.BatchNumbers.Quantity = item.Quantity; myDocuments.Lines.BatchNumbers.Add(); //BinAllocation myDocuments.Lines.BinAllocations.BinAbsEntry = 5; //SZCPRT010101(从AbsEntry = 5的OBIN中选择*) myDocuments.Lines.BinAllocations.Quantity = item.Quantity; myDocuments.Lines.BinAllocations.BaseLineNumber = sarialNum; myDocuments.Lines.BinAllocations.SerialAndBatchNumbersBaseLine = 0; myDocuments.Lines.BinAllocations.Add(); myDocuments.Lines.Add(); sarialNum ++; } myDocuments.DocTotal = Math.Round(double.Parse(order.DocumentTotal),2); int RntCode = myDocuments.Add();
当我尝试myDocuments.Add()时,出现此错误:
ErrorNo = -10,
ErrorDescription = 1470000341-将项目" 2001DCM"完全分配到仓库" SPOP"中的垃圾箱位置
任何帮助将不胜感激。
你好李
乍一看:
但是请记住,第一行已经存在,这意味着您只需在非第一行时使用.Add()
这对您来说是个难题:
您始终将第一个(0)批处理编号行分配给所有仓位分配,但是您要添加多个批处理行-必须对此进行排序。
我将纠正问题,如果问题仍然存在,请使用myDocuments.GetAsXML()查看生成的文档(在添加文档之前)
最诚挚的问候,
Maik
一周热门 更多>