手把手教你开发FPM程序
"手把手教你开发FPM程序" 一、FPM 简单介绍 SAP 创建了自己的 WEB 框架 FPM,以摆脱传统开发的复杂度。FPM 是一套比较完善的 WEB 开发框架,基于传统的 WEBDYNPRO 封装了很多组件,使其标准化。这使得开发人员不用过多的关注底层的代码,使用起来简单稳定,从而大大的提高开发的效果,标准化程序非常高。 二、FPM 开发优势 1. 代码和 UI 完全分离,只需要填写对应的实现类,UI 可以随便设计 2. 完全的代码封装,编写极其简单 3. 代码层可以完全控制界面,界面字段可配置 4. 模式简洁,开发规范,并行执行,无需熟悉大量的架构知识以及底层类 三、FPM 框架常用的 FPM 框架 FPM 框架分为 3 类: 1. OVP(Overview Page Floorplan):使用的时候引用 FPM_OVP_COMPONENT。最灵活的一种模式,当前最新的技术,采用 stack 的概念来安排界面,这是其他 component 所没有的。可折 Block 模式,Block 与 Block 之间相互独立(工具栏也独立) 2. OIF(Object Instance Floorplan):使用的时候引用 FPM_OIF_COMPONENT。进去之后默认只有一个 Tab UIBB 为主界面,所有其它的 UIBB 要加到这个 Tab UIBB 中去,缺点就是 raise 出来的 event 只有当前显示的那个 tab 下的 UIBB 的 feeder class 才能收到,没有显示的 UIBB feeder class 是收不到这个 event。带标题和信息区域模式,工具栏唯一。 3. GAF( Guided Activity Floorplan ): 引用 FPM_GAF_COMPONENT, Step by step 的模式,用于需要一步一步指导过程的业务模型。最大的特点就是,界面上方会有步揍数的导航,可以清楚地看到执行的顺序与现在所在的未知状态。适合顺序执行的业务开发。 四、创建 FPM 程序 1. 在 SAP 中,启动事务码 FPM_WB 进到配置页面,如果下图或者通过网址打开:https://vhcals4hci.dummy.nodomain:44300/sap/bc/webdynpro/sap/fpm_wb?sap-client=400&sap-language=ZH# 2. 点击这里进行创建 3. 填上应用的名字和描述,并且选上我们文初说到的 OVP-概览页面 4. 点击下一步,分配包,传输请求之后,我们就可以进一步编辑配置了 5. 这里可以配置第一个页面的标识,标题以及各种常规设置常规设置中,可以对很多内容进行配置 五、UIBB 的介绍 6.1 UIBB 可以理解为一个控件,或者一个‘块’block 的概念。 6.2 SAP 内置了大量的标准接口来实现代码的标准化,我们在创建UIBB 的时候,只需要将对应的接口实现,作为 FeederClass,再将FeederClass 绑定即可 六、添加搜索 UIBB 7. 我们依据具体的业务场景选择合适的 UIBB,先选择搜索组件 7.2 配置 config ID,填标题等 7.3 选中添加的 UIBB,点击配置 UIBB 7.4 按照提示一步一步的保存即可进入下一配置页面 7.5 每一个 UIBB 都需要绑定一个 FeederClass 类 七、SE24 创建 FeederClass 7.6.1 写入标准接口 IF_FPM_GUIBB_SEARCH 回车后自动带出接口 IF_FPM_GUIBB 7.6.2 接下来我们要实现所需要的方法,不需要的方法也要全部激活,可以不写代码。 7.6.3 IF_FPM_GUIBB_SEARCH~GET_DEFINITION 定义的方法参考创建好的结构定义,会与页面交互,定义好的字段在页面可以选择。 7.6.4 IF_FPM_GUIBB_SEARCH~FLUSH 刷新页面 7.6.5 IF_FPM_GUIBB_SEARCH~GET_DATA 获取数据或者选择屏幕填入默认值 7.6.6 IF_FPM_GUIBB_SEARCH~PROCESS_EVENT 事件处理点击按钮触发把选择屏幕的值通过内存的方式实现不同页面数据的互相传递。 7.6.7 IF_FPM_GUIBB~INITIALIZE 初始化逻辑 7.6.8 以下方法用的比较少 IF_FPM_GUIBB_SEARCH~GET_DEFAULT_CONFIG IF_FPM_GUIBB_SEARCH~CHECK_CONFIG IF_FPM_GUIBB~GET_PARAMETER_LIST 7.6.9 回到绑定 FeedClass 的页面,将刚刚创建的 FeederClass 绑定上去。