ABAP选择屏幕

选择屏幕的定义

选择屏幕用于输入数据选择的选择标准
选择屏幕也是屏幕,这些屏幕是根据源代码中的声明语句生成的。
在这里插入图片描述
选择屏幕标准功能
文本(选择文本)能够以多种语言进行维护
在运行时,文本会自动以用户的登录语言显示。
自动检查类型
检查用户输入的内容与输入字段的类型是否相符
除单一值外,还有复杂选择
可输入间隔,范围,比较条件等为限制条件。
使用字典元素(如数据元素)定义输入字段
使用F1输入了中显示 字段文档(数据元素文档)
通过F4调用附加到字典类型的搜索帮助
将选择屏幕保存为变式
以备重用或用于后台操作
在这里插入图片描述

屏幕基本元素
parameters
单值输入:
PARAMETERS {[(LEN)]}|{para [length len] }
[TYPE [DECIMALS decimals]] | [like object]
[DEFAULT value]
parameter可以参照数据字典具体字段或者数据元素创建文本输入框以及单选/复选框等
.输入变量的定义方法与普通变量相同
输入变量名不可超过8个字符长。
使用default附加而非value附加指定缺省值
Parameters定义后不会生产内表,可作为变量在程序中运用

ABAP内存共享

REPORT ZJGLTEST1.
DATA LV_DATA2 TYPE CHAR5.
DATA LV_DATA TYPE CHAR5.
GET PARAMETER ID 'P1' FIELD LV_DATA2.
WRITE: LV_DATA2.
IMPORT LV_DATA FROM MEMORY ID 'P2'.
WRITE LV_DATA.
REPORT ZJGLTEST2.

* SAP 内存
DATA LV_DATA1  TYPE CHAR5 VALUE 'Harry'.
SET PARAMETER ID 'P1'FIELD LV_DATA1.
* ABAP 内存
DATA LV_DATA TYPE CHAR5  VALUE 'Jing'.
EXPORT LV_DATA  TO MEMORY ID 'P2'.
SUBMIT ZJGLTEST1 .

二 PARAMETERS

PARAMETERS常用的的扩展语法
Memory id mid : 将PARAMETERS存储在SAP内存,参数名长度不能超过三位;
NO-DISPLAY:将PARAMETERS设置为隐藏,不会在屏幕上输出
LOWER CASE :如果输入小写,则将在回车或者执行时候继续保持 小写
obligatory:限制该PARAMETERS为必填,否则会提示输入
AS CHECKBOX: 创建CHECKBOX对象
RADIO BUTTON GROUP RADI: 创建RADIO单选框
VISIBLE LENGTH VLEN:定义显示长度
user-command ucom:功能码,只能分配给CHECKBOX或者RADIOBUTTON,当选择以上控件的
时候,程序调用AT SELECTION-SCREEN事件,通过功能码控制屏幕其他元素的属性
AS LISTBOX VISIBLE LENGTH VLEN:创建一个下拉框,并指定长度
MATCHCODE OBJECT: 指定SE11的搜索帮助

REPORT ZJGLTEST2.
PARAMETER P_1 type char5 DEFAULT 'HARRY' MEMORY ID P1 .
PARAMETER P_P2 RADIOBUTTON GROUP G1.
PARAMETER P_P3 RADIOBUTTON GROUP G1.
PARAMETER P_P4 TYPE STRING VISIBLE LENGTH 5.
PARAMETER P_P5 TYPE CHAR5  AS LISTBOX VISIBLE LENGTH 10.
PARAMETER P_P6 TYPE CHAR12 MATCHCODE OBJECT USER_COMP.

SELECT-OPTIONS
复杂选择
SELECT-OPTIONS NAME FOR DATA_OBJECT.
name为选择选选项的名称
data_object是一个预定义变量,或者数据库表的字段

常用于参照一数据库字段来建立,要在程序开用TABLES声明表名
其定义对象命名长度不能超过8位
定义的屏幕元素在程序中当做内表来用,内表的结构比较特殊.

复杂选择
选择执行后,用户输入项会传输给自动生成的内部表。
此表始终包含四列:sign ,option. low.high
BT(范围), NB(排除范围)
在这里插入图片描述
复杂选择语法扩展
在这里插入图片描述
以下是例子

TABLES vbak.
SELECT-options s_s1 for vbak-vbeln DEFAULT 44 to 55 .
SELECT-options s_s2 for vbak-vbeln DEFAULT 44.
SELECT-options s_s3 for vbak-vbeln DEFAULT 44 option le sign i.

SELECTION-SCREEN
在这里插入图片描述
以下是例子

SELECTION-SCREEN BEGIN OF BLOCK B1   WITH FRAME TITLE TEXT-001.
PARAMETERS p_p1  type char1 DEFAULT 'HARRY'MEMORY ID P1 AS CHECKBOX.
  SELECTION-SCREEN END OF BLOCK B1.
  SELECTION-SCREEN BEGIN OF SCREEN 1001.
    PARAMETERS p_p2  type char1 DEFAULT 'HARRY'MEMORY ID P1 AS CHECKBOX.
  SELECTION-SCREEN END OF SCREEN 1001.
  CALL SELECTION-SCREEN 1001.

文本元素
在这里插入图片描述
在这里插入图片描述
屏幕控制事件
在这里插入图片描述
INITIALIZATION
在这里插入图片描述

AT SELECTION-SCREEN
在这里插入图片描述
START-OF-SELECTION 事件:
该事件在单机按钮后触发,主要用于从数据库中取数

在这里插入图片描述
END- OF -SELECTION事件
START-OF-SELECTION事件执行完成后,但输出屏幕还未显示之前,一般用于执行结果校验或者ALV显示等。
屏幕事件的中止: EXIT,STOP,RETURN

在这里插入图片描述

三.总结
3.1只要有parameters和selection-screen时,就可以确定这是一个选择屏幕;
3.2 popup_to_confirm_data_loss(弹出对话框函数);
3.3 选择屏幕不要参考自定义字段,参考标准表的标准字段.

前导零有可能查不出来.

  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值