1第二章使用选择屏幕概览内容选择屏幕是什么?...........................................................................................................................1选择屏幕与逻辑数据库....................................................................................................................2为变量定义输入字段.......................................................................................................................3PARAMETERS语句基本格式..................................................................................................3给参数分配缺省值.....................................................................................................................4禁止参数显示............................................................................................................................4允许参数接受大小写..................................................................................................................4制作需要的输入字段的参数.....................................................................................................5在选择屏幕上创建复选框.........................................................................................................5从SAP内存中使用缺省值.......................................................................................................6给参数分配匹配代码对象.........................................................................................................7给修改组分配参数.....................................................................................................................7使用选择标准..................................................................................................................................8选择标准是什么?.....................................................................................................................8定义选择标准........................................................................................................................10使用报表的选择标准..............................................................................................................15格式化选择屏幕..........................................................................................................................17指定空行、下划线和注释.....................................................................................................18将几个元素放在一行上..........................................................................................................19定位元素.................................................................................................................................20创建元素块..............................................................................................................................20在应用工具条中创建按钮.....................................................................................................21在选择屏幕上创建按钮..........................................................................................................21选择屏幕是报表程序的一部分,您可以设计选择屏幕以便交互输入字段值和选择标准。在报表程序启动之后,用户在该屏幕中输入值。关于选择屏幕概念的详细信息,参见关于选择屏幕与逻辑数据库之间关系的简要介绍,参见在ABAP/4程序中,可以使用下列语句设计选择屏幕:PARAMETERS,为变量定义输入字段SELECT-OPTIONS,为选择标准定义输入字段SELECTION-SCREEN,格式化选择屏幕下列主题讨论选择屏幕是什么?正如您从声明数据(页错误!链接无效。)部分所知道的,您可以给内部变量分配初始值。但是,不象C语言有GETC,FORTRAN语言有READ,或者BASIC语言有INPUT,ABAP/4没有关键字可以允许您在程序流的任何一点上交互地输入值。要创建交互式的ABAP/4程序,必须使用在编写ABAP/4事务(页Error!Notavalidlink.).中描述的对话编程方法。这意味着您必须创建事务、编写ABAP/4模块存储程序,并用屏幕绘制器和菜单绘制器设计屏幕(参见文档ABAP/4工作台工具(页Error!Notavalidlink.))。通过选择屏幕,ABAP/4还为报表程序提供了一个交互元素。您可以定义选择屏幕而不必影响对话编程所要求的所有细节。例如,您可以用简单语句创建字段、复选框或单选按钮,并设计屏幕布局。系统自动为您处理屏幕绘制器的实际任务。总是在报表程序启动后直接处理选择屏幕(参见通过事件控制ABAP/4程序流(页Error!Notavalidlink.))。用户可以在该屏幕中输入字段值和选择标准。对于每个报表程序,输入值集可以按变体(参见使用变式预设置选择(页Error!Notavalidlink.))创建和存储。选择屏幕上的文本可以按依赖于语言的文字摘要(参见选择文本(页错误!链接无效。))进行维护。选择屏幕的主要目的是使用户能够控制报表程序的数据库选择。如果报表程序是用SUBMIT语句(参见调用报表(页Error!Notavalidlink.))从另一个ABAP/4程序中启动的,则选择屏幕对象还起到数据接口的作用,通过在报表程序中定义的选择屏幕,您可以使用户能够通过PARAMETERS语句给变量分配值2通过SELECT-OPTIONS语句确定选择标准逻辑数据库程序通常也包括PARAMETERS和SELECT-OPTIONS语句(参见逻辑数据库的特征和护(页Error!Notavalidlink.))。如果您写通过报表属性与逻辑数据库相连接的报表程序,报表选择屏幕将自动包括相应的输入字段。您应该尽可能广泛地使用逻辑数据库提供的选择标准。只有当它们不能满足您的需要时才在您的程序中使用PARAMETERS或SELECT-OPTIONS语句。由这些语句定义的输入字段将在报表选择屏幕上作为逻辑数据库的附加选择标准出现(示例参见避免将选择标准传递到逻辑数据库(页13))选择屏幕与逻辑数据库每个报表程序都与一个逻辑数据库相链接,该逻辑数据库决定选择屏幕的格式。如果在程序属性中没有指定逻辑数据库,系统将使用标准数据库,该数据库格式化选择屏幕,但是不读取任何数据。选择屏幕包含逻辑数据库选择和在报表程序中定义的选择。为逻辑数据库选择显示的输入字段取决于您在程序中用TABLES语句声明的数据库表。标准数据库的选择屏幕只包含在报表程序中定义的选择。关于逻辑数据库选择的详细信息,参见逻辑数据库的特征和护(页Error!Notavalidlink.)。逻辑数据库F1S被附加到下列报表程序。F1S的结构是:假设下列报表程序:REPORTSAPMZTST.TABLESSPFLI.启动SAPMZTST后,选择屏幕如下所示:这些是选择标准的输入字段和数据库表SPFLI各列的参数。在逻辑数据库程序中编码定义该屏幕的语句(SELECT-OPTIONS和PARAMETERS)。现在,假设下列报表程序:REPORTSAPMZTST.TABLESSBOOK.启动SAPMZTST后,选择屏幕如下所示:系统不仅显示与数据库表SBOOK相连的选择标准的输入字段,而且显示那些与表SPFLI和SFLIGHT相连的选择标准。出现在逻辑数据库选择屏幕中的输入字段通常是在逻辑数据库程序中用SELECT-OPTIONS语句(参见定义选择标准(页10))定义的。使用这些语句来限制对数据库的访问,例如通过SELECT语句的WHERE子句(参见在WHERE子句中使用选择表(页15))。示例参见逻辑数据库示例(页Error!Notavalidlink.)。逻辑数据库可以提供一个特征以便报表用户指定动态选择,这些动态选择在逻辑数据库程序中没有用SELECT-OPTIONS语句编码。如果逻辑数据库提供动态选择,用户通过单击选择屏幕上应用工具条的“用户选择”访问这些选择。将显示新的选择屏幕或屏幕,用户可以在其中选择为要其指定选择标准的数据库字段。对于逻辑数据库F1S,动态选择的屏幕可能如下所示:动态选择通过使用动态WHERE条件限制对逻辑数据库程序(参见运行时指行选择的条件(页错误!链接无效。))对数据库进行访问。必须在逻辑数据库程序中编码动态选择的可