第004章将数据输出到屏幕文档格式.docx

上传人:b****6 文档编号:20089482 上传时间: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

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

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

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

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

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

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

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

当前页号

(1)出现在右边。

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

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

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

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

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

PROGRAMSAPMTEST.

TABLESSPFLI.

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

WRITE:

'

COMPANY:

SPFLI-CARRID.

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

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

文字“COMPANY:

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

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。

DATANUMBERTYPEPVALUE'

-1234567.89'

DECIMALS2.

Number'

NUMBER,'

ispacked'

输出如下:

Number1,234,567.89-ispacked

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

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

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

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

3在屏幕上定位WRITE输出

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

WRITEAT[/][<

pos>

][(<

len>

)]<

此处

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

_<

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

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

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

Firstline.'

Stillfirstline.'

WRITE/'

Secondline.'

WRITE/13'

Thirdline.'

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

FirstLine.Stillfirstline.

Secondline.

Thirdline.

如果指定某一个位置<

,则无论在该位置是否有可用的空间,或写有其它字段,总是在该位置输出字段。

DATA:

LENTYPEIVALUE10,

POSTYPEIVALUE11,

TEXT(10)VALUE'

1234567890'

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

WRITEATPOS(LEN)TEXT.

Thetext-1234567890-appearsinthetext.

如果输出长度<

太短,则显示几个字符。

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

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

NUMBERTYPEIVALUE1234567890,

abcdefghij'

.

(5)NUMBER,/(5)TEXT.

*7890

abcde

5格式化选项

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

WRITE....<

<

选项>

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

选项

用途

LEFT-JUSTIFIED

输出左对齐。

CENTERED

输出居中。

RIGHT-JUSTIFIED

输出右对齐。

UNDER<

g>

输出直接开始于字段<

下。

NO-GAP

忽略字段<

后的空格。

USINGEDITMASK<

m>

指定格式模板<

USINGNOEDITMASK

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

NO-ZERO

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

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

数字字段的格式化选项

NO-SIGN

不输出前导符号。

DECIMALS<

d>

<

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

EXPONENT<

e>

在类型F字段中,在<

中定义幂数。

ROUND<

r>

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

CURRENCY<

c>

按表格TCURX中的货币<

格式化。

UNIT<

u>

按表格T006中为类型P字段所指定的单位<

固定小数位数。

日期字段的格式化选项

DD/MM/YY

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

MM/DD/YY

DD/MM/YYYY

MM/DD/YYYY

DDMMYY

无分隔符。

MMDDYY

YYMMDD

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

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

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

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

ABAP/4代码

屏幕输出

G(5)VALUE'

Hello'

F(5)VALUE'

Dolly'

G,F.

/10G,

/FUNDERG.

/GNO-GAP,F.

HelloDolly

Hello

Dolly

HelloDolly

DATATIMETYPETVALUE'

154633'

TIME,

/(8)TIMEUSINGEDITMASK'

__:

__'

154633

15:

46:

33

000123'

/'

NO-ZERO.

000123

123

DATAFLOATTYPEFVALUE'

123456789.0'

WRITEFLOATEXPONENT3.

123456.789E+03

DATAPACKTYPEPVALUE'

123.456'

DECIMALS3.

WRITEPACKDECIMALS2.

/PACKROUND-2,

/PACKROUND-1,

/PACKROUND1,

/PACKROUND2.

123.46

12,345.600

1,234.560

12.346

1.235

SY-DATUM,

/SY-DATUMYYMMDD.

06/27/1995

950627

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

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

详细信息,参见FORMAT语句。

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

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

symbol-name>

ASSYMBOL.

icon-name>

ASICON.

符号和图标的名称(<

符号名>

和<

图标名>

)是定义系统的常量,这些常量在包含程序<

SYMBOL>

ICON>

(尖括号是名称的一部分)中指定。

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

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

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

LIST>

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

INCLUDE<

PhoneSymbol:

SYM_PHONEASSYMBOL.

SKIP.

AlarmIcon:

ICON_ALARMASICON.

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

8输出屏幕上的线和空行

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

ULINE[AT[/][<

)]].

它等同于

WRITE[AT[/][<

)]]SY-ULINE.

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

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

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

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

)]]'

-----...'

垂直线

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

]]SY-VLINE.

]]'

|'

空行

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

SKIP[<

n>

].

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

个空行。

如果没有指定<

的值,就输出一个空行。

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

SKIPTOLINE<

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

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

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

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

ASCHECKBOX.

如果字段<

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

如果字段<

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

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

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

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

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

FLAG1VALUE'

FLAG2VALUE'

X'

FLAG3(5)VALUE'

Xenon'

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语句插入到程序中:

SFLIGHT-CARRID,

SFLIGHT-CONNID,

SFLIGHT-FLDATE,

SFLIGHT-PRICE,

SFLIGHT-PLANETYPE,

SFLIGHT-SEATSOCC.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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