点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,专家,我在调用以下方法的Add方法时收到此错误" -10 ::在" Whse"字段[??????? 0-0]中输入有效值" 库存转移对象。 我已经验证并重新验证了库存转移对象和库存转移线对象都为"到/从"仓库设置了仓库代码。 仓库和这些代码是正确的并且确实存在。 此错误消息的一些类似帖子已声明有关物料成本或单价的信息,但与错误消息不相关。 但是,当我在SAP本身中执行此操作时,没有问题。
对于此物料,评估方法设置为"标准",而未设置"物料成本"。 同样,选中"允许在不增加项目成本的情况下释放库存"。
非常感谢您能提供的所有帮助。
$ bPass = true; $ trfnObj = $ this-> Useful-> apiConfig-> GetBusinessObject($ this-> Useful-> aSAPB1Objects ['Inventory Transfer']); //让我们添加到obj $ trfnObj-> CardCode = $ request-> CardCode; $ trfnObj-> CardName = $ request-> CardName; $ trfnObj-> ContactPerson =(int)$ request-> CntctCode; $ trfnObj->地址= $请求->地址; $ trfnObj-> PriceList = $ request-> GroupNum; $ trfnObj->注释="服务呼叫"。$ request-> U_JC1_PrintJob; $ trfnObj-> FromWarehouse = $ request-> FromWhsCode; $ trfnObj-> ToWarehouse = $ request-> ToWhsCode; $ trfnObj-> DocDate = date('m/d/Y'); $ trfnObj-> JournalMemo ='库存转移-'。$ request-> CardCode; $ trfnObj-> UserFields-> Fields-> Item('U_NB_PortalCreateUser')-> Value = $ this-> getRequest()-> getSession()-> read('Auth.User.full_name'); $ trfnObj-> UserFields-> Fields-> Item('U_NB_PortalUpdateUser')-> Value = $ this-> getRequest()-> getSession()-> read('Auth.User.full_name'); $ linesObj = $ trfnObj->线; $ binAllocatObj = $ linesObj-> BinAllocations; $ binAllocatObj-> BinAbsEntry = $ getData ['bin']; $ binAllocatObj-> Quantity = $ trnLine ['Quantity']; $ binAllocatObj-> BinActionType = 1; $ binAllocatObj-> AllowNegativeQuantity = 1; $ linesObj-> BaseEntry = $ request-> DocEntry; $ linesObj-> BaseType = 5; $ linesObj-> ItemCode = $ trnLine ['ItemCode']; $ linesObj-> ItemDescription = $ trnLine ['Dscription']; $ linesObj-> Quantity = $ trnLine ['Quantity']; $ linesObj-> WarehouseCode = $ request-> ToWhsCode; $ linesObj-> FromWarehouseCode = $ request-> FromWhsCode; 如果($ linesObj-> Add()!= 0) { $ this-> Flash-> error(__(__ LINE __。':::由于SAP标准,无法传输项目:'。$ this-> Useful-> apiConfig-> GetLastErrorCode()。" ::"。$ this ->有用-> apiConfig-> GetLastErrorDescription())); $ bPass = false; } 如果($ bPass) { if($ trfnObj-> Add()== 0)//这是发生故障的地方 { //继续 $ this-> Flash-> error(__('库存转移成功创建。')); } 其他 { $ this-> Flash-> error(__(__ LINE __。':::由于SAP标准,无法保存传输:'。$ this-> Useful-> apiConfig-> GetLastErrorCode()。" ::"。$ this ->有用-> apiConfig-> GetLastErrorDescription())); } }
嗨,约翰,
我确实按照您的建议设置了默认仓库,这解决了非序列化库存转移的问题。 同样,您对"额外"-> Add()的看法是正确的。
这是新手的错误!但是,我还需要解决在转移的一侧有装仓仓库的转移序列化物料的问题。 然后,最终,将该转移附加到服务呼叫中。
我看到了很多示例,其中有批次而不是序列号,并且两个仓库都在这里进行装箱(因此需要"来往"和"发件人"箱都进行分配)。 大多数我无法工作。
花了我不少时间。 我在不同时间收到以下错误:"-10-1470000341-完全分配项目","在未完全选择批次/序列号的情况下无法添加行"," 1470000307-重复的bin位置已被删除"," 1470000838-无效的SerialAndBatchNumbersBaseLine "。
我将它们包括在这里,供其他人查找以及我的解决方案。 它是PHP,但我认为它将把想法传播给其他人。
非常感谢您的帮助。
嗨,托德,
当您查看某项的主数据卡的库存数据标签时,其中一行(即仓库)应加粗 。 如果没有任何行以粗体显示,请选择一个,然后单击" 设置默认字符串"按钮。
我的意思是,在第二种情况下,此操作没有完成
无论如何,只是仔细看了一下您的代码,我注意到了一个常见的"新手"错误。 DI API以与客户端相同的方式处理文档。 这意味着将提供文档的第一个空行。 您填充此行,然后在必要时添加一个新的空行,然后填充,依此类推。line.Add()方法添加此新空行。 完成后,您只需要添加文档即可。
我还注意到您正在使用BinAllocations,这也可能是原因。 我没有使用这种机制的经验,但是考虑到错误消息为" Whse"(不是标头或行中的字段),我的猜测是。 请检查BinAllocations对象是否需要仓库代码。
此致
Johan
嗨,托德,
我有 有两次类似的问题,最后发现,在第一种情况下,根本就没有为其中一个项目确定给定的仓库,而在第二种情况下,就没有为其中一个项目确定了默认仓库。
物有所值。
致谢
Johan
一周热门 更多>