SAP选择屏幕-程序员宅基地

技术标签: SAP  开发语言  

用户通过屏幕操作来实现与SAP的数据交互,而SAP的屏幕开发一般分为两种,一种是通过SAP ABAP语法创建屏幕元素,称之为选择屏幕,选择屏幕主要是用来输入查询参数;第二种是通过SAP的屏幕编辑器开发,通过屏幕编辑器可以实现数据多种展现模式。

1.1、屏幕基本输入域对象的创建及相关属性

     SAP中可以通过ABAP来创建屏幕元素,共分为两种模式,一种是通过SELECT-OPTIONS语法来建立数据输入域,另一种则是通过PARAMETERS语法来创建数据输入域。

1.1.1、屏幕元素创建的基本语法

      SELECT-OPTIONS与PARAMETERS的属性有很多相似之处,但是SELECT-OPTIONS创建的是一个输入的区间,其定义时必须制定参考表及参考字段,SELECT-OPTIONS<对象名>FOR<参考对象>。

PARAMETERS通常用于建立一个单一的屏幕输入对象,其参考对象相对比较灵活,可以参考数据表的字段,也可以参考具体的数据元素,PARAMETERS<对象名>LIKE/TYPE<参考对象>。

1.1.2、动态定义输入域的参考对象

    SAP允许动态定义屏幕输入域的对象,这样可以对一些需要动态变更屏幕元素的程序带来莫大的方便(例如SAP的表对象查询程序,则可以通过动态字段来变更查询输入条件)。动态对象的定义实际上是通过修改参考对象的地址来实现类型的变换,当参考对象的值与数据对象中的字段一致时,则会参考该数据字段类型建立屏幕对象,如下图所示:

1.1.3、屏幕输入域显示参数控制

    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.4、输入值的控制

    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.6、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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_49260287/article/details/123506032

智能推荐

Web前端自定义View详解,css3 文字流光渐变 背景模糊 边框两边伸展,714页PDF的鸿蒙学习笔记,-程序员宅基地

文章浏览阅读930次,点赞21次,收藏12次。ty3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**-webkit-background-clip:裁剪背景图像,使用文字作为裁剪区域向外裁剪,此时文字颜色仍覆盖背景图。-webkit-text-fill-color:设置字体颜色。background-size:背景图长度。background-image:使用css3的渐变绘制图像,从左到右。

SIM800 发送http请求AT指令_at+httpread 长度-程序员宅基地

文章浏览阅读6.5k次。AT指令步骤AT+SAPBR=3,1,"APN","CMNET" //我也不知道为什么要这样(我是移动卡)AT+SAPBR=1,1AT+HTTPINIT //http初始化准备AT+HTTPPARA="CID",1AT+HTTPPARA="URL","http://2o23854k96.iask.in:49512" //改成你的域名我这里用了花生壳AT+HTTPP..._at+httpread 长度

《电商法》将至:朋友圈的微商们该何去何从?-程序员宅基地

文章浏览阅读224次。也是时候为互联网祛魅了,说到底它只是一种工具而已,是中性的,不应该像真理一样,是一种不容置疑的信仰。《电商法》将至:朋友圈的微商们该何去何从?历时五年,经过三次征求意见、四次审议的电子商务法将于2019年1月1日起正式实施。此次立法在电商经营资质、纳税、处罚标准等方面作出了明确规定,同时也对电子商务平台经营者的责任和义务进行了界定。《电商法》要求被定义为电子商务经营者的从业者必须进行正规登...

Linux中如何安装特定的gcc版本_linux gfortran9安装指定版本-程序员宅基地

文章浏览阅读5.7k次。Linux允许多个版本的gcc共存,当你需要安装多个版本的gcc的时候,比如同时安装gcc-7和gcc-8,你可以通过update-alternatives来重定位你想使用的gcc版本。sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7sudo update-alternatives --install /usr/bin/gcc.._linux gfortran9安装指定版本

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation-程序员宅基地

文章浏览阅读772次,点赞14次,收藏10次。在本文中,我们引入了一种对比度损失来对齐图像和文本的表征,然后通过跨通道注意来融合它们(ALBEF),从而使视觉和语言表征学习更扎根。与现有的大多数方法不同,我们的方法不需要边界框注释,也不需要高分辨率图像。为了改进对噪声网络数据的学习,我们提出了动量蒸馏,这是一种自训练方法,它从动量模型产生的伪目标中学习。我们从互信息最大化的角度对ALBEF进行了理论分析,表明不同的训练任务可以解释为为图像-文本对生成视图的不同方式。

Nagios 监控服务器部署_nagios监控部署-程序员宅基地

文章浏览阅读628次。 【 Nagios 安装配置】安装参考:Nagios Core - Installing Nagios Core From Source# 设置SELINUXsed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configsetenforce 0# 安装必要包yum install -y gcc glibc glibc..._nagios监控部署

随便推点

Activity背景透明-程序员宅基地

文章浏览阅读505次。Theme.Translucent.NoTitleBar.Fullscreen当指定Activity 样式 Them.Dialog 时候 又不允许用XML 设置 Activity 的背景颜色的时候 用代码 this.getWindow().getDecorView().setBackgroundColor(Color.TRANSPARENT); 主意:代码写在 setContView()_activity背景透明

项目笔记(一)_如何做项目笔记图片-程序员宅基地

文章浏览阅读561次。有关于使用matlab进行基础的文件读入输出,字符串处理_如何做项目笔记图片

C/C++编程:long long类型_longlong c-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏7次。数据类型long long是C++11中重新定义的,标准规定它最小是64bit在这之前为了提供超过32bit的整数,各个开发环境(编译器)分别定义了各自的64bit整数类型。这会导致代码不兼容现在,C++11直接定义了long long类型我猜许多人应该使用过这个类型,当然在C++11之前,这种尝试会被编译器无情拒绝,自C++11之后就不会在发生这样地情况了。因此我认为:在C++11新特性中,long long一定是最容易被接受的一个。多数程序员看到它时甚至不会意识到这是一个新特性。相应的,C++1_longlong c

关于在 Notion 中使用 Markdown 语法_notion怎么写markdown-程序员宅基地

文章浏览阅读1.4k次。习惯使用的 Markdown 的伙伴们应该知道,当需要加粗字体时,会首先输入。,也就是先键入**,后面紧接着输入需要加粗的文字,最后键入**。但是在 Notion 中,这个就不太行了。同样,行内公式、行内代码高亮、斜体等都是这个规则。,然后在里面填内容。_notion怎么写markdown

flask使用form表单报错:“KeyError: 'A secret key is required to use CSRF.'”_keyerror: 'form-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。flask使用form表单报错:“KeyError: ‘A secret key is required to use CSRF.’”报错详情:KeyError: 'A secret key is required to use CSRF.'Traceback (most recent call last)FFile &amp;quot;F:\Projects\flask_env\lib\site-pac..._keyerror: 'form

修改ubuntu ls 显示的目录底色_ubuntu中如何不显示绿色-程序员宅基地

文章浏览阅读884次。绿色底色很烦,看不清文件夹的名字在.bashrc里加一行,LS_COLORS=$LS_COLORS:'ow=1;32:'这样即可取消有些文件夹的绿色底色。其中ow的意思是OTHER_WRITABLE1的意思是粗体,32的意思是绿色前景参考:编码 颜色/动作 0 重新设置属性到缺省设置 1 设置粗体 2 设置一半亮度(模拟彩色显示器的颜色) 4 设置下划线(模拟彩色显示器的颜色) 5 设置闪烁 7 设置反_ubuntu中如何不显示绿色

推荐文章

热门文章

相关标签