点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
一起学FPM系统是转载以前项目上一位同事的文章, 希望大家能多多支持,鼓励他持续把FPM开发的心得写出来, 让大家和我能够一起从无到有的学习在FPM框架中开发程序.
继续之前的DEMO实现一些新的小功能,续上一篇: SAP-ABAP-FPM 开发一个简单的FPM应用3_页面跳转
今天要新增2个按钮;点击按钮后弹出框可以二次确认。首先来看一下看完这篇文档能做出的效果:
点击保存按钮后询问是否确认:
点击审批按钮后弹出框可以填写一些消息再进行确认:
接下来我们看是如何实现的:
首先要在之前的DEMO上添加2个按钮,把保存,审批两个按钮开放出来,具体的配置操作之前的几篇文章已有详细介绍,忘了的朋友可以回顾前文:
先看一下保存按钮的弹出框:
1.在类LIST UIBB对应的FeederClass中添加扩展的接口:
2.实现方法IF_FPM_GUIBB_LIST_EXT~NEEDS_CONFIRMATION:
3.代码实现如下:
以上操作完成后,点击保存后询问是否确认的弹框就通过标准方法实现了。
接下来看审批按钮的弹出框:
1.添加新页面,选择对话框:
2.点击属性,可以看到按钮集,选择之后一些标准按钮就会带出来,有不需要按钮的弹出框这里也可以不选:
3.接下来就是绑定一个FORM UIBB,
创建出对应的FeederClass YCL_FPM_DYLANTEST_APPROVE_FORM,
实现IF_FPM_GUIBB_FORM~GET_DEFINITION,添加一个字段做测试:
4.在配置界面把刚添加的元素添加进来,加上对应的文本,这个操作和常规的dialog开发画的内容差不多:
5.YCL_FPM_DYLANTEST_LIST中的PROCESS_EVENT方法写点击按钮之后的调用逻辑:
6.回到新建的FeederClass: YCL_FPM_DYLANTEST_APPROVE_FORM
在GET_DATA中可以写如下逻辑,适用场景: 打开这个弹出框时要执行的业务逻辑:
6.PROCESS_EVENT中CASE事件,无论是选择确认取消都会是'FPM_CLOSE_DIALOG'(弹出框关闭),我们可以根据lv_dialog_action的值判断是选择了哪个标准按钮然后写对应逻辑即可:
7.FLUSH方法可以获取到当前的内容:
以上操作完成后功能已经可以实现了,我们来调试一下再次看一下需要关注的点:
前台点击审批以后,进到当前的YCL_FPM_DYLANTEST_APPROVE_FORM
GET_DATA,这里执行打开弹出框时的业务逻辑: 比如可以默认一些值,或者将前一个页面的一些数据带过来:
填充一些内容点击确认:
FLUSH方法中我们已经可以拿到所填的值了:
再之后到了PROCESS_EVENT中执行确认后的业务逻辑了:
看完本文的DEMO后,感兴趣的朋友可以尝试结合前文的内容,实现弹框确认后跳转页面并将全局的数据交互起来。