首页 > 其他分享 >ABAP 选择屏幕内的类型以及使用

ABAP 选择屏幕内的类型以及使用

时间:2022-10-08 11:11:51浏览次数:51  
标签:SELECTION END TEXT SCREEN ABAP 类型 屏幕 blk1 BLOCK

选择屏幕组件

主要记录了ABAP编程中选择屏幕常用的组件

  • 选择框
  • 范围选择框
  • radio单选
  • check选择
  • 单行展现 配合radio和check使用较多
  • 下拉框
  • 自定义下拉框
  • 按钮
  • 文件框
  • 文字帮助

选择框

图例:

代码:

SELECTION-SCREEN BEGIN OF BLOCK blk1.
  PARAMETERS:
    p_matnr TYPE makt-matnr.
SELECTION-SCREEN END OF BLOCK blk1.

范围选择框

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk1.
  SELECT-OPTIONS:
    p_matnr FOR makt-matnr.
SELECTION-SCREEN END OF BLOCK blk1.

radio单选

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:
    s_hiera TYPE c RADIOBUTTON GROUP g1 USER-COMMAND is_hiera DEFAULT 'X', " 分层
    s_hiera1 TYPE c RADIOBUTTON GROUP g1. " 不分层
SELECTION-SCREEN END OF BLOCK blk1.

check选择

图例:

代码:

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:
    s_hiera AS CHECKBOX USER-COMMAND is_hiera. " 分层
SELECTION-SCREEN END OF BLOCK blk1.

单行展现 配合radio和check使用较多

图例:

代码:
  SELECTION-SCREEN BEGIN OF LINE.
*第一个RADIOBUTTON
    SELECTION-SCREEN POSITION 1.            "1是RADIOBUTTON横坐标
    PARAMETERS:s_add TYPE c RADIOBUTTON GROUP g1 USER-COMMAND is_cur DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 2(7) TEXT-003 FOR FIELD s_add. "2是文本横坐标,7是文本长度
*第二个RADIOBUTTON
    SELECTION-SCREEN POSITION 11.           "11是RADIOBUTTON横坐标
    PARAMETERS:s_limit TYPE c RADIOBUTTON GROUP g1.
    SELECTION-SCREEN COMMENT 12(7) TEXT-004 FOR FIELD s_limit."12是文本横坐标,7是文本长度
  SELECTION-SCREEN END OF LINE.

下拉框

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:
    s_ydlx type rmmg1-mbrsh AS LISTBOX VISIBLE LENGTH 20. 
SELECTION-SCREEN END OF BLOCK blk1.

自定义下拉框

图例:

代码:

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
  PARAMETERS:
    s_zqista TYPE char30 AS LISTBOX VISIBLE LENGTH 20. 
SELECTION-SCREEN END OF BLOCK blk1.

"屏幕初始化的时候添加例程
INITIALIZATION .
PERFORM frm_pull_down. " 配置下拉框


"配置自定义展示的例程
FORM frm_pull_down .
```abap
  TYPE-POOLS: vrm.
  DATA: name  TYPE vrm_id,
        list  TYPE vrm_values,
        value LIKE LINE OF list.
  REFRESH list.
  DEFINE fill_list.
    value-key = &1.
    value-text = &2.
    APPEND value TO list.
  END-OF-DEFINITION.

  fill_list '测试一' ''.
  fill_list '测试二' ''.
  fill_list '测试三' ''.

  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = 'S_ZQISTA'
      values = list.
ENDFORM.

按钮

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN PUSHBUTTON 7(20) but1 USER-COMMAND s_cur.
SELECTION-SCREEN END OF BLOCK blk1.

"屏幕初始化的时候 对按钮显示进行处理
  INITIALIZATION .
  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
      name   = icon_export " 按钮的图片和文字
      text   = '测试'  " 按钮的文本
      info   = '测试'
    IMPORTING
      result = but1
    EXCEPTIONS
      OTHERS = 0.

文件框

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.
    PARAMETERS: p_file TYPE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK blk1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. "和自定义搜索帮助类似
  PERFORM frm_file_open.   " 用于上传文件

"上传文件的例程
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      mask             = ',EXCEL FILE,*.XLS;*XLSX;'  "可以指定打开的文件类型
      mode             = '0' "S是保存,0是打开
    IMPORTING
      filename         = p_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

文字帮助

图例:

代码:
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE TEXT-001.
  SELECTION-SCREEN COMMENT /3(79) TEXT-002.
  SELECTION-SCREEN COMMENT /3(79) TEXT-003.
  SELECTION-SCREEN COMMENT /3(79) TEXT-004.
SELECTION-SCREEN END OF BLOCK blk2.

标签:SELECTION,END,TEXT,SCREEN,ABAP,类型,屏幕,blk1,BLOCK
From: https://www.cnblogs.com/pnj-owowa/p/16743945.html

相关文章

  • Python 如何查找特定类型文件(以xls和xlsx为例)
    今天的文章是介绍如何用Python去定位特定类型的文件,会讲到用字符串匹配文件名定位特定文件以及顺带介绍一下遍历目录树的函数,通过今天的这一部分以及之前文章讲到的文件......
  • 数据类型及内置方法
    目录本周内容回顾本周内容详解一.基本数据类型二.与用户交互三.格式化输出四.基本运算符五.常见赋值符六.逻辑运算符七.成员运算符八.身份运算符九.垃圾回收机制十.流程控......
  • 数据类型
    标识符定义:包、类、变量、方法....只要是起名字的地方,那个名字就是标识符定义规则:1、组成:字母、数字、下划线、美元符号$2、不可以数字开头,不可以使用java关键字3、......
  • jira项目笔记15-TypeScript 的类型
    TypeScript的类型 8种类型:number,string,boolean,函数,array,any,void,object这一节我们接触到了平常使用中会接触到的大部分的类型,下面我们挨个梳理一遍:numbe......
  • jira项目笔记16-啥时候需要声明类型
    啥时候需要声明类型理论上来说在我们声明任何变量的时候都需要声明类型(包括普通变量、函数、组件、hook等等),声明函数、组件、hook等需要声明参数和返回值的类型。但......
  • springboot~Money类型在序列化时遇到的问题与解决
    在java扩展包里,有这样一个包,它可以描述货币类型,它说币种和金额组成,可以应用在任何复杂的场合里,这个对象结构如下:{"price":{"amount":1799.99,"curren......
  • 基本数据类型和字符串互转
      常用sprintf函数,用于其他类型转字符串:  例子:  简单理解一下sprintf的用法即可  注意,其中  a和b之间会输出空格,因为%d%d之间有空格,他们之间有什么......
  • db2 数据类型
    一、概述DB2内置了INTEGER、CHAR和DATE等基本数据类型同时还提供创建用户自定义的数据类型(UDT)的工具,使用户能够创建复杂的非传统的数据类型,从而适应当今复杂的编程环境内置......
  • Kubernetes--LoadBalancer类型的Service资源和ExternalName Service
    LoadBalancer类型的Service资源NodePort类型的Service资源虽然能够于集群外部访问得到,但外部客户端必须得事先得知NodePort和集群中至少一个节点的IP地址,且选定的节点发......
  • Class.forName()、Class.class、getClass() 三者区别以及instanceof与强制类型转换
    Java反射反射为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有......