如何在Add-on插件中实现业务关联

简介:
熟悉Sbo操作的人都知道,在Sbo中,不管是Sbo系统程序,还是自定义的业务报表,只要业务对象的主键显示在屏幕上,往往这个字段只要存在当前值,在它的前面都有一个黄色的右向箭头,点击这个箭头,就可以关联到这个主键关联的业务对象主操作界面上。
Sbo称呼这个黄色的右向箭头为关联按钮(linkButton),在Sbo UI SDK API中,专门有一种控件类型就是linkButton,就是SAPbouiCOM.LinkedButton。那么在Sbo Add-on开发中,到底如何实现linkButton同实际的业务对象的关联呢--点击这个linkButton,就可以关联到这个主键关联的业务对象主操作界面上?
如前所述,linkButton需要同一个编辑或者显示控件对象的当前值关联,还要同相关的业务对象关联。而支持编辑或者显示的控件对象分为两类:单控件对象,如下拉列表控件SAPbouiCOM.ComboBox、文本编辑控件SAPbouiCOM.EditText等;表格控件对象,主要包括Matrix和Grid。在Sbo中,上述两种控件对象都可能同业务对象实现基于linkButton的关联,只不过,表格控件对象的业务关联往往需要Matrix或者Grid的一列关联到指定的业务对象。
在Sbo UI开发中,上述的两种控件只是在绑定数据源的时候有所区别,单控件对象或者表格控件的列对象同linkButton的绑定的过程都差不多。
1、单控件对象
  • 声明单控件对象和linkButton对象
    • Dim oCombo As SAPbouiCOM.ComboBox
    • Dim oLinked As SAPbouiCOM.LinkedButton
  • 新增一个下拉列表框
    • oItem = oForm.Items.Add("ItemLink",   SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
    • oItem.Left = 100
    • oItem.Top = 110
    • oItem.AffectsFormMode = False
    • oItem.LinkTo = "Linked"
  • 新增一个连接按钮,位于上述的下拉列表的前面位置
    • oItem = oForm.Items.Add("Linked",    SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON)
    • oItem.Left = 80
    • oItem.Top = 110
    • oItem.LinkTo = "ItemLink"
  • 绑定编辑/显示对象到业务对象:物料主数据,并将关联到物料主数据主操作界面
    • oLinked = oItem.Specific
    • oLinked.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_Items
2、表格空间的列对象
  • 声明一个Matrix控件和一个Matrix空间列对象,以及一个linkButton对象
    • Dim oMatrix As SAPbouiCOM.Matrix
    • Dim Column As SAPbouiCOM.Column
    • Dim oLinked As SAPbouiCOM.LinkedButton
  • 添加一个Matrix控件
    • oItem = oForm.Items.Add("PCMatrix", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
    • oItem.Left = 30
    • oItem.Width = 360
    • oItem.Top = 150
    • oItem.Height = 400
    • oMatrix = oItem.Specific
  • 为Matrix添加一个列对象
    • oColumns = oMatrix.Columns
    • oColumn = oColumns.Add("ItemCode", SAPbouiCOM.BoFormItemTypes.it_EDIT)
    • oColumn.TitleObject.Caption = "物料编码"
    • oColumn.Width = 30
    • oColumn.Editable = True
  • 绑定列对象到业务对象:物料主数据,并将列链接到物料主数据系统界面
    • oLink = oColumn.ExtendedObject
    • oLink.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_Items
上述代码实现了控件对象当前值同相关业务的关联--关联到业务对象的Sbo主处理界面而无法实现从相关业务对象处理界面中回调数据,对于这些控件对象该如何同数据源进行绑定,以及在信息录入操作时如何实现对业务对象选择界面回取信息,不在本文中讨论。


本文转自foresun  51CTO博客,原文链接:http://blog.51cto.com/foresun/44054,如需转载请自行联系原作者
相关文章
18activiti - 流程管理定义(删除key相同的所有不同版本的流程定义)
18activiti - 流程管理定义(删除key相同的所有不同版本的流程定义)
51 0
|
5月前
|
安全 编译器 程序员
开发与运维调用问题之add(1.0f, 2.0)这个调用会匹配哪个版本的add函数如何解决
开发与运维调用问题之add(1.0f, 2.0)这个调用会匹配哪个版本的add函数如何解决
35 5
|
5月前
|
Kubernetes 开发工具 git
代码协同模式使用问题之如果贡献者在本地仓库中进行了新的改动,如何更新已经创建的 pull request
代码协同模式使用问题之如果贡献者在本地仓库中进行了新的改动,如何更新已经创建的 pull request
|
7月前
DataphinV4.0来啦 | 自定义全局角色 ,实时研发全场景覆盖
DataphinV4.0来啦 | 自定义全局角色 ,实时研发全场景覆盖
59 0
|
7月前
|
数据可视化 IDE 开发工具
CodeWave智能开发平台--03--目标:应用创建--01模板创建依赖问题修改
CodeWave智能开发平台--03--目标:应用创建--01模板创建依赖问题修改
关联更新封装(三)
关联更新封装(三)
61 2
关联更新封装(二)
关联更新封装(二)
63 2
|
设计模式 Java API
使用Spring框架创建一个RESTful API,实现学生信息的管理,包括资源的创建、读取、更新和删除。
在当今的Web应用程序开发中,RESTful API(Representational State Transferful Application Programming Interface)变得越来越重要。Spring框架提供了强大的工具和功能,以便轻松创建、读取、更新和删除(CRUD)资源。在这篇文章中,我们将深入探讨如何使用Spring框架创建一个RESTful API,并通过一个完整的示例演示。
354 0
17activiti - 流程管理定义(查询最新版本的流程定义)
17activiti - 流程管理定义(查询最新版本的流程定义)
42 0
|
弹性计算 固态存储 网络安全
使用Count功能批量创建资源
本场景将以批量创建ECS实例和EIP,并为ECS实例绑定EIP为例,为您介绍如何使用Count功能。