zoukankan      html  css  js  c++  java
  • WDA学习(5):Application Configuration

    1.5 Component and Application Configuration

           本实例如何使用显式组件配置(explicit component configuration)和应用程序配置(application configuration),可以直接在实例1.4Display Bookings of Selected Flight或1.3Navigation上修改。

    需求说明:在1.3Navigation实例中,当FLIGHTLISTVIEW视图获取不到FLIGHT信息时,直接跳转到NOFLIGHTVIEW视图。部分用户或许不想如此,依然显示空的FLIGHT信息表。使用配置方法,满足不同用户显示需求。

    组件配置分为两种显式配置和隐式配置。

    隐式配置:主要就是通过开发者配置修改UI控件一些特定属性的值,例如UI控件的Visibility等,来控制UI控件显示。

    显式配置:可能影响Web Dynpro组件的外观和行为模式。开发者通过应用程序配置器(Application Configurator)配置。

    组件的配置主要在设计开发阶段实现。

    个性化和定制:个性化和定制是在程序运行时执行,通过提供用户自定义界面调整适应不同用户需求。

    1.创建Configuration Controller

    选择Web Dynpro Comp.:Z_TEST_WDA2->右键->Create->Custom Controller

     

    刷新一下,可以看到Custom Controller下的NAVIGATION_CONFIG,右键->(Re Set as Config. Controller)

     

    修改Context,创建NAV_PARAMS节点,创建Attribute,NAV_FLAG,数据类型:WDY_BOOLEAN,就是布尔类型。

     

    2.映射NAVIGATION_CONFIG的上下文Context到FLIGHTLISTVIEW的上下文Context

    FLIGHTLISTVIEW视图组件,Context页签,点击Controller Usage

     

     拖动右边NAV_PARAMS到CONTEXT下

     

    Methods页签,修改方法“ONACTIONGET_FLIGHTS”

    修改代码:

     "Nav_params节点
      DATA:node_nav_params TYPE  REF TO if_wd_context_node.
      DATA:lv_nav_flag TYPE wdy_boolean.
      node_nav_params = wd_context->get_child_node( 'NAV_PARAMS' ).
      "获取nav_flag值
      node_nav_params->get_attribute( EXPORTING name = 'NAV_FLAG' IMPORTING value = lv_nav_flag ).
      "如果Element不存在,能够判断flight_list没有记录
      "根据是否查询到记录,并且配置NAV_FLAG等于true,决定是否跳转
      IF lo_el_flight_list IS INITIAL AND lv_nav_flag = abap_true.
         "如果没有记录,跳转到noflightview
          wd_this->fire_no_flights_found_plg( ).
      ENDIF.

    3.运行Web Dynpro Application,可以发现当输入查询条件查询不到Flight信息时,并不会跳转到NOFLIGHTVIEW视图。因为NAV_FLAG默认为false。程序中其他视图也可以通过修改NAV_FLAG的值,实现不同显示控制。

    4.创建Application Configuration

    选择Web Dynpro Application:Z_TEST_WDA2->Create/Change Configuration,

    浏览器会单独弹出配置的窗口。

     

     注意:首次启动应用程序配置程序和组件配置程序时,浏览器窗口可能会超时。这是由于NSP系统中的后台编译。重新启动配置程序或者将http超时参数(最大处理时间)重置为更高的值。

  • 相关阅读:
    opstack 笔记 (一) 概念
    Redis学习汇总
    MongoDB添加删除节点
    Redis主从及Cluster区别及注意事项
    叶问18
    Redis慢日志取出来
    Redis的AOF重写脚本
    使用Python比较MySQL数据库中两个数据库的表结构--转载
    关于InnoDB存储引擎 text blob 大字段的存储和优化
    MongoDB进阶之路:不仅仅是技术研究,还有优化和最佳实践--转载
  • 原文地址:https://www.cnblogs.com/tangToms/p/12838231.html
Copyright © 2011-2022 走看看