SDK:如何在系统Matrix中困绑自定义字段?

[复制链接]
查看11 | 回复3 | 2006-4-16 22:44:45 | 显示全部楼层 |阅读模式
我有个SDK问题困绕很久,向各位高手请教。
1、在“Special Prices for Business Partners”(form 668)增一个新的折扣。在“OSPP”表加名为“U1”的字段。我使用DI API已经增加了。
2、在Matrix中增加一列,这个也可以做,我使用两种方法都可以,一种是直接写代码,另一种是通过XML更改。
3、新增的列没法绑定系统数据源。不能显示数据,也不能更新和增加数据。
主要问题是这个窗口SAP不让加字段,要是象订单窗口就根本不用SDK都可以。
我没法找出系统数据源?我曾试过不绑定数据源,别建数据跟踪,却发现SAP的更新有问题,当您击“Update”时,SAP的在SQL Sever中操作,是先将Matrix中的数据全部删除,再重新增加。这就惨了,“U1”的数据全部变成Null了。看来,我只能绑定系统数据源才行。
这种问题是否有办法解决?下面是我的代码,请帮助我修改。谢谢!
-----------------xml中

--------------VB
If pVal.FormType = "668" And pVal.BeforeAction = False Then
Select Case pVal.EventType
Case SAPbouiCOM.BoEventTypes.et_FORM_LOAD
oXmlDoc.Load (C:\668.xml)
oXmlDoc.selectSingleNode("Application/forms/action/form/@uid"
).nodeValue = pVal.FormUID
SBO_Application.LoadBatchActions (oXmlDoc.xml)
Set oForm = SBO_Application.Forms.Item(FormUID)
End Select
End If
回复

使用道具 举报

千问 | 2006-4-16 22:44:45 | 显示全部楼层
我会请我一个做sdk开发的朋友帮助看看这个问题的。请等待
回复

使用道具 举报

千问 | 2006-4-16 22:44:45 | 显示全部楼层
首先需要说明一点,对于SBO原有系统界面,SDK操作权限非常有限.
根本无法使用数据源.
所以对于楼上问题,如果纯粹想使用绑定系统数据源的方法实现,基本属于无解.
使用SDK修改BO系统界面是非常复杂的一件事情,如果要实现上述功能,唯一方法只能自己写事件代码处理.
譬如添加时候,捕捉到点击"添加"按钮的ItemPress事件,在系统操作完毕后,使用DI的RECORDSET对象,使用SQL手工处理.
同样,编写完"修改","上一个记录","下一个记录","第一个","最后一个"等等事件代码才能完成本功能.
回复

使用道具 举报

千问 | 2006-4-16 22:44:45 | 显示全部楼层
多谢cfanlu兄.
从我查阅的资料中也证实了这可能是无解。对于DI的方法我也想到了,主要是感到实现太复杂了。主要是上面提到的SAP使用的Update方式,先删除数据再重新插入数据,是否是一个Bug.?在保存之前时,我必须要先临时保存自定义录入数据,等SAP工作完再填数据,是不是太麻烦了?
从SQL Server的跟踪来看,SAP其实已经对自定义字段进行操作,只是没有在界面上显示出来。
这问题我在SDN中也提问了,得到鬼佬的回复是在XML文件已经成功捆绑数据源了,在状态栏的显示也正确,这让我看到希望,但他不愿提供代码,我无从可解。另,我听说有人可以做了,希望得到高手指点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行