请教一个abap开发事件AT SELECTION-SCREEN的问题。。

ABAP常用的系统参数以及function等总结成一个Excel_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
7页免费19页1下载券2页免费6页免费1页免费 1页免费1页免费3页免费11页1下载券2页2下载券
喜欢此文档的还喜欢19页1下载券36页免费43页免费41页免费46页1下载券
ABAP常用的系统参数以及function等总结成一个Excel|工​作​四​年​来​A​B​A​P​开​发​用​到​的​一​些​常​用​的​知​识​点​汇​总
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢格式:ppt&&&
贡献者:Yongliangw
上传时间: 06:45
此文档归属以下专题
暂无相关专题
-------------
新增文件夹...
(多个标签用逗号分隔)
分享到:&&
下载本文档需要登录,并付出相应积分。()
文件大小:14.33MB
所需积分:& 100
(C) MBA Library, All rights reserved.2218人阅读
可以通过三种方式来产生selection screen:
l&&&&&&&& Logical database 语句:nodes
l&&&&&&&& 通过parameters,select-options产生一个default selection screen。
l&&&&&&&& 通过SELECTION-SCREEN BEGIN OF CALL SELECTION-SCREEN创建额外的SELECTION SCREEN。SCREEN NUMBER 是sap保留的,在HR中你只能定义9000以上的屏幕号。
如果selection screen程序是后台运行的,那么必须创建相应的variant。
PARAMETER fields的名字最长为8个字符,可以通过MEMORY ID实现在SAP MEMORYZ中交换数据。
如果parameter fields参考dictionary object,并且dictionary object是有外键的,缺省情况下value check是关闭的,可以通过VALUE CHECK来打开这个选项。可以通过AS CHECKBOX来定义复选框,通过AS RADIBUTTON GROUP &grp&,来定义单选按钮。&grp&由四个字符组成。
Select-options的名字最多也只有8个字符。Select-options产生的是一个internal table,它有四个字段:sign option low high。Sign option的值列表:
SIGN: I (Include), E (Exclude)OPTION: EQ, NE, LE, LT, GE, GT, BT(Between), NB (Not Between),CP (Contains Pattern), NP (Contains Pattern not)
Select-options addition:
l&&&&&&&& DEFAULT:你可以通过INITIALIZATION或LOAD-OF-PROGRAM其中之一来设置缺省值。
l&&&&&&&& MEMORY ID:可以实现与SAP MEMORY的交互。
l&&&&&&&& LOWER CASE:确定是否进行大写转换,但是对于dictionary object无效。
l&&&&&&&& OBLIGATORY
l&&&&&&&& NO-EXTESIONS:multiple selection失效
l&&&&&&&& NO-INTERVALS:不能直接输入间隔值
如果有logical database,parameter和select-options将会放到最下面。
可以通过SELECTION-SCREEN来设计selection screen的布局,通过BEGIN OF BLOCK &BLK&对selection screen元素进行逻辑分组,可以通过WITH FRAME来添加一个框架。如果selection-screen有框架,可以为block设置title,有两种方式text-xxx和三个字符的标识,后者可以在initialization中设置。事务代码BIBS中有各种selection screen的向导。通过SELECTION-SCREEN BEGIN OF LINE可以实现在一行中放置多个parameters和comments。Comment必须有一个format(position和output length),position可以通过变量来设置也可以是pos_low或pos_high。后者是select-options的low和high。可以通过COMMENT & FOR FIELD把comment和field绑定在一起。通过语句POSITION &pos&来设置下个元素的位置。可以通过事件INTITIALIZATION或LOAD-OF-PROGRAM来为selection-screen字段设置缺省值,也可以 AT SELECTION-SCREEN OUTPUT中设置值与前者不同的时前者在一次运行时只能执行一次。而后者则是只要该屏幕重新显示就能触发一次。所有的屏幕输入都可以通过AT SELECTION-SCREEN EVENT事件检查,当在这个事件中触发error或warning消息时所有的字段又处于输入状态。这个事件可以加上参数ON &f&或ON &seltab&这种情况下触发error消息时只有这个字段处于输入状态。可以通过AT SELECTION-SCREEN ON BLOCK &block&.把一组字段组合到一块,这样在触发error信息时,block中所有字段都处于输入状态。AT SELECTION-SCREEN ON END OF &field&是selection screen PAI事件。可以通过事件AT SELECTION-SCREEN ON HELP-REQUEST and AT SELECTION-SCREEN ON VALUE-REQUEST来实现F1,F4 help。ON VALUE-REQUEST的值选择是通过interactive event来控制的。当用户点击execute或按F8时,SY-SUBRC返回0,如果用户点击cancel或exit sy-subrc返回4。你可以在INITIALIZATION中决定selection screen的缺省值,通过SY-DYNNR在事件中确定目前正在处理的屏幕。用户可以为program创建任意数量的变式,变式只能应用于唯一的程序。当你激活program attribute中的starting with variant标识时,你只能通过变式启动程序。Variant的命名规则,SAP&XXX是由SAP系统提供的,CUS&XXX是由用户自开发的,符合上面的命名规则的变式自动同程序一块传输,否则的话需要手工把变式插入到change request的object list中。Transport object LIMU VAR,或者通过下面的menu path:Variants -& Transport request from the variant maintenance screen。变式可以被设置成仅在后台使用,通过only display in catalog可以使变式在前台不被选择。可以保护变式本身是选择条件不能被没有权限的人修改。Type of select是由select-options和parameter决定,selection protected可以保护选择条件被修改。Hide可以隐藏选择条件。可以通过三种方式来提供selection variables:
l&&&&&&&& 通过表tvarv(c)(TYPE T)
l&&&&&&&& Type D,通过动态设定日期,比如当天
l&&&&&&&& 用户自定义的变量(TYPE B),通过memory id。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:78527次
积分:1035
积分:1035
排名:第18007名
原创:14篇
转载:66篇选择屏幕开发.
用户通过屏幕操作来实现与SAP数据的交互, 而SAP的屏幕开发一般分为两种:
第一种是通过SAP ABAP 语法创建屏幕元素, 称之为选择屏幕.
第二种是通过SAP的屏幕编辑器开发.
1. 屏幕元素创建的语法.
SELECT-OPTIONS: 对象名称 FOR 参考对象.
PARAMETERS: & & 对象名
TYPE/LIKE 参考对象.
TABLES: mara.
SELECT-OPTIONS: s_matnr for mara-matnr.
PARAMETERS: & & s_matnr like
mara-matnr.
PARAMETERS: & & s_matnr type
SELECT-OPTIONS 在程序中生成一个含有四个组件的内表---选择表, 该表具体格式如下:
DATA: BEGIN OF seltab OCCURS 0,
& SING(1),
& OPTION(2),
& LOW LIKE f,
& HIGH LIKE F,
ENND OF seltab.
SIGN 是标志位, 允许值为 I 和 E, 其意义为确定储存在字段 OPTION 中的运算符是否需要取反,
I 表示"包含", E 表示"排除", 等于在逻辑表达式中加一个NOT.
OPTION 包含选择运算符. 如果 HIGH 字段为空, 则可以填充 EQ(=),
NE(&&), GT(&),
GE(&=), LT(&), LE(&=),
CP, NP. 其中 CP 和 NP
只有当在输入字段中使用了通配符("*"或"+")时它们才有效.&
如果 HIGH 字段不为空, 则可以使用 BT (位于) 和 NB(不位于), 其功能相当于 BETWEEN 和 NOT
选择表可以进行多行选择标准的设定.
基本规则是: 如果选择表为空, 则选择所有的数据; 如果选择表有多行, 则将所有的 SIGN 为 "I" 数据选出后,
再排除掉其中所有的满足标志为 "E" 的数据行. 具体规则如下:
如果选择表为空, 即用户未输入任何数据, 则条件 f IN seltab 恒为真.
如果选择表中只包含 SIGN 为 I 的行 "i1" ... , "in", 则相当于条件( i1 OR ... OR in
如果选择表中只包含 SIGN 为 E 的行 "e1" ... , "em", 则相当于条件( NOT e1 ) AND ...
AND ( NOT em) 的组合.
如果选择表中即包含 SIGN 为 I 的行 "i1" ... , "in", 又包含 SIGN 为 E 的行 "e1"
..., "em" ,则相当于条件(i1 OR ... OR in ) AND ( NOT e1 ) AND ... AND (
NOT em) 的组合.
动态定义输入域的参考对象.
DATA: name TYPE string.
SELECT-OPTIONS: s_name for (name).
AT SELECTION-SCREEN OUTPUT.
& name = 'MARA-MATNR'.
2. 屏幕输入域显示参数控制.
OBLIGATORY 必输项控制.
NO-DISPLAY 显示控制.
VISIBLE LENGTH vlen 显示长度控制.
NO-EXTENSION 多行输入控制. 限制 SELECT-OPTIONS 多行输入.
NO-INTERVALS. 输入范围控制.
MODIFY ID modid 编辑组控制. 该参数可以将所定义的屏幕对象进行分组,
以方便在程序运行中对分组的对象属性进行统一修改及控制.
VALUE CHECK 进行值检查. 如果参数字段参照数据字典中的类型定义,
可以使用该选项检查用户输入值是否符合该字段的约束表中的数据或者是否属于数据字典中定义的值列表, 否则系统将给出错误消息.
MEMORY ID pid.
AS CHECKBOX. 创建复选框.
RADIOBUTTON GROUP radi. 创建单选按钮组.
PARAMETERS &对象名& AS LISTBOX
VISIBLE LENGTH vlen. 创建下拉列表.
SELECT-OPTIONS:&p1&FOR&mara-matnr&MODIF&ID&g1,
&&&&&&&&&&&&&&&&p2&FOR&mara-matnr&MODIF&ID&g1,
&&&&&&&&&&&&&&&&p3&FOR&mara-matnr&MODIF&ID&g2,
&&&&&&&&&&&&&&&&p4&FOR&mara-matnr&MODIF&ID&g2.
AT&SELECTION-SCREEN&OUTPUT.
&&LOOP&AT&SCREEN.
&&&&IF&NOT&screen-group1&IS&INITIAL.
&&&&&&IF&screen-group1&=&'G2'.
&&&&&&&&screen-input&=&0.
&&&&&&&&screen-invisible&=&0.
&&&&&&&&MODIFY&SCREEN.
&&&&&&ENDIF.
&&&&ENDIF.
&&ENDLOOP.
******************************************
PARAMETER:&p_lang(20)&AS&LISTBOX&VISIBLE&LENGTH&22.
AT&SELECTION-SCREEN&OUTPUT.
&&PERFORM&setlist.
FORM&setlist&.
&&TYPE-POOLS&vrm.
&&DATA&values&TYPE&vrm_values&WITH&HEADER&LINE.
&&values-key&=&'CHINESE'.
&&values-text&=&'中国人'.
&&APPEND&values.
&&values-key&=&'AMERICAN'.
&&values-text&=&'美国人'.
&&APPEND&values.
&&CALL&FUNCTION&'VRM_SET_VALUES'
&&&&EXPORTING
&&&&&&id&&&&&&&&&&&&&&=&'P_LANG'
&&&&&&values&&&&&&&&&&=&values[]
&&&&EXCEPTIONS
&&&&&&id_illegal_name&=&1
&&&&&&OTHERS&&&&&&&&&&=&2.
3. 输入值的控制.
控制输入默认值. &SELECT-OPTIONS, Default val1 [TO
val2] [OPTION opt] [SIGN sgn]. &
DEFAULT val1. & &控制 PARAMETER
对象输入的默认值.
LOWER CASE 容许输入小写字母. SAP 所有屏幕字段输入后都会将字母默认转换为大写,
加上该参数后允许输入小写字母.
MATCHCODE OBJECT search_help. 为屏幕对象加上指定的 F4 帮助.
MEMORY ID pid 定义 SELECT-OPTIONS 内存参数. 可以将屏幕对象输入的值保存到指定的内在参数中,
通过 GET parameter 方法可以直接从内存读取该对象的值.
&&DATA:&s_date&TYPE&d.
SELECT-OPTIONS:&d1&FOR&sy-datum&MEMORY&ID&m1&NO&INTERVALS.&
START-OF-SELECTION.
GET&PARAMETER&ID&'M1'&FIELD&s_date.
&&WRITE&s_date.
4. 其它选择屏幕元素.
SELECTION-SCREEN SKIP [n]. &产生空行.
SELECTION-SCREEN ULINE [[/]jpos(len)]. 在选择屏幕中给一行或几行中的一部分加下划线.
其中 "/" 用于换行控制.
SELECTION-SCREEN COMMENT [/]pos(len) comm [ FOR FIELD
f].&&如果使用 FOR FIELD f.
则该注释分配给参数或选择标准f. 如果用户在该元素f的注释上请求帮助(F1), 则系统显示分配给字段f的帮助文本.
&SELECTION-SCREEN&COMMENT&/1(20)&text-t01.
组合选择屏幕元素. SELECTION-SCREEN BEGIN OF LINE. &
& & & ..........
& & SELECTION-SCREEN END OF
这些元素将出现在屏幕的同一行中.
SELECTION-SCREEN BEGIN OF BLOCK block [WITH FRAME [TITLE title]]
[NO INTERVALS].& &
& &.........
SELECTION-SCREEN END OF BLOCK block.
5. 屏幕对象的F1/F4输入帮助功能.
& &1). HELP-REQUEST [
FOR LOW|HIGH ]. 字段的 F1 帮助功能.
& &当在SAP选择屏幕的字段中按下 F1
键时, 可以调用自定义的程序或系统帮助文件. F1 帮助可以通过 ABAP 事件 AT SELECTION-SCREEN 来控制,
在自定义程序中, 可以通过调用系统标准函数 HELP_OBJECT_SHOW 或 HELP_OBJECT_SHOW_FOR_FIELD
SELECT-OPTIONS:&s_date&FOR&sy-datum.
AT&SELECTION-SCREEN&ON&HELP-REQUEST&FOR&s_date-low.
&&PERFORM&show_f1.
FORM&show_f1&.
&&DATA:&t_link&LIKE&STANDARD&TABLE&OF&tline&WITH&HEADER&LINE.
&&CALL&FUNCTION&'HELP_OBJECT_SHOW'
&&&&EXPORTING
&&&&&&dokclass&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&'DE'
&&&&&&doklangu&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&sy-langu
&&&&&&dokname&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&'SYDATUM'
&&&&TABLES
&&&&&&links&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&=&t_link&.
& 2). VALUE-REQUEST [ FOR LOW|HIGH ].
字段的 F4 键帮助.
在指定的字段按 F4 键时, 可以调用自定义的程序或系统帮助数据. 也是通过 AT
SELECTION-SCREEN 来调用. 与 F1 不同的是, F1 是进行信息提示, 而 F4 是显示填充值的列表. 可以调用
F4IF_FIELD_VALUE_REQUEST 参照某一个具体表字段来维护 F4 帮助.
AT&SELECTION-SCREEN&ON&VALUE-REQUEST&FOR&s_date-low.
&&PERFORM&show_f4.
FORM&show_f4&.
&&CALL&FUNCTION&'F4IF_FIELD_VALUE_REQUEST'
&&&&EXPORTING
&&&&&&tabname&&&&&&&&&&&&&&&&&&&=&'SYST'
&&&&&&fieldname&&&&&&&&&&&&&&&&&=&'DATUM'
& & "参照字段
&&&&&&dynpprog&&&&&&&&&&&&&&&&&&=&sy-repid
&&&&&&dynpnr&&&&&&&&&&&&&&&&&&&&=&sy-dynnr
&&&&&&dynprofield&&&&&&&&&&&&&&&=&'S_DATE'.
& "解发事件的屏幕对象名称.
&&IF&sy-subrc&&&&0.
*&Implement&suitable&error&handling&here
&&ENDIF.&&
AT&SELECTION-SCREEN&ON&VALUE-REQUEST&FOR&s_file1.
&&PERFORM&get_file_name&USING&s_file1&'O'.
FORM&get_file_name&&USING&&p_path&LIKE&rlgrap-filename&&mode&TYPE&c.
&&DATA&tmp_filename&LIKE&rlgrap-filename.
&&CALL&FUNCTION&'WS_FILENAME_GET'
&&&&EXPORTING
&&&&&&def_path&&&&&&&&&=&'D:\&'
&&&&&&mask&&&&&&&&&&&&&=&',*.*,*.*.'
&&&&&&mode&&&&&&&&&&&&&=&mode
&&&&IMPORTING
&&&&&&filename&&&&&&&&&=&tmp_filename
&&&&EXCEPTIONS
&&&&&&inv_winsys&&&&&&&=&1
&&&&&&no_batch&&&&&&&&&=&2
&&&&&&selection_cancel&=&3
&&&&&&selection_error&&=&4
&&&&&&OTHERS&&&&&&&&&&&=&5.
&&IF&sy-subrc&=&0.
&&&&p_path&=&tmp_filename.
6. 在屏幕上输出自定义文本及图标.
TYPE-POOLS:&icon.
SELECTION-SCREEN&BEGIN&OF&LINE.
SELECTION-SCREEN&COMMENT&(12)&mytext.
PARAMETER:&name&LIKE&sy-uname.
SELECTION-SCREEN&END&OF&LINE.
INITIALIZATION.
&&CONCATENATE&icon_manager&'输入人员编号'&INTO&mytext.
在文本元素中加入图标.
每个图标都由一个两位长度的代码进行标识, 在字符前面加上 "@"符号表示对该图标进行引用.
可以通过数据字典查看 TYPE Group: ICON, 通过 ICON NAME 寻找对应的 ID 列. 或通过程序
RSTXICON 来查看SAP中所有图标及代码的对应关系列表.
7. 在屏幕中实现按钮效果.
TYPE-POOLS:&icon.
TABLES:&sscrfields.&&"&引用屏幕字段属性
"&创建屏幕按钮对象
SELECTION-SCREEN:&PUSHBUTTON&2(10)&&but1&USER-COMMAND&cli1,
&&&&&&&&&&&&&&&&&&PUSHBUTTON&20(30)&but2&USER-COMMAND&cli2&VISIBLE&LENGTH&10.
INITIALIZATION.
&&CONCATENATE&icon_message_information&'按钮1'&INTO&but1.
&&CONCATENATE&icon_message_information&'按钮2'&INTO&but2.
AT&SELECTION-SCREEN.
&&CASE&sscrfields.&&&&"&捕捉按钮功能代码,&也可以用&SY-UCOMM.
&&&&WHEN&'CLI1'.
&&&&&&MESSAGE&'按钮1事件'&TYPE&'I'.
&&&&WHEN&'CLI2'.
&&&&&&MESSAGE&'按钮2事件'&TYPE&'I'.
&&ENDCASE.
8. 子屏幕的创建.
子屏幕分为两种, 一种为 Include Screen, 可以通过 Report 端程序直接调用;
一种为 SubScreen, 需要通过 Screen Painter 所创建屏幕引用.
Include Screen 相关语法如下:
PARAMETERS:&type&as&CHECKBOX.
CALL&SELECTION-SCREEN&123&STARTING&AT&10&10&ENDING&AT&80&10.
SELECTION-SCREEN&BEGIN&OF&SCREEN&123&as&WINDOW&TITLE&text-t01.
PARAMETERS:&matnr&LIKE&mara-matnr.
PARAMETERS:&werks&like&marc-werks.
SELECTION-SCREEN&END&OF&SCREEN&123.
9. 在工具栏上新增功能按钮.
按钮的定义保存在结构体 SSCRFIELDS 中, n 为一个整数类型的序号, 例如当 n 等于1时,
按钮的描述保存在字段 SSCRFIELDS-FUNCTXT_01 中, 按钮的功能代码将默认赋值为 "FC01", 保存在字段
SSCRFIELDS-UCOMM 中.
TABLES:&sscrfields.
PARAMETERS:&parm&LIKE&mara-matnr.
SELECTION-SCREEN&FUNCTION&KEY&1.
SELECTION-SCREEN&FUNCTION&KEY&2.
INITIALIZATION.
&&MOVE&'BUTTON1'&TO&sscrfields-functxt_01.
&&MOVE&'BUTTON2'&TO&sscrfields-functxt_02.
AT&SELECTION-SCREEN.
&&IF&SSCRFIELDS-UCOMM&=&'FC01'.
&&&&MESSAGE&'按钮1事件'&TYPE&'I'.
&&ELSEIF&SSCRFIELDS-UCOMM&=&'FC02'.
&&&&MESSAGE&'按钮2事件'&TYPE&'I'.
10. 在屏幕上创建页签.
SELECTION-SCREEN BEGIN OF TABBED BLOCK
&block& FOR n lines.
每个页签都是由一个单独的子屏幕控制, n 代表分页控件的高度, 屏幕载入进必须先通过 INITIALIZATION
事件对其属性初始化.
TABLES:&mara.
"&定义子屏幕&100
SELECTION-SCREEN&BEGIN&OF&SCREEN&100&AS&SUBSCREEN.
SELECTION-SCREEN&BEGIN&OF&BLOCK&bk1&WITH&FRAME&TITLE&text-t01.
SELECT-OPTIONS:&mat1&FOR&mara-matnr&NO&INTERVALS.
SELECTION-SCREEN&SKIP&1.
PARAMETERS:&chk1&AS&CHECKBOX&DEFAULT&'X'.
SELECTION-SCREEN&END&OF&BLOCK&bk1.
SELECTION-SCREEN&END&OF&SCREEN&100.
"&定义子屏幕&200
SELECTION-SCREEN&BEGIN&OF&SCREEN&200&AS&SUBSCREEN.
PARAMETERS:&mat2&LIKE&mara-matnr.
SELECTION-SCREEN&END&OF&SCREEN&200.
"&定义一个TAB空间,&取名为MYTAB,&控件高为5,&共有两个页签.
"&两个页签的功能代码分别为&PUSH1,&PUSH2.
SELECTION-SCREEN:&BEGIN&OF&TABBED&BLOCK&mytab&FOR&5&LINES,
&&&&&&&&&&&&&&&&&&&&&TAB&(20)&button1&USER-COMMAND&push1,
&&&&&&&&&&&&&&&&&&&&&TAB&(20)&button2&USER-COMMAND&push2,
END&OF&BLOCK&mytab.
"&为TAB控件分配初始化值.
INITIALIZATION.
&&button1&=&text-010.
&&button2&=&text-020.
&&mytab-prog&=&sy-repid.
&&mytab-dynnr&=&100.
AT&SELECTION-SCREEN.
&&CASE&sy-ucomm.
&&&&WHEN&'PUSH1'.
&&&&&&mytab-dynnr&=&100.
&&&&&&mytab-activetab&=&'BUTTON1'.
&&&&WHEN&'PUSH2'.
&&&&&&mytab-dynnr&=&200.
&&&&&&mytab-activetab&=&'BUTTON2'.
&&ENDCASE.
屏幕元素属性的控制.
屏幕中所有的对象都有独立的属性, 在SAP程序执行中,
可以通过系统变量SCREEN来读取每个屏幕对象的具体属性, SCREEN是一个标准的结构体,
其常用属性及参数如下:
NAME: 屏幕对象的名称.
INPUT: 设置屏幕输入域对象不否允许输入值( 0: 不可输入, 1: 可输入), 默认值为 1.
INVISIBLE: 设置对象在输出到屏幕后时是否可见, ( 0: 可见, 1: 不可见).
PARAMETERS:&mat1&like&mara-matnr.
INITIALIZATION.
&&LOOP&AT&SCREEN.
&&&&IF&screen-name&=&'MAT1'.
&&&&&&screen-input&=&'0'.
&&&&&&screen-invisible&=&'0'.
&&&&ENDIF.
&&&&MODIFY&SCREEN.
&&ENDLOOP.
选择屏幕事件.
选择屏幕的处理也是通过事件驱动的, 这些事件是一些预定义的ABAP代码块.
选择屏幕中不存在任何由程序员设定的流逻辑(普通屏幕的行为由流逻辑进行控制), 取而代之的是在程序中定义一系列相关的事件块,
由运行环境在处理选择屏幕的过程中触发. 选择屏幕中各个事件在程序中出现的位置是任意的, 与其调用顺序无关. 选择屏幕事件将出现在
INITIALIZATION 事件和 START-OF-SELECTION 事件中间; 对于使用 CALL
SELECTION-SCREEN 调用的自定义选择屏幕, 这些选择屏幕将出现在当前处理块中.
所有的选择屏幕事件都使用 AT SELECTION SCREEN 语句引导.
INITIALIZATION 事件.
该事件在屏幕未显示之前执行, 对程序设置值及屏幕元素进行初始化赋值.
TOP-OF-PAGE.
创建新的 Write List 时触发.
TOP-OF-PAGE&DURING&LINE-SELECTION.
An event block is triggered for the corresponding events
during the creation of details lists.
You have to use system fields like sy-lsind to distinguish
between the individual details lists.
START-OF-SELECTION 事件.
该事件由程序单击执行按钮时触发.
END-OF-SELECTION 事件.
该事件应用于所有数据处理完成,
即START-OF-SELECTION相关事件执行完成,但输出屏幕还未显示之前.在实际开发中主要用于一些执行结果的检验等,
其输出数据叠加于同一输出屏幕中.
AT SELECTION-SCREEN OUTPUT事件.
选择屏幕的PBO事件, 在每次选择屏幕被调用之前触发, 可以在其中进行选择屏幕输出之前的准备工作,
比如在程序中动态地对选择屏幕元素的输出属性进行修改.
AT SELECTION-SCREEN 事件.
是选择屏幕的PAI事件, 在用户输入的所有数据都被传输到程序中之后被触发, 也是选择屏幕中最后被触发的事件.
在选择屏幕中, 用户回车, 选择某GUI按钮,功能键或者菜单键之后, 如果系统检查无误, 将触发该事件.
AT SELECTION-SCREEN ON field 事件.
是针对选择屏幕中某字段输入的PAI事件, 当该字段值被传递给程序时被触发, 可以应用于该字段本身的正确性检查,
如果系统提示错误, 则可以在该字段中重新输入, 此时其它字段元素呈灰色, 不接受输入.
AT SELECTION-SCREEN ON BLOCK block 事件.
是针对选择屏幕某元素区域输入的PAI事件, 当该区域内的所有字段的值被传递给程序时被触发,
可以应用于该区域元素整体的正确性检查.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP rad1.
作为单选按钮, 必须整体进行输入检查, 不能单独使用 ON field选项进行.
AT SELECTION-SCREEN ON seltab.
AT SELECTION-SCREEN ON END OF seltab.
这两个事件只有在使用多行选择对话框时才可能被触发, 其中 ON seltab 用于用户逐行输入后的正确性检查, 而 ON
END OF seltab 用于整个选择表输入结束后各行的检查.
AT SELECTION-SCREEN ON HELP-REQUEST FOR field.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR field.
选择屏幕中的POH和POV事件, 当光标位于某屏幕字段时, 用户按下F1和F4键, 将触发 ON HELP-REQUEST
ON VLAUE-REQUEST事件.
AT LINE-SELECTION.
在 Write List 中双击某行触发.
屏幕事件的中止.
EXIT: 中止当前事件模块.
STOP: 强制中止所有事件.
REJECT: 应用于读取逻辑数据库的程序.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 abap开发 的文章

 

随机推荐