- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2-35案例三十五使用FloorPlanManager–OIF
案例三十五: 使用FloorPlan Manager – OIF
一:需求
从Business Suite 7以后,WebDynpro For ABAP强制采用FPM进行架构。
FPM是一种架构技术,它遵循SAP UI设计理念,由高度自配置的component组成,非常容易地将多同的component 进行组织起来。
FPM技术其实主要是利用了传统的WebDynpro中两大技术点: Reuse Component usage以及WD Configuration(Configuration, customizing以及personalization).
以下是一个简单使用FPM – OIF(Object Instance Floor)的实例.
它有一个初始界面(Initial screen)
在此页面上有一个简单的text以及还有一个explanation text.
当击start进入FPM-WD主界面
在这个界面中,首先有IDR component(动态产生)以及下面的两个main view(class infor,以及member info)
其中,对于第一个main view(Class info),在设计时其只有一个sub view,它对应着一个UIBB;
而对于第二个main view(member info),它有两个sub view,对应着两个UIBBs,如下:
对于第一个subview,显示属于该班级下的male成员
对于第二个subview,显示属于该班级下的female成员
同时,也可以发现,Toolbar上的button “Display/Change”仅限于第一个main view(class information),对于第二个main view它是disable掉的。
在第一个main view上,如果我们在edit状态下修改后,可以当击save将change到数据库,同时利用FPM的message:
(同时,在上面的process status中也会反应出来)
如果修改后,却不保存,如再点击display/change,会提示有数据修改
二:实现
1. DDIC
2个table分别存放class information
与member information
2. WD架构
首先它必须实现if_fpm_ui_building_block
它的整体架构为:
其中不同的window嵌套着各自对应的view
W_class:对应于FPM-WD中的第一个main view下的UIBB
W_INT:对应于FPM-WD中initial screen
W_member_female: 对应于FPM-WD中的第二个main view下的第二个subview 的UIBB
W_member_male: 对应于FPM-WD中的第二个main view下的第一个subview 的UIBB
其中context
其中enable_prop用于控制class的UI group的enable与否.
3. WD Application以及App Configurator
创建WD application: ztest_fpm_oif_1
其中,WD application使用以下属性:
而Application Configuration
当点start configurator:
(如果无,则创建)
4. Component Configurator
这里component Configurator包含两个:一个是FPM Component一个是IDR component;
其中FPM Component:
Initial Screen:
(还带有一explanation text)
Variant1(main screen)
(UIBBs分别对应三个interface view)
对于IDR Component,这里也可以静态地进行定义,但因为在本例中是使用程序的方式来实现IDR。
5. 实现FPM方法
首先这里有一些Global的attributes:
Method list
(1) Enable_class
用来控制class information的修改与否
method?ENABLE_CLASS?.
??DATA:????lo_node?TYPE?REF?TO?if_wd_context_node,????lflg????type?char1.
*1.?Get?the?Node????lo_node?=?wd_context-get_child_node(?‘ENABLE_PROP’?).????lo_node-Get_attribute(??????EXPORTING????????name?=??‘EN
文档评论(0)