Web Dynpro - OVS

        Web Dynprod的字段搜索帮助可以通过两种方式创建,首先当创建 Context-Node-Attribute/Context-Attribute 时可以为 Attribute 设置所需的 Input Help Mode;其次当使用Select_Options 时,通过设置 i_value_help_type 时选择 if_wd_value_help_handler 的某种Attributes的方式达到搜索帮助创建的目的。

  • 设置Context-Node-Attribute/Context-Attribute的Input Help Mode
  •  设置Select_Options的i_value_help_type

         两种方式下的搜索帮助详细内容如上述所示,本文仅将OVS的两种方式展开表述,其他大多方式相对比较简便。当然 Freely Programmed 除外,自由度比较大,可以创建一些比较“炫酷”的搜索帮助,比如可以实现多个Tabstrips的搜索帮助。


  • Context-Node-Attribute/Context-Attribute
  1. 双击 Object Name 在已使用的组件中添加新的组件 WDR_OVS,并为其命名 
  2.  通过设置 Input Help Mode 的值为 Object Value Selector 的方式设置 OVS Component Usage需要引用OVS组件(上述的 WDR_OVS 所命的名字)。

  3.  接下来就是要对搜索帮助的实现,创建一个 “1 Event Handler” 类型的 Method(可以在Componentcontroller 或视图内创建,要记得在 Properties 中将该组件新建出来哦!不然在Method 的 Event 中是引用不到的)。
  4. 创建出Event→OVS的Method后,系统会自动带出一些代码的框架。系统自动带出的入参是 ovs_callback_object REF TO if_wd_ovs。搜索帮助的实现分为四个阶段,即 ovs_callback_object→phase_indicator 
    属性说明初始值
    co_phase_0Set Configuration(设置配置)0
    co_phase_1Preassign Entry Values(预先指定条目的值)1
    co_phase_2Fill Value List(填充值列表)2
    co_phase_3Value Return(值返回)3
  5. 自动创建出的DATA具体含义,随后便可以通过相应的数据类型对代码进行修改 
    DataType含义
    ls_search_inputlty_stru_input(内容自定义)输入条件
    lt_search_listlty_stru_list(内容自定义)表格内容
    ls_textwdr_name_value输入条件的标签文本(ls)
    lt_label_textswdr_name_value_list输入条件的标签文本(list)
    lt_column_textswdr_name_value_list表格列头文本
    lv_window_titlestring窗口名
    lv_table_headerstring表格名
  •  Select_Options——OVS
  1. Select_Options 的 OVS 是通过 Select_Option 初始化时添加元素设置 i_value_help_type = if_wd_value_help_handler=>co_prefix_ovs 的方式实现的。
    RT_RANGE_TABLE = WD_THIS->M_HANDLER->CREATE_RANGE_TABLE( I_TYPENAME = 'ZDOC_PXH' )."类型"
    WD_THIS->M_HANDLER->ADD_SELECTION_FIELD(
      I_ID = 'S_PXH'
      I_DESCRIPTION = '文档号'
      I_OBLIGATORY = ABAP_FALSE
      IT_RESULT = RT_RANGE_TABLE
      I_TOOLTIP = LV_TOOLTIP
      I_VALUE_HELP_TYPE = IF_WD_VALUE_HELP_HANDLER=>CO_PREFIX_OVS
    ).
  2. 接下来要进行 OVS 代码的实现,在 Properties 中引用已创建的 Select_Options 组件,引用方式与上述 OVS 组件的引用方式相同。在 Methods 中创建 Method Type 为 “1 Event Handler” 的 Method ,Event 引用 Select_Options 组件的 ON_OVS 。这样OVS方法就创建好啦。 

  3. Select_Options OVS 的实现与上一种方式OVS实现的方式不同点在于创建 Event Handler 后系统自动带出的入参。Select_Options 自动带出的入参是 if_wd_select_options=>t_ovs_data 类型的 i_ovs_data ,所以在点搜索帮助的时候就需要一个元素判断的过程啦。 
    CASE i_ovs_data-m_selection_field_id.
      WHEN 'S_PXH'.  "元素名称"
      WHEN ''.
      WHEN ''.
    ENDCASE.  

    判断完具体是要实现 哪个元素 的OVS后,剩下的OVS具体实现的代码就与上述方式相同了,不再赘述。

SAP_ABAP_WebDynpro开发(中文) http://scnblogs.techweb.com.cn/tcsapbw/archives/5.html 一、WebDynpro For ABAP 基础 案例一:WebDynpro环境准备 - 6 - 案例二: Tabtrip与close事件 - 10 - 案例三: HorizonalContextPanel及其事件 - 12 - 案例四: ContextPanel及其事件 - 18 - 案例五: 使用RowRepeater - 25 - 案例六: Table:Scroll以及header(append与delete) - 30 - 案例七: Table:Group(Column & Row) 以及firstActualRow,FirstVisiableRow - 34 - 案例八: Table: Filter - 41 - 案例九: Table: Sort - 46 - 案例十: Table: Row Popin 与 Cell Popin,以及Business Graphic - 53 - 案例十一: Table: 使用TableSummaryCell作subtotal - 67 - 案例十二: Table: 实现TableSummaryCell的方法(展开或隐藏) - 72 - 案例十三: Table:动态创建并实现TableSummaryCell的方法(展开或隐藏) - 80 - 案例十四: Table:Context Change History的使用 - 89 - 案例十五: Table:Tree table(TreeByKeyTableColumn)- One level - 100 - 案例十六: Table:Tree table(TreeByKeyTableColumn)- multi level - 106 - 案例十七: Table:Tree table(TreeByKeyTableColumn)- Recursive Node - 112 - 案例十八: 使用DateNavigator - 121 - 案例十九: 使用RoadMap - 134 - 案例二十: 使用Phase Indicator - 149 - 案例二十一: 使用Select Options - 156 - 案例二十二: 简单使用Reuse Component - 162 - 案例二十三: 使用OTR并进行翻译 - 166 - 案例二十四: 利用Request进行SE63中OTR的翻译 - 170 - 案例二十五: UI Element的居中显示(Vertical and horizonal) - 173 - 案例二十六: 使用Grid layout将UI element放置在不同的位置(左右缩进等) - 183 - 案例二十七: 使用NavigationList(使用Recursion Node) - 186 - 案例二十八: 使用CheckBox 和Checkbox Group - 193 - 案例二十九: 使用OVS - 197 - 案例三十: 使用Supply Function - 207 - 案例三十一: 使用Message - 214 - 案例三十二:使用DropdownlistByKey 和DropdownlistByIndex - 223 - 案例三十三:使用External Window以及Dialog Boxes - 227 - 案例三十四:实现Input field的cursor定位 - 246 - 案例三十五:从View上实现WebDynpro的log out - 248 - 案例三十六:从Component Controller中实现WebDynpro的log out - 252 - 案例三十七:实现Mandatory Fields的check - 256 - 案例三十八:使用Assistance Class 案例三十九:WD防止Time out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值