一起学FPM之 开发一个简单的FPM应用4_弹出框的实现

2021-10-30 20:07发布


          点击此处--->   EasySAP.com 群内免费提供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后,感兴趣的朋友可以尝试结合前文的内容,实现弹框确认后跳转页面并将全局的数据交互起来。



赞赏支持