点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在编写一个应用程序,该应用...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在编写一个应用程序,该应用...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们正在编写一个应用程序,该应用程序将允许我们使用oData和HANA服务层对库存调拨请求执行CRUD操作。 到目前为止,我们已经能够添加和修改单个库存转移请求和行。 但是,删除不会对StockTransferLines产生任何影响,即,如果我"删除"了StockTransferRequest中StockTransferLines集合中的特定行,则会忽略此行,并在更新StockTransferRequest时保留该行。
我在下面添加了一个代码段,该段注释了有效/无效的位:
HanaConnectionhanaConnection = newHanaConnection(connString.ConnectionString);
hanaConnection.Open();
SAPServiceLayer.SAPB1.StockTransferstockTransferRequestUpdate = newSAPServiceLayer.SAPB1.StockTransfer();
stockTransferRequestUpdate = currentOdataService.GetStockTransferRequest(1044);
if(null!= stockTransferRequestUpdate)
{
//添加行-没有问题的工作
StockTransferLinestl_11 = newStockTransferLine();
stl_11.ItemCode =" 10";
stl_11.Quantity = 1;
stl_11.UnitPrice = 2;
stl_11.FromWarehouseCode =" MAIN";
stl_11.WarehouseCode =" 002";
stockTransferRequestUpdate.StockTransferLines.Add(stl_11);
StockTransferLine stl = stockTransferRequestUpdate.StockTransferLines.Where(tl => tl.LineNum == 1).Single();
//修改现有线路
stl.Quantity = 10;
stl.ItemCode =" 100";
//删除行-无效,并且不会引发我看到的任何错误
stockTransferRequestUpdate.StockTransferLines.Remove(stl);
//或
stockTransferRequestUpdate.StockTransferLines.RemoveAt(1);
//使用上面的添加/修改/删除选项更新StockTransferRequest
boolupdateSTR = currentOdataService.UpdateStockTransferRequest(stockTransferRequestUpdate);
}
我以B1ADMIN用户身份连接,并拥有对数据库CRUD的完整权限。
鉴于添加一行; 并修改现有的线路可以正常工作。 我在想,要么我错过了令人眼花obvious乱的事情,要么是Remove方法要求在用户以外的其他地方显式允许其他权限,或者Remove方法依赖于其他操作/修正。
有人可以帮我指出正确的方向吗?
谢谢!
Rob
不,
我之前表明可以通过REST客户端(邮递员)执行此类操作。 因此,服务层中没有与此相关的任何错误。
.add()、. Remove()和代码中的其他方法不是服务层的一部分,而是您所实现框架的实现 正在使用(是WCF?)。 它们似乎仅适用于数据结构,而不适用于HTTP请求。 因此,如果有错误,那就在框架上。
update()在做什么? 补丁还是PUT? 如果是第一个,您是否设置了提到的博客中解释的必需标题?
我无法为框架提供建议,但是您是否尝试过使用纯.NET ? 我有一个肮脏的样本,我几年前。
Postman还使用RestSharp生成C#代码,这可能是另一种选择。
一周热门 更多>