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超时参数(最大处理时间)重置为更高的值。

 

posted @ 2020-05-06 18:54  渔歌晚唱  阅读(486)  评论(0编辑  收藏  举报