ALV之选择屏幕按钮设定

举报
百里丶落云 发表于 2023/08/30 10:39:42 2023/08/30
【摘要】 序HELLO,这里是百里,一个学习中的ABAPER,在工作中,我们会经常绘制ALV报表,或者通过ALV进行制造某些功能。我们在选择屏幕节目内可以设定一些按钮从而实现某些功能。 比如经常使用的下载模板啊,上传数据啊等等这些都是可以在选择屏幕界面实行的。那么今天,就讲一下如何在选择屏幕界面增加屏幕按钮。 为什么要增加选择屏幕按钮使用该功能时要先了解,为什么我需要在选择屏幕的界面增加按钮呢.一般...

HELLO,这里是百里,一个学习中的ABAPER,在工作中,我们会经常绘制ALV报表,或者通过ALV进行制造某些功能。我们在选择屏幕节目内可以设定一些按钮从而实现某些功能。 比如经常使用的下载模板啊,上传数据啊等等这些都是可以在选择屏幕界面实行的。那么今天,就讲一下如何在选择屏幕界面增加屏幕按钮。

为什么要增加选择屏幕按钮

使用该功能时要先了解,为什么我需要在选择屏幕的界面增加按钮呢.
一般情况是在是数据导入的时候.我们需要给用户提供一个可参考的模板,从而让用户进行按照我们指定的规则进行数据导入.故而在选择屏幕界面增加按钮 .

技术解析

我们主要使用函数scrfields ,通过调用其中数据内容,从而封装对应的参数,如名称,图标,功能等等

TABLES :sscrfields . 

SELECTION-SCREEN:FUNCTION KEY 1.  
SELECTION-SCREEN:FUNCTION KEY 2.
CASE sscrfields-ucomm.  
*   下载模版  
    WHEN 'FC01'.  
    代码
    WHEN OTHERS.  
  ENDCASE.
  
  wa_textfield-icon_id   = '图标代码'.  
  wa_textfield-icon_text = '按钮名称'(000).  
  sscrfields-functxt_01  = wa_textfield.
  

实例

我们今天讲述的案例是在选择屏幕界面内容可以增加两个按钮,分别是按钮一,和按钮二,点击按钮一时,跳出’S’类型提示,我是按钮一. 点击按钮二时,跳出弹窗按钮二. 选择执行时这提示.我是alv数据界面 .

数据准备

TABLES: sscrfields .  
  
CONSTANTS: cos_template TYPE w3objid VALUE 'ZSDC010A',  
           cos_fiename  TYPE string VALUE 'forecast by item code导入模板.XLS',  
           cos_split    TYPE c VALUE ';'.  
DATA: wa_textfield TYPE smp_dyntxt.

定义屏幕个数

注意这里屏幕个数最多只有九个,也就是说你的选择屏幕界面只能有九个功能按键.

SELECTION-SCREEN:FUNCTION KEY 1.  
SELECTION-SCREEN:FUNCTION KEY 2.

定义子例程

FORM selection_screen_button_event .  
  CASE sscrfields-ucomm.  
*   下载模版  
    WHEN 'FC01'.  
     MESSAGE '我是按钮1' TYPE 'S' .  
     " PERFORM download_template(zall_f01) USING cos_template cos_fiename IF FOUND.  
    WHEN OTHERS.  
  ENDCASE.  
ENDFORM.  
  
  
  
  
FORM selection_screen_button_event1 .  
  CASE sscrfields-ucomm.  
*   下载模版  
    WHEN 'FC02'.  
      MESSAGE '我素按钮2' TYPE 'I' .  
    WHEN OTHERS.  
  ENDCASE.  
ENDFORM.  
  
  
FORM selection_screen_add_button .  
  wa_textfield-icon_id   = '@49@'.  
  wa_textfield-icon_text = '下载模板'(000).  
  sscrfields-functxt_01  = wa_textfield.  
ENDFORM.  
  
  
  
FORM selection_screen_add_button1 .  
  
  wa_textfield-icon_id   = '@50@'.  
  wa_textfield-icon_text = '导入执行'(000).  
  sscrfields-functxt_02  = wa_textfield.  
  
  
ENDFORM.

调用子例程

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.  
  PARAMETERS p_file LIKE rlgrap-filename.  
  
SELECTION-SCREEN END OF BLOCK b2.  
  
INITIALIZATION.  
* 选择界面按钮添加图标、文字  
  PERFORM selection_screen_add_button.  
  PERFORM selection_screen_add_button1.  
  
  
AT SELECTION-SCREEN.  
* 处理选择屏幕的按钮  
  PERFORM selection_screen_button_event.  
  PERFORM selection_screen_button_event1.

结果

如图,我们在选择界面增加了两个按钮,分别是下载模板和导入执行,对应的问自己和图标我们都可以自己设定
image.png
点击按钮1
image.png
点击按钮2

image.png

技术总结

今天讲的内容是,如何在选择屏幕的界面上增加按钮,一般的作用使用于模板下载,权限检查及数据上载等功能.或者数据检查也可以.注意的是我们的按钮在选择屏幕界面只能有9个,一定要注意alv界面的生命周期,如果写的不对,对应的按钮是出不来的.

百里鸡汤

晨钟暮鼓催人急,燕去雁来促我忙。菊灿疏篱情寂寞,

枫红曲岸事仿徨。千金一刻莫空度,老大无成空自伤

这里是百里,一个努力的学习者. 努力学习好好记录,点滴进步,就是成功.

wallhaven-28w7vg.jpg

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。