点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 嗨, 我创建了一个...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 嗨, 我创建了一个...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我创建了一个具有订单项的UDO。 下面是数据在SAP中的外观
下面是数据在SQL中的显示方式
基于上述查询,我正在尝试更新LindId 10和11。对于SDK,您在更新订单项时会减去一。 因此,对于SDK中的此示例,订单项将为9和10。当我尝试使用这些行号更新这两行时,出现无效行错误。 当我删除行项目之后,此问题开始发生。 尽管我在数据库中看到了这些行号以及上面显示给您的屏幕截图,但我仍想弄清楚为什么会遇到此问题?
编辑:
下面是我正在使用的一些用于处理更新的代码
将oGeneralService用作SAPbobsCOM.GeneralService Dim oGeneralData作为SAPbobsCOM.GeneralData 昏暗的孩子作为SAPbobsCOM.GeneralDataCollection Dim oGeneralParams作为SAPbobsCOM.GeneralDataParams Dim sCmp作为SAPbobsCOM.CompanyService 昏暗的行作为整数= oMatrix.RowCount-1 sCmp = oCompany.GetCompanyService oGeneralService = sCmp.GetGeneralService(" SPA") oGeneralParams = oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams) oGeneralParams.SetProperty(" DocEntry"," 5") oGeneralData = oGeneralService.GetByParams(oGeneralParams) oChildren = oGeneralData.Child(" SPA_L") 对于行As Integer = 1到行 lineNum = CInt(oMatrix.Columns.Item(" LineId")。Cells.Item(row).Specific.Value())-1 docNum = CInt(oMatrix.Columns.Item(" DocNum")。Cells.Item(row).Specific.Value()) cardCode = oMatrix.Columns.Item(" CardCode")。Cells.Item(row).Specific.Value() cardName = oMatrix.Columns.Item(" CardName")。Cells.Item(row).Specific.Value() oChildren.Item(lineNum).SetProperty(" U_DocNum",docNum) oChildren.Item(lineNum).SetProperty(" U_CardCode",cardCode) oChildren.Item(lineNum).SetProperty(" U_CardName",cardName) 下一个 oGeneralService.Update(oGeneralData)
(10.1 kB)
嗨,
如 Johan Hakkesteegt 所述,您需要找出索引,通常可以使用VisOrder来实现,但是 在您的情况下,为什么它与LineNum相同是很奇怪的。
无论如何,如果您具有UDO表单,我不明白为什么要通过代码更新UDO,一旦将表单绑定到UDO,就无需编写任何代码来进行更新。
# p#嗨Danilo,
"我的矩阵"网格显示的是过滤结果,而不是所有订单项。 例如,假设我的文档有6个订单项,但我只想显示2个订单项。 由于矩阵网格显示过滤结果,因此我不确定网格是否会知道如何更新正确的订单项?
一周热门 更多>