1.4 Display Bookings of Selected Flight
本实例显示被筛选出Flight对应bookings信息。可以在1.3Navigation这个示例上修改。
1.创建Bookings上下文子节点,保存对应航班的bookings信息。
设置节点名;
设置Dictionary structure,对应节点数据库字典结构;
设置Cardinality;
设置Supply Function;
选择Bookings节点下子节点显示栏位;
可以看到自动创建GET_BOOKINGS方法,类型为Supply Function。
生成Context上下文:
2.重写GET_BOOKINGS方法,实现通过父节点airline id等信息获取对应bookings信息,当Method:‘EXECUTE_BAPI_FLIGHT_GETLIST’执行后,就会调用GET_BOOKINGS方法。
代码示例:
method GET_BOOKINGS . "* implicit constant definition for context node Bookings * types: * Element_bookings type SBOOK, * Elements_bookings type * standard table of Element_bookings * with default key. "#EC NEEDED "IF_COMPONENTCONTROLLER对应COMPONENTCONTROLLER组件控制器接口,一些静态变量定义 "定义sbook内表,存储查询到数据 data:itab_bookings type IF_COMPONENTCONTROLLER=>Elements_Bookings, stru_bookings like line of itab_bookings, stru_flightlist type if_componentcontroller=>Element_FLIGHT_LIST. "输入参数parent_element,这里是FLIGHT_LIST节点对应element parent_element->get_static_attributes( importing static_attributes = stru_flightlist ). "通过调用类ZCL_WDABAP_FLIGHT_MODEL的静态方法GET_BOOKINGS获取bookings信息 itab_bookings = ZCL_WDABAP_FLIGHT_MODEL=>GET_BOOKINGS( CARRID = stru_flightList-airlineid CONNID = stru_flightList-connectid FLDATE = stru_flightList-flightdate ). "输入参数NODE,表示当前BOOKINGS上下文节点 node->bind_table( itab_bookings ). endmethod.
3.更新COMPONENTCONTROLLER(组件控制器)的上下文和VIEW视图控制器上下文之间映射。
4.Layout页签,创建Table视图控件,绑定Bookings上下文节点,显示对应Bookings信息。
创建Table视图控件;
设置Table控件dataSource属性,绑定Bookings节点;
设置Table控件下Caption的text属性为bookings info;
设置Table控件width属性,100%;
5.激活整个Web Dynpro Compoment,运行Web Dynpro Application:Z_TEST_WDA2。