原文连接:https://blog.csdn.net/wtxhai/article/details/90632686数据库
用户经过屏幕操做来实现与SAP的数据交互,而SAP的屏幕开发通常分为两种,一种是经过SAP ABAP语法建立屏幕元素,称之为选择屏幕,选择屏幕主要是用来输入查询参数;第二种是经过SAP的屏幕编辑器开发,经过屏幕编辑器能够实现数据多种展示模式。编辑器
1.一、屏幕基本输入域对象的建立及相关属性函数
SAP中能够经过ABAP来建立屏幕元素,共分为两种模式,一种是经过SELECT-OPTIONS语法来创建数据输入域,另外一种则是经过PARAMETERS语法来建立数据输入域。spa
1.1.一、屏幕元素建立的基本语法.net
SELECT-OPTIONS与PARAMETERS的属性有不少类似之处,可是SELECT-OPTIONS建立的是一个输入的区间,其定义时必须制定参考表及参考字段,SELECT-OPTIONS<对象名>FOR<参考对象>。3d
PARAMETERS一般用于创建一个单一的屏幕输入对象,其参考对象相对比较灵活,能够参考数据表的字段,也能够参考具体的数据元素,PARAMETERS<对象名>LIKE/TYPE<参考对象>。code
1.1.二、动态定义输入域的参考对象对象
SAP容许动态定义屏幕输入域的对象,这样能够对一些须要动态变动屏幕元素的程序带来莫大的方便(例如SAP的表对象查询程序,则能够经过动态字段来变动查询输入条件)。动态对象的定义其实是经过修改参考对象的地址来实现类型的变换,当参考对象的值与数据对象中的字段一致时,则会参考该数据字段类型创建屏幕对象,以下图所示:blog
1.1.三、屏幕输入域显示参数控制事件
SELECT-OPTIONS和PARAMETERS的显示参数控制机制基本相似。
1.OBLIGATORY必输项控制
控制该屏幕元素是否为必输项,SELECT-OPTIONS通常只对下限值字段(LOW字段)有效。
2.NO-DISPLAY显示控制
程序运行后不显示该对象,SELECT-OPTIONS与PARAMETERS属性一致。
3.VISIBLE LENGTH vlen显示长队控制
控制对象的显示长度,其取值范围为1-18.
4.NO-EXTENSION多行输入控制
SELECT-OPTIONS和PARAMETERS所定义的对象均可以输入多行数值,加上该参数后,限制只能输入单一行,在屏幕对象后面的多行输入控制按钮将隐藏。
5.NO-INTERVALS输入范围值控制
该属性针对于SELECTION-OPTIONS所定义的对象是输入范围值,上限值到下限值,在内表中分别为“LOW”和“HIGH”两个字段,加上该参数后,在屏幕上只会显示上限值输入字段。
6.MODIFY ID modid 编辑组控制
该参数能够将定义的屏幕对象进行分组,以方便在程序运行中对分组的对象属性进行统一修改及控制,例如控制某组对象为不可输入,以下代码中将G2分钟的对象在屏幕输出时设置为不可输入。该属性 在SELECT-OPTIONS和PARAMETERS中的操做基本一致。
1.1.四、输入值的控制
SAP提供数据输入控制参数来控制屏幕对象的输入值,包括以下。
1.控制输入默认值
● DEFAULT vall [ TO val2 ] [ OPTION opt ] [ SIGN sgn]控制输入默认值范围
该参数针对SELECT-OPTIONS所定义对象屏幕加载后所显示的默认值,其中vall [ TO val2 ]为输入值的上下限,OPTION表明数据关系,SIGN表明输入类型,具体以下表:
栏目名 | 参考值 | 描述 |
SIGN | I或者E | 输入类型,I表示包括,E表示排除 |
OPTION | NB或者BT | 表示先后输入栏关系,NB(不包括)、BT(包括) |
输入默认值范围也能够在程序加载时进行更改,代码以下:
● DEFAULT vall
控制PARAMETERS所对应对象输入默认值范围:该参数定义对象在屏幕加载后所显示的默认值,输入默认值范围也能够在程序加载时进行更改。
2. LOWER CASD容许输入小写字母
SAP全部屏幕字段输入后都会将字母默认转换为大写,加上该参数容许输入小写字母。
3. MATCHCODE OBJECT search help 屏幕对象F4帮助
为屏幕对象加上指定的F4帮助,F4帮助功能会在数据字典章节作具体介绍,系统也提供了不少已经定义好的F4帮助对象,以下图所示。
4. MEMORY ID pid 定义SELECT-OPTIONS内存参数
能够将屏幕对象输入的值保存到制定的内存参数,经过GET PARAMETERS方法能够直接从内从读取该对象的值,如如下代码,将内存值取到制定字段并输出。
1.1.5屏幕对象的F1/F4输入帮助功能
1. HELP-REQUEST [ FOR {LOW | HIGH} ]字段的F1帮助
当选中SAP屏幕中的指定字段并按键盘上的F1时,能够调用自定义的程序或者系统帮助文件,该功能一般被称为F1帮助。F1帮助能够经过ABAP事件AT SELECTION-SCREEN来控制,在自定义程序中,能够经过调用系统标准函数HELP_OBJECT_SHOW(或者HELP_OBJECT_SHOW_FOR_FIELD)来实现。
2.VALUE-REQUEST [ { LOW | HIGH } ] 字段的F4帮助
当在指定的字段F4键时,能够调用自定义的程序或者系统帮助数据,该过程是经过可是F4事件来触发的,因此也能够经过ABAP语法事件控住语法AT SELECTION-SCREEN来调用。
当该参数主要是在定义帮助数据时使用,在参照数据表创建的屏幕对象通常会取用默认帮助对象,与F1不一样的是,F1是进行信息提示,而F4是显示填充值的列表,因此取得值将返回给所操做的屏幕对象,能够调用系统函数F4IF_FIELD_VALUE_REQUEST参照某一具体字段来维护F4帮助,以下所示:
3.NO DATABASE SELECTION不选取逻辑数据库约束
在调用逻辑数据库的程序中,每每会对用户输入的数据按权限来进行筛选,假若在定义的对象后面加上NO DATABASE SELECTION参数,该对象所输入的对象则不会收到逻辑数据库的约束。
目前ABAP中须要运用NO DATABASE SELECTION定义的逻辑数据库比较少,例如HR模块关联的PNP逻辑数据库中,其全部的帮助条件都采用Search Help的方式进行定义。而在引用逻辑数据库FIS开发的程序中,经过按F4键只能看到用户权限所限制的数据,以链接编号CONNID字段为例,经过按F4键只能看到用户被分配的CONNID的取值范围。在引用逻辑库的程序中,经过NO DATABASE SELECTION参数能够读取非限制条件的数据。逻辑数据库能够在ABAP编辑器的属性页面进行定义。执行逻辑数据库须要引用定义NODES或TABLES,使用NO DATABASE SELECTION定义以下:
1.1.六、PARAMETERS屏幕元素的特性功能开发
PARAMETERS所建立的对象除了数据输入域外,还能够建立其余比较特殊的屏幕对象。
1.定义复选框
相关语法:PARAMETERS < 对象名 > AS CHECKBOX [ USER-COMMAND fcode]。
在屏幕上产生一个复选框,当复选框对象被选中时,其值为“X”,不然为空。在所对应的对象后面加上命令[USER-COMMAND fcode ],能够定义该复选框的单击事件代码,在ABAP代码中,经过事件控制语句AT SELECTION-SCREEN和START-OF-SELECTION过程能够捕捉该单击事件。
所操做的事务代码被保存在系统变量SY-UCOMM中,以下图:
2.定义单选按钮
相关语法:PARAMETERS < 对象名 > RADIOBUTTON GROUP group [ USER-COMMAND fcode ]
在屏幕上产生一个单选按钮,当单选按钮被选中时,其值为“X”,不然为空。定义多个单选按钮,须要加上GROUP参数来定义分组,每组按钮数量不能小于两个。同一分组的单选按钮选择值之间会相互约束,每次只能有一个被选中。
加上[ USER-COMMAND fcode ]能够定义该单选按钮的单价事件代码,ABAP中的AT SELECTION-SCREEN和START-OF-SELECTION过程当中能够出发该事件,所操做的事件代码被保存到系统变量SY-UCOMM中。以下图:
3.建立下拉列表
相关语法:PARAMETERS < 对象名 > AS LISTBOX VISIBLE LENGTH vlen [ USER-COMMAND fcode ]
————————————————版权声明:本文为CSDN博主「wtxhai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。原文连接:https://blog.csdn.net/wtxhai/article/details/90632686