1第三章使用变式预设置选择概览内容什么是变式?...................................................................................................................................1创建和更改变式..............................................................................................................................1显示所有变式报表.....................................................................................................................1创建变式.....................................................................................................................................1变式属性.....................................................................................................................................2更改变式.....................................................................................................................................2删除变式.....................................................................................................................................2打印变式.....................................................................................................................................2使用变式变量..................................................................................................................................2使用变量日期计算.....................................................................................................................3使用特定用户值.........................................................................................................................3使用表格TVARV........................................................................................................................4使用变式执行报表程序....................................................................................................................5本节描述:什么是变式?启动报表程序时,ABAP/4在选择屏幕上提供特定数据库和特定报表选择的输入字段。要选择某种数据集,必须键入相应的值(参见使用选择屏幕(页Error!Notavalidlink.))。如果想在固定间隔时间运行具有相同选择的同一报表程序(例如,每月的销售额统计),则肯定不想每次键入相同的值。因此,ABAP/4可以在一个选择设置中组合全部选择所需的值。可以对每个报表程序创建任意多个不同的选择设置,而它们仍只分配给值得怀疑的报表程序。这种选择设置称为变式。变式是选择屏幕的界面。联机使用的变式与在后台处理中使用的变式可能具有不同功能。使用联机变式联机情况下,由于不必在每次显示选择屏幕时都输入同一种选择设置,所以通过变式启动报表会保存用户工作。另外,使用变式可使输入错误减到最少。通过为报表程序的每个应用程序创建具有最优值的变式,可保证最终列表尽可能地既精确又迅速。在选择屏幕上输入准确值也可缩短报表程序的运行时间。在后台处理中使用变式在后台处理中,变式是为选择传递值的唯一可行的方法。因此在后台执行的报表程序必须通过变式启动(例外:SUBMIT…VIAJOB)。为避免每次值变化时都创建新的变式,ABAP/4提供了以变量值为变式赋值的可能(参见变式属性(页2))。为确保报表程序总是通过变式启动,可以在程序属性中设定。创建和更改变式要创建或更改变式,请从“ABAP/4编辑器初始屏幕”中启动。输入要维护其变式的程序名,标记“变式”并选择“更改”。将显示“ABAP/4:变式-初始屏幕”。现在可以显示程序现有变式的列表、创建新变式或修改现有变式。下列主题描述:显示所有变式报表创建新变式前,应检查是否存在您可能使用或轻微修改的特定报表程序的变式。要继续,请单击可能的变式名字段的输入按钮。或在初始屏幕上选择“变式-目录”。在该屏幕中,可以显示、删除或打印变式。显示变式示例如下:要显示属性,请单击“显示属性”按钮。要从目录屏幕更改变式,请选择“更改值”或“更改属性”。然后可以看到在创建变式(页1)说明的屏幕之一。创建变式要创建新变式,请进行下列操作:21.在“ABAP/4编辑器初始屏幕”上,输入要为其创建变式的报表程序名,标记“变式”并选择“更改”。2.在“ABAP/4:变式-初始屏幕”上,输入变式名。名称可由最多14个字母数字字符组成。不要在名称中使用'&'或'%',因为它们会导致错误消息;也不要在名称中以SAP_打头,这是因为更新系统时这些变式可能会被覆盖掉。3.选择“创建”。出现选择屏幕。4.输入所需的选择值,包括多个选择和动态选择。5.选择“继续”。然后您会看到概述屏幕,在该屏幕上,您可以指定并保存变式属性。(参见变式属性(页2))。请注意,创建新变式时,总须填写属性和值。因此,只能在第二屏上保存新变式。变式属性在下列屏幕上维护变式的属性:创建变式时,可以输入下列属性:描述输入变式的简短而有意义的描述。最多30个字符。仅后台指定只在后台处理中使用该变式,还是在联机环境中也使用。受保护变式如果想保护该变式不被其他用户更改,请标记该字段。不显示变式如果只想在分类中显示变式名,而不在F4值列表中显示,请标记该字段。对包含在变式中的选择,可以输入下列属性:类型系统显示该字段是参数还是选项。受保护在选择屏幕上标记要保护而不被覆盖字段。以该方式标记的值可以显示给用户,但用户不能更改,也就是说它们不接受输入。不可见如果标记该栏,则启动报表程序时,系统不会在用户见到的选择屏幕上显示相应字段。变量如果要运行期间设置值,请标记该。可按下列三种方式设置,详情请见使用变式变量(页2)。-变量日期计算-特定用户值-表格TVARV中的值输入所有属性后,保存该设置。创建新变式时,必须填写值和属性屏幕上的所有条目,而且只能在属性屏幕上保存新变式。但是,如果要更改现有变式的值或属性,则可在相应屏幕上保存变式。更改变式要更改现有变式,请调用创建变式(页1)中描述的变式。但是,不使用“创建”,而选择现有变式名并单击“更改”。现在可以更改值或属性(参见变式属性(页2))。输入更改后,在相应屏幕上保存值或属性。删除变式要删除变式,请在变式初始屏幕上输入报表名和变式名,然后选择“变式-删除”。系统首先显示窗口,可以在该窗口中确认或取消决定。然后确认带有适当消息的活动。要删除一个活动中的几个变式,请选择“变式-目录”。标记要删除的变式,并选择“删除”。打印变式要打印变式,请在变式初始屏幕上输入变式名,选择要显示的值(从“ABAP/4:变式-初始屏幕”上或从“变式”菜单中),单击“打印”。请注意,如果在更改模式中,则不能打印变式值。出现“打印屏幕列表”屏幕。如果打印参数与屏幕上显示的默认值不一致,则可以设置适于您的部门的参数。从系统管理员那里可以得到正确值。标记“立即打印”字段。要打印变式,请选择“打印”。使用变式变量如果使用变量值,则不必在每次发生值变化时都创建新变式。3要给选择提供变量值,请在属性屏幕上标记所需选择中的“变量”栏,并单击“选择变量”。出现下列屏幕:使用变式变量包括三种不同选项:使用变量日期计算(参见使用变量日期计算(页3))在变式中,如果想使用某一天或者最后一月的最后一天的日期,则可以使用变量日期计算。使用特定用户值(参见使用特定用户值(页3))要在某些选择上填写因用户而异的值,可以使用具有特定用户值的变式。使用在表TVARV中定义的变式(参见使用表格TVARV(页4))。要在某些选择上填写根据应用程序而变化的值,可以使用从表TVARV获取变量值的变式。要避免创建新的变式和在每个后台处理(在每个选择数据的微小变化后运行)中指定它,可以只在表TVARV中为变式分配变量,然后在表格中更改相关值。这对于设置了输入保护的选择屏幕上的值尤其重要。使用变量日期计算要使用变式中的变量日期计算,必须在报表程序中将日期字段定义为选择标准或参数。PARAMETERSDATELIKESY-DATUM.然后可以将变量分配给该日期字段。要给日期字段分配变量,请在选择变量屏幕上单击“变式类型”字段上可能的输入按钮。在下列对话框中选择“日期变量”。可以返回选择变量屏幕。单击“变式名”上可能的输入按钮以得到日期计算的建议值列表。如果需要,请键入所需值。注意:不能在列表中维护建议值或增加新建议值。使用特定用户值通过使用特定用户值,可以将任何特定用户条目包括进带变式的选择。对于每个授权的用户,这些值都保存在特定的表格中,并在变式执行时逐一填写到选择中。用该方法,用户不必每次启动报表程序时都输入从未更改过的值,诸如用户号或公司代码等。在选择屏幕上,用户只需填写在不同程序执行时其值发生变化的字段。几个用户可以使用同一变式。创建特定用户值要用特定用户值填写选择,该用户的主记录必须包含带有标识pid的相应用户参数。在报表程序中,必须用相应参数标识的选项...MEMORYIDpid定义参数或选择标准。(参见从SAP内存中使用缺省值(页Error!Notavalidlink.))。DATA:COMPANY_CODE(6)....SELECT-OPTIONS:CCLIKECOMPANY_CODEMEMORYIDBUK....创建变式时,在属性屏幕上为相应选择标记“变量”并单击“选择变量”。在显示的屏幕上,单击下列对话框中的“变量类型”的输入按钮并选择“特定用户变量”。可以返回选择变量屏幕。系统自动将参数的合适长文本设置为“变量名”。在运行期间,特定用户变量接收当前用户的值为当前参数标识。为更改现有特定用户变量的值,ABAP/4提供了两种方法:程序员可以使用报表程序中的功能模块VARI_USER_VARS_*更改任何用户的变量(参见在程序中更改特定用户变量值(页3))。用户可以在选择屏幕上更改其变量值(参见交互式更改特定用户变量值(页4