第004章将数据输出到屏幕.docx

上传人:b****6 文档编号:7064088 上传时间:2023-01-16 格式:DOCX 页数:10 大小:22.04KB
下载 相关 举报
第004章将数据输出到屏幕.docx_第1页
第1页 / 共10页
第004章将数据输出到屏幕.docx_第2页
第2页 / 共10页
第004章将数据输出到屏幕.docx_第3页
第3页 / 共10页
第004章将数据输出到屏幕.docx_第4页
第4页 / 共10页
第004章将数据输出到屏幕.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

第004章将数据输出到屏幕.docx

《第004章将数据输出到屏幕.docx》由会员分享,可在线阅读,更多相关《第004章将数据输出到屏幕.docx(10页珍藏版)》请在冰豆网上搜索。

第004章将数据输出到屏幕.docx

第004章将数据输出到屏幕

第四章1将数据输出到屏幕

概览

内容

WRITE语句

在屏幕上定位WRITE输出

格式化选项

在屏幕上输出符号和图标

输出屏幕上的线和空行

垂直线

空行

将字段内容作为复选框输出

通过语句结构使用WRITE

本节说明如何在屏幕上创建简单输出列表。

为此,请使用WRITE语句。

下面将介绍:

ABAP/4允许在屏幕和纸张上,生成比这里看到的更复杂和更有效的输出列表。

这些介绍是后面章节(例如,创建列表)的基础。

1WRITE语句

在屏幕上输出数据的基本ABAP/4语句是WRITE。

语法

WRITE.

该语句以其标准格式,将字段输出到当前列表中。

默认情况下,该列表显示在屏幕上。

字段可以是

_任何数据对象(参见数据对象(页3–8))

_字段符号或公式参数(参见使用字符符号(页使用字段符号))

_文本符号(参见WorkingwithTextElements(页5–1))

选择“打印”,可以直接从输出屏幕打印当前输出列表。

如果为程序定义选项屏幕(参见使用选择屏幕),就可以在选择屏幕上选择“执行和打印”,然后,该列表不输出到屏幕上,而是直接发送到打印机。

PROGRAMSAPMZTST.

WRITE'Hello,hereIam!

'.

当启动该程序时,系统离开当前屏幕(这可能是“ABAP/4编辑器:

初始屏幕”),并如下所示转到输出屏幕:

输出屏幕与在程序属性中指定的程序标题有相同的名称(参见指定程序属性(页1–3))。

屏幕上的第一行包含列表表头。

默认情况下,该列表表头与程序标题相同。

但是,可以由实际程序外的程序标题单独维护列表表头。

详细信息,参见(使用文本摘要(页5–1))。

当前页号

(1)出现在右边。

列表表头后紧跟着一条水平线,然后显示输出。

可以选择“搜索”,以搜索特定模式。

在屏幕上,输出通常是左对齐的。

如果使用几个WRITE语句,输出字段就一个接一个显示,输出之间由列分开(如一个空格)。

如果当前行没有足够空间,则开始新行。

PROGRAMSAPMTEST.

TABLESSPFLI.

.............

WRITE:

'COMPANY:

',SPFLI-CARRID.

注意冒号和逗号的用法(参见语法结构(页2–3))。

该示例中的程序段向屏幕输出两个字段:

文字“COMPANY:

”和表格工作区SPFLI的组件CARRID:

COMPANY:

AA。

输出屏幕上的数据字段格式,依赖数据类型(参见预定义的基本数据类型(页3–3))。

予定义数据类型的输出格式

数据类型

输出长度

定位

C

字段长度

左对齐

D

8

左对齐

F

22

右对齐

I

11

右对齐

N

字段长度

左对齐

P

2*字段长度(+1)

右对齐

T

6

左对齐

X

2*字段长度

左对齐

数字数据类型F、I和P是右对齐的,左边用空格填充。

如果有足够的空间,也输出千位分隔符。

如果类型P字段包含小数位,则默认输出长度增加一位。

对数据类型D,日期的内部格式与输出格式不同。

当输出数据使用WRITE语句时,系统自动以用户主记录中指定的格式(例如,DD/MM/YYYY或MM/DD/YYYY),输出数据类型D。

PROGRAMSAPMTEST.

DATANUMBERTYPEPVALUE'-1234567.89'DECIMALS2.

WRITE:

'Number',NUMBER,'ispacked'.

输出如下:

Number1,234,567.89-ispacked

字段NUMBER总长为13,即,9位数字(包括小数点)、前导负号和作为分隔符的两个逗号。

因为类型P字段的字段长度为8,所以NUMBER字段的输出长度为2*8+1=17。

剩余的位置用四个空格填充。

这意味着,在文字‘Number’和数字自身之间有五个空格。

3在屏幕上定位WRITE输出

如下所示,通过制定字段名称前面的格式规范,可以在屏幕上定位WRITE语句的输出:

语法

WRITEAT[/][][()].

此处

_斜线‘/’表示新的一行

_是最长为三位数字的数字或变量,表示在屏幕上的位置

_是最长为三位数字的数字或变量,表示输出长度

如果格式规范只包含直接值(即,不是变量),可以忽略关键字AT。

WRITE'Firstline.'.

WRITE'Stillfirstline.'

WRITE/'Secondline.'

WRITE/13'Thirdline.'

这在屏幕上生成如下输出:

FirstLine.Stillfirstline.

Secondline.

Thirdline.

如果指定某一个位置,则无论在该位置是否有可用的空间,或写有其它字段,总是在该位置输出字段。

DATA:

LENTYPEIVALUE10,

POSTYPEIVALUE11,

TEXT(10)VALUE'1234567890'

WRITE'Thetext------------appearsinthetext.'.

WRITEATPOS(LEN)TEXT.

这在屏幕上生成如下输出:

Thetext-1234567890-appearsinthetext.

如果输出长度太短,则显示几个字符。

左边截断数字字段,并用星号(*)作前缀。

右边截断所有其它字段,但是没有给出该字段较短的指示。

DATA:

NUMBERTYPEIVALUE1234567890,

TEXT(10)VALUE'abcdefghij'.

WRITE:

(5)NUMBER,/(5)TEXT.

输出如下:

*7890

abcde

5格式化选项

对WRITE语句,可以使用不同的格式化选项。

语法

WRITE....<选项>.

所有数据类型的格式化选项

选项

用途

LEFT-JUSTIFIED

输出左对齐。

CENTERED

输出居中。

RIGHT-JUSTIFIED

输出右对齐。

UNDER

输出直接开始于字段下。

NO-GAP

忽略字段后的空格。

USINGEDITMASK

指定格式模板

USINGNOEDITMASK

撤消对ABAP/4词典中指定的格式模板的激活。

NO-ZERO

如果字段仅包含零,则用空格代替它们。

对类型C和N字段,将自动代替前导零。

数字字段的格式化选项

选项

用途

NO-SIGN

不输出前导符号。

DECIMALS

定义小数点后的数字位数。

EXPONENT

在类型F字段中,在中定义幂数。

ROUND

用10**(-r)乘类型P字段,然后取整。

CURRENCY

按表格TCURX中的货币格式化。

UNIT

按表格T006中为类型P字段所指定的单位固定小数位数。

日期字段的格式化选项

选项

用途

DD/MM/YY

用户主记录中定义的分隔符

MM/DD/YY

用户主记录中定义的分隔符

DD/MM/YYYY

用户主记录中定义的分隔符

MM/DD/YYYY

用户主记录中定义的分隔符

DDMMYY

无分隔符。

MMDDYY

无分隔符。

YYMMDD

无分隔符。

关于格式选项和这些选项内例外原则的详细信息,参见WRITE语句的关键字文档。

以下是格式选项的一些示例。

要获得更多的示例,参见章节创建列表。

在用户主记录中,定义了数字字段的小数点字符和千位分隔符(分号或逗号)。

ABAP/4代码

屏幕输出

DATA:

G(5)VALUE'Hello',

F(5)VALUE'Dolly'.

WRITE:

G,F.

WRITE:

/10G,

/FUNDERG.

WRITE:

/GNO-GAP,F.

HelloDolly

Hello

Dolly

HelloDolly

DATATIMETYPETVALUE'154633'.

WRITE:

TIME,

/(8)TIMEUSINGEDITMASK'__:

__:

__'.

154633

15:

46:

33

WRITE:

'000123',

/'000123'NO-ZERO.

000123

123

DATAFLOATTYPEFVALUE'123456789.0'.

WRITEFLOATEXPONENT3.

123456.789E+03

DATAPACKTYPEPVALUE'123.456'

DECIMALS3.

WRITEPACKDECIMALS2.

WRITE:

/PACKROUND-2,

/PACKROUND-1,

/PACKROUND1,

/PACKROUND2.

123.46

12,345.600

1,234.560

12.346

1.235

WRITE:

SY-DATUM,

/SY-DATUMYYMMDD.

06/27/1995

950627

除了上表中显示的格式化选项外,还可以用FORMAT语句的格式化选项。

这些选项允许指定输出的亮度和颜色。

详细信息,参见FORMAT语句。

7在屏幕上输出符号和图标

使用下列语法,可以在屏幕上输出符号和R/3图标:

语法

WRITEASSYMBOL.

WRITEASICON.

符号和图标的名称(<符号名>和<图标名>)是定义系统的常量,这些常量在包含程序(尖括号是名称的一部分)中指定。

这些包含程序也包含符号和图标的简短说明。

输出符号和图标最简单的方法是使用语句结构(参见通过语句结构使用WRITE(页i)中的示例)。

要使符号和图标对程序可用,必须在程序中输入恰当的包含程序或更易理解的包含程序

关于输入包含程序的详细信息,参见使用包含程序。

INCLUDE.

INCLUDE.

WRITE:

/'PhoneSymbol:

',SYM_PHONEASSYMBOL.

SKIP.

WRITE:

/'AlarmIcon:

',ICON_ALARMASICON.

输出如下:

上面两个INCLUDE语句可以用单个INCLUDE语句替代

INCLUDE.

8输出屏幕上的线和空行

用下列语法,可以在输出屏幕上生成水平线:

语法

ULINE[AT[/][][()]].

它等同于

WRITE[AT[/][][()]]SY-ULINE.

AT后的格式规范,与在在屏幕上定位WRITE输出(页3)中为WRITE语句说明的格式规范完全一样。

如果没有格式规范,系统则开始新的一行,并用水平线填充该行。

否则,只按指定输出水平线。

生成水平线的另一种方法,是在WRITE语句中键入恰当数量的连字符,如下所示:

WRITE[AT[/][][()]]'-----...'.

垂直线

用下列语法,可以在输出屏幕上生成垂直线:

语法

WRITE[AT[/][]]SY-VLINE.

WRITE[AT[/][]]'|'.

空行

用下列语法,可以在输出屏幕上生成空行:

语法

SKIP[].

该语句从当前行开始,在输出屏幕上生成个空行。

如果没有指定的值,就输出一个空行。

要将输出定位在屏幕的指定行上,请使用:

语法

SKIPTOLINE.

该语句允许将输出位置向上或向下移动。

要获得更多的信息和示例,参见创建列表。

9将字段内容作为复选框输出

使用下列语法,可以将字段的第一个字符,作为复选框输出到输出屏幕上:

语法

WRITEASCHECKBOX.

如果字段的第一个字符是一个“X”,就显示复选框已填充。

如果字段的第一个字符是SPACE,就显示复选框为空。

该语句创建的复选框,默认状态是可输入的。

就是说,用户可以通过单击鼠标来填充它们或使其为空。

如何使输出字段能输入或撤消输入,将在使字段接受输入下加以说明。

能输入字段在允许用户对话的交互式列表中是很重要的(参见交互列表)。

DATA:

FLAG1VALUE'',

FLAG2VALUE'X',

FLAG3(5)VALUE'Xenon'.

WRITE:

/'Flag1',FLAG1ASCHECKBOX,

/'Flag2',FLAG2ASCHECKBOX,

/'Flag3',FLAG3ASCHECKBOX.

输出列表如下:

对FLAG2和FLAG3,因为这些字段的第一个字符是“X”,所以填充复选框。

通过单击鼠标,用户可以改变复选框的内容。

9通过语句结构使用WRITE

R/3系统包含试验WRITE语句的所有选项和输出格式及将它们插入到程序中的有用工具。

要做到这一点,在ABAP/4-编辑器中选择“编辑->插入语句...”,然后在相关对话框中选择WRITE(参见插入已有关键字结构(页2–8))。

当用Enter确认选项后,看到如下屏幕:

在该屏幕上,可以

_通过在字段“字段”中输入内部字段的名称或文字,确定其输出格式。

然后通过选择“其它格式选项”,在该屏幕上或者在可访问的屏幕上选择格式选项。

_通过选择合适的字段,生成符号、图标、线段和复选框的WRITE语句。

_生成在ABAP/4-词典中定义的结构组件的WRITE语句。

这很有用,比如,在执行SELECT语句后(参见从数据库表读取数据)。

在屏幕“装配WRITE-语句”上,选择单选按钮“符号”和“显示”,随后将看到如下对话框:

在此,可以选择符号,例如SYM_FOLDER。

下一对话框在输出屏幕上显示相应的WRITE语句和结果输出。

同时显示注释,通知用户在程序中需要包含程序(参见在屏幕上输出符号和图标(页7))。

按下“继续”后,就会看到“装配WRITE语句”屏幕上的字段“符号”现在包含了一个值:

现在,如果选择“执行”,就会将下列文本插入到程序中:

WRITESYM_FOLDERASSYMBOL.

在“装配WRITE语句”屏幕上,选择单选按钮“结构”,并在恰当的输入字段中输入:

然后,选择“选择组件”。

在下一屏幕上,可以选择希望用WRITE语句输出的ABAP/4-词典结构SFLIGHT的组件,例如:

如果采用该选择,就会将下面的WRITE语句插入到程序中:

WRITE:

SFLIGHT-CARRID,

SFLIGHT-CONNID,

SFLIGHT-FLDATE,

SFLIGHT-PRICE,

SFLIGHT-PLANETYPE,

SFLIGHT-SEATSOCC.

展开阅读全文
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1