日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP Write 宝典

發(fā)布時間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP Write 宝典 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
列表是ABAP/4報表程序數(shù)據(jù)的輸出媒介。每個ABAP/4報表程序?qū)⑵漭敵鰯?shù)據(jù)傳遞到直接與該程序連接的列表中。每個程序最多生成21個列表:1個基本列表和20個輔助列表。

???將數(shù)據(jù)寫入列表的基本ABAP/4語句是WRITE、SKIP和ULINE輸出語句。

一、標(biāo)準(zhǔn)列表結(jié)構(gòu)

(1)標(biāo)準(zhǔn)頁眉:標(biāo)準(zhǔn)頁眉至少包括兩行標(biāo)準(zhǔn)標(biāo)題。標(biāo)準(zhǔn)標(biāo)題的首行包含列表表頭和頁號。第二行由水平線組成。執(zhí)行程序時,列表表頭存儲在系統(tǒng)字段SY-TITLE中。如果需要,可以在標(biāo)準(zhǔn)標(biāo)題中包括最多四行列頭和另一條水平線。

(2)標(biāo)準(zhǔn)頁

???輸出數(shù)據(jù)顯示在頁眉之下。標(biāo)準(zhǔn)列表包含一個動態(tài)長度的單頁(內(nèi)部限制60,000行)。輸出長度由當(dāng)前列表大小確定。輸出屏幕包括一個垂直滾動條,允許用戶滾動頁長超過窗口的列表。

?

(3)標(biāo)準(zhǔn)列表的寬度

????標(biāo)準(zhǔn)列表的寬度取決于執(zhí)行報表時的窗口寬度。如果用戶窗口小于或等于標(biāo)準(zhǔn)窗口大小,則標(biāo)準(zhǔn)頁寬應(yīng)符合標(biāo)準(zhǔn)窗口寬度。用戶可能必須滾動列表才能查看列表的所有部件。如果用戶窗口超過標(biāo)準(zhǔn)窗口寬度,則標(biāo)準(zhǔn)列表的寬度符合選定標(biāo)準(zhǔn)窗口的寬度。

?

?

二、修改列表和列標(biāo)題

(1)自定義列表

可以修改標(biāo)準(zhǔn)列表的結(jié)構(gòu)并創(chuàng)建單個結(jié)構(gòu)的列表。使用REPORT語句選項以及事件TOP-OF-PAGE和END-OF-PAGE。PROGRAM語句與REPORT語句等介并有相同的選項。如果列表包括幾頁,則可以分別定義每頁的結(jié)構(gòu)。

---單個頁眉:要分別定義頁眉的格式,必須在緊隨事件關(guān)鍵字TOP-OF-PAGE的處理塊中定義,

語法:

?TOP-OF-PAGE.

??? WRITE:....

TOP-OF-PAGE事件在系統(tǒng)開始處理列表新頁時出現(xiàn)。系統(tǒng)在輸出新頁首行之前處理TOP-OF-PAGE后面的語句。如果要取消標(biāo)準(zhǔn)頁眉,使用語法:REPORT <rep> NO STANDARD PAGEHEADING.使用該語句時,系統(tǒng)不在報表<rep>列表上顯示標(biāo)準(zhǔn)頁眉。

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING.
TOP-OF-PAGE.
WRITE:?SY-TITLE,?40?'Page',?SY-PAGNO.
ULINE.
WRITE:?/?'SAP?AG',?29?'Walldorf,?',SY-DATUM,
???????/?'Neurottstr.?16',?/?'69190?Walldorf/Baden'.
ULINE.
START-OF-SELECTION.
DO?5?TIMES.
??WRITE?/?SY-INDEX.
ENDDO.

報表程序不使用標(biāo)準(zhǔn)頁眉,而是使用 TOP-OF-PAGE 之后的自定義頁眉。要顯式結(jié)束TOP-OF-PAGE處理塊,必須指定事件關(guān)鍵字 START-OF-SELECTION。

?

(2)確定列表寬度

????要確定輸出列表的寬度,使用REPORT語句的LINE-SIZE選項。語法: REPORT<rep> LINE-SIZE<width>.該語句根據(jù)<width>字符確定報表<rep>輸出列表的寬度。如果將<width>設(shè)置為0,則系統(tǒng)使用標(biāo)準(zhǔn)列表的寬度。一行最多可包含255個字符。如果要打印列表,大多數(shù)據(jù)打印機(jī)不能打印超過132個字符的列表。創(chuàng)建列表時,系統(tǒng)字段SY-LINSZ包含當(dāng)前行寬。要將列表寬度調(diào)整為當(dāng)前窗口寬度,使用ULINE語句(不帶AT選項)創(chuàng)建的水平線自動適配自定義列表寬度。

?REPORT??ZJESSE02?LINE-SIZE?60.?
WRITE:??'SY-LINSZ:',?SY-LINSZ.?
ULINE.?
DO?20?TIMES.?
??WRITE?SY-INDEX.?
ENDDO.

?

(3)確定頁長

? 要確定輸出列表的頁長,使用REPORT語句的LINE-COUNT選項。REPORT<rep> LINE-COUNT<length>[(<n>)].該語句用<length>行確定報表的頁長。如果指定選項號<n>,則系統(tǒng)為頁腳保留<n>行頁長。并不將這些頁腳行填寫到END-OF-PAGE事件中,而是作為空行顯示。如果設(shè)置為0,則系統(tǒng)使用標(biāo)準(zhǔn)頁長。創(chuàng)建列表時,系統(tǒng)字段SY-LINCT包含每頁的當(dāng)前行數(shù)。

?REPORT??ZJESSE02?LINE-SIZE?40?LINE-COUNT?4.?
WRITE:??'SY-LINCT:',?SY-LINCT.?
SKIP.?
DO?6?TIMES.?
?WRITE?/?SY-INDEX.?
ENDDO.

該程序?qū)㈨撻L確定為四行。使用標(biāo)準(zhǔn)頁眉。假定標(biāo)準(zhǔn)頁眉 包括兩行列表表頭:

JESSE的ABAP程序???????????????????????1

SY-LINCT:????4


JESSE的ABAP程序???????????????????????2

????????1
????????2

JESSE的ABAP程序???????????????????????3

????????3
????????4

JESSE的ABAP程序???????????????????????4

????????5
????????6

?

(4)定義頁腳

要定義頁腳,使用END-OF-PAGE事件。在處理列表頁時,如果系統(tǒng)到達(dá)頁腳保留行,或者如果RESERVE語句觸發(fā)分布則該事件發(fā)生。在緊接著END-OF-PAGE事件關(guān)鍵字的處理塊中填充頁腳的行:

語法

? END-OF-PAGE.

???WRITE:...

?如果為REPORT語句的LINE-COUNT選項中的腳注保留行,則系統(tǒng)只處理緊接著END-OF-PAGE的處理塊。

?REPORT??ZJESSE02?LINE-SIZE?40?LINE-COUNT?6(2)?
????????????????NO?STANDARD?PAGE?HEADING.?
TOP-OF-PAGE.?
WRITE:?'Page?with?Header?and?Footer'.?
ULINE?AT?/(27).?
END-OF-PAGE.?
ULINE.?
WRITE:?/30?'Page',?SY-PAGNO.?
START-OF-SELECTION.?
DO?6?TIMES.?
??WRITE?/?SY-INDEX.?
ENDDO.

該程序包括三個處理塊。關(guān)閉標(biāo)準(zhǔn)頁眉。將頁長設(shè)置為六行,其中兩行留作頁腳。列表包括三頁,每頁六行。每頁由自定義的兩行頁眉、兩行實(shí)際列表和兩行頁腳組成。頁腳中顯示的當(dāng)前頁號來自系統(tǒng)字段SY-PAGNO 。運(yùn)行結(jié)果如下:

Page with Header and Footer

????????1
????????2

????????????????????????????Page????1

Page with Header and Footer

????????3
????????4

????????????????????????????Page????2

Page with Header and Footer

????????5
????????6

????????????????????????????Page????3

?

?

多頁列表

如果在報表中寫入列表輸出頁的行數(shù)超過在REPORT語句LINE-COUNT選項中定義的行數(shù),則系統(tǒng)自動創(chuàng)建新頁。每個新頁都包含為報表定義的頁眉和頁腳(如果有的話)。除自動分布外,可以使用NEW-PAGE和RESERVE語句顯式地編碼分布。NEW-PAGE語句的選項允許分別設(shè)置每頁格式。也需要NEW-PAGE語句在程序內(nèi)打印列表。

?

無條件分頁

?要在頁處理期間觸發(fā)分頁,請使用NEW-PAGE.

?REPORT??ZJESSE02?LINE-SIZE?40.?
TOP-OF-PAGE.?
WRITE:?'TOP-OF-PAGE',?SY-PAGNO.?
ULINE?AT?/(17).?
START-OF-SELECTION.?
DO?2?TIMES.?
??WRITE?/?'Loop:'.?
??DO?3?TIMES.?
????WRITE?/?SY-INDEX.?
??ENDDO.?
??NEW-PAGE.?
ENDDO.?

?

條件分頁

RESERVE <n> LINES.

?REPORT??ZJESSE02?LINE-SIZE?40?LINE-COUNT?8(2).?
END-OF-PAGE.?
ULINE.?
START-OF-SELECTION.?
DO?4?TIMES.?
??WRITE?/?SY-INDEX.?
ENDDO.?
DO?2?TIMES.?
??WRITE?/?SY-INDEX.?
ENDDO.?
RESERVE?3?LINES.?
WRITE:?/?'LINE?1',?
???????/?'LINE?2',?
???????/?'LINE?3'.

該樣本程序標(biāo)準(zhǔn)頁眉的列表頭定義為“標(biāo)準(zhǔn)頁眉”。REPORT 語句將頁長確定為八行 ,兩行用于標(biāo)準(zhǔn)頁眉,另外兩行為頁腳保留。頁腳包括水平行和空行 。因此,輸出的實(shí)際列表,每頁留下四行。第一個 DO 循環(huán)填充四行,然后發(fā)生END-OF-PAGE 事件,其后系統(tǒng)自動開始新頁。在第二個 DO 循環(huán)之后, 因為頁上剩余的自由行 數(shù)少于三, 因此 RESERVE語句觸發(fā) END-OF-PAGE 事件和分頁 。

?

單頁的標(biāo)準(zhǔn)頁眉

標(biāo)準(zhǔn)頁眉包括列表和列標(biāo)題。

NEW-PAGE [NO-TITLE|WITH-TITLE] [NO-HEADING|WITH-HEADING].

使用NO-TITLE或WITH-TITLE選項取消或在以后所有頁上顯示標(biāo)準(zhǔn)表頭。基本列表的缺省值為WITH-TITLE,輔助列表為NO-TITLE.使用NO-HEADING或WITH-HEADING選項取消或在以后所有頁上顯示列標(biāo)題。基本列表的缺省值為WITH-HEADING,輔助列表為NO-HEADING.即使使用REPORT語句的NOSTANDARD PAGEHEADING選項取消標(biāo)準(zhǔn)頁眉,也能使用WITH-TITLE和WITH-HEADING激活單個組件的顯示。

?REPORT??ZJESSE02?LINE-SIZE?40.?
WRITE:?'Page',?SY-PAGNO.?
NEW-PAGE?NO-TITLE.?
WRITE:?'Page',?SY-PAGNO.?
NEW-PAGE?NO-HEADING.?
WRITE:?'Page',?SY-PAGNO.?
NEW-PAGE?WITH-TITLE.?
WRITE:?'Page',?SY-PAGNO.?
NEW-PAGE?WITH-HEADING.?
WRITE:?'Page',?SY-PAGNO.

該程序創(chuàng)建五頁,分別帶有不同頁眉。將列表表頭標(biāo)題文本元素定義為“標(biāo)準(zhǔn)頁眉”,列標(biāo)題定義為“列”。?
第 1 和 5 頁包含完整的標(biāo)準(zhǔn)頁眉 。第 2 頁沒有列表表頭。在第 3 頁上,取消整個頁眉。 在第 4 頁上,省略列標(biāo)題。

?

單頁頁長

要分別確定每頁的頁長,請使用NEW-PAGE語句:

NEW-PAGE LINE-COUNT<length>."該語句將后續(xù)的頁長確定為<length>。可以是變量。如果設(shè)置為0,則系統(tǒng)使用標(biāo)準(zhǔn)頁長。頁眉是頁的部分因此也是頁長的部分。要將頁長適配當(dāng)前窗口長度,將值設(shè)置為SY-SROWS.

?

列表級的頁寬

NEW-PAGE LINE-SIZE <width>.從新頁開始的所有列表級寬度都為<width>,而不是REPORT語句中定義的寬度。

?

?

通過窗口滾動窗口

SCROLL LIST FORWARD|BACKWRAD[INDEX<idx>].不帶INDEX選項時,該語句以當(dāng)前窗口大小向前或向后滾動當(dāng)前列表。使用INDEX選項時,系統(tǒng)以列表級<idx>滾動列表。

?REPORT??ZJESSE02??NO?STANDARD?PAGE?HEADING?LINE-SIZE?40.?
TOP-OF-PAGE.?
WRITE:?'Top?of?Page',?SY-PAGNO,?'SY-SROWS:',?SY-SROWS.?
ULINE.?
START-OF-SELECTION.?
DO?100?TIMES.?
??WRITE?/?SY-INDEX.?
ENDDO.?
DO?3?TIMES.?
??SCROLL?LIST?FORWARD.?
ENDDO.?

?

按頁滾動

? 要按頁滾動列表,即按頁長垂直滾動列表,SCROLL語句提供下列選項:

SCROLL LIST TO FIRST PAGE|LASTPAGE|PAGE<pag>[INDEX<idx>][LINE<lin>].

不用INDEX選項,語句將當(dāng)前列表滾動到首頁、尾頁或<pag>頁。使用INDEX選項,則系統(tǒng)滾動列表級<idx>的列表。

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?
???????????????LINE-SIZE?40?LINE-COUNT?8(2).?
DATA:?PAG?TYPE?I?VALUE?15,?
??????LIN?TYPE?I?VALUE?4.?
TOP-OF-PAGE.?
WRITE:?'Top?of?Page',?SY-PAGNO.?
ULINE.?
END-OF-PAGE.?
ULINE.?
WRITE:?'End?of?Page',?SY-PAGNO.?
START-OF-SELECTION.?
DO?100?TIMES.?
??DO?4?TIMES.?
????WRITE?/?SY-INDEX.?
??ENDDO.?
ENDDO.?
SCROLL?LIST?TO?PAGE?PAG?LINE?LIN.?

列表從第 15 頁開始顯示 。由于LINE 選項,實(shí)際列表的前三行滾動到頁眉以下。

?

滾動到列表的頁邊緣

語法:

SCROLL LIST LEFT|RIGHT [INDEX<idx>].

?

按列滾動

SCROLL LIST TO COLUMN <col>[INDEX<idx>]

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?200.?
TOP-OF-PAGE.?
WRITE:?AT?161?'Top?of?Page',?SY-PAGNO,??
????????????????'SY-SCOLS:',?SY-SCOLS.?
ULINE.?
START-OF-SELECTION.?
DO?200?TIMES.?
??WRITE?SY-INDEX.?
ENDDO.?
SCROLL?LIST?TO?COLUMN?178.?

?

?

三、列表頁面設(shè)置

定位輸出

? SY-COLNO用于當(dāng)前列???SY-LINNO?? 用于當(dāng)前行

?

(1)絕對定位:

POSITION <col>."水平定位該語句將水平輸出位置和SY-COLNO系統(tǒng)字段設(shè)置為<col>.

SKIP TO LINE<n>."垂直定位該語句將垂直輸出位置和SY-LINNO系統(tǒng)字段設(shè)置為<lin>.

BACK. "將輸出定位到整個頁眉之后的第一行

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?60.?
DATA:?X(3),?Y(3).?
X?=?SY-COLNO.?Y?=?SY-LINNO.?
TOP-OF-PAGE.?
WRITE:?'Position?of?Header:?',?X,?Y.?
ULINE.?
START-OF-SELECTION.?
SKIP?TO?LINE?10.?
POSITION?20.?
X?=?SY-COLNO.?Y?=?SY-LINNO.?
WRITE:?'*?<-?Position',?X,?Y.?
SKIP?TO?LINE?12.?
ULINE?AT?20(20).?
BACK.?
X?=?SY-COLNO.?Y?=?SY-LINNO.?
WRITE:?'Position?after?BACK:',?X,?Y.

?

(2)相對定位

產(chǎn)生換行,要生產(chǎn)換行,在WRITE,ULINE或NEW-LINE語句的AT選項中使用反斜杠。

NEW-LINE "該語句將輸出定位在新行中,將SY-COLNO設(shè)置為1并且將SY-LINNO加1.

WRITE <f> UNDER<g>."系統(tǒng)從開始輸出字段<g>的同一列中開始輸出<f>。該語句不限于當(dāng)前頁。

RESERVE. ... BACK. "如果BACK緊隨RESERVE,則后續(xù)輸出出現(xiàn)在RESERVE之后的第一行中。

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?40.?
DATA?X?TYPE?I.?
WRITE?'Some?numbers:'?NO-GAP.?
X?=?SY-COLNO.?
ULINE?AT?/(X).?
RESERVE?5?LINES.?
DO?5?TIMES.?
??WRITE?/?SY-INDEX.?
ENDDO.?
X?=?SY-COLNO.?
BACK.?
WRITE?AT?X?'???<-?Start?of?Loop'.?

輸出前兩行之后,RESERVE 語句用于將后續(xù)五行定義為塊。緊隨 BACK 之后的輸出寫入到塊的第一行。請注意,如何使用SY-COLNO 系統(tǒng)字段給第一行加下劃線以及如何定位最后的WRITE輸出。

輸出如下:

Some numbers:

????????1????<- Start of Loop
????????2
????????3
????????4
????????5

?

格式輸出:

FORMAT <option1>[ON|OFF]<option2> [ON|OFF] ....

?

使字段可接受輸入

FORMAT INPUT [ON|OFF]. "要在運(yùn)行時將輸出字段設(shè)置為“準(zhǔn)備輸入”。

?REPORT??ZJESSE02.
WRITE???'Please?fill?in?your?name?before?printing:'.?
WRITE?/?'???Enter?name?here????'?INPUT?ON.?
ULINE.?
WRITE?'You?can?overwrite?the?following?line:'.?
FORMAT?INPUT?ON?INTENSIFIED?OFF.?
ULINE.?
FORMAT?INPUT?OFF?INTENSIFIED?ON.

?

將字段輸出為熱點(diǎn)

FORMAT HOTSPOT [ON|OFF]

?REPORT??ZJESSE02.
INCLUDE?<LIST>.?
START-OF-SELECTION.?
WRITE?'Now?comes?a'.?
FORMAT?HOTSPOT?ON?COLOR?5?INVERSE?ON.?
WRITE?'HOTSPOT'.?
FORMAT?HOTSPOT?OFF?COLOR?OFF.?
AT?LINE-SELECTION.?
WRITE?/?'New?list?AT-LINE-SELECTION'.?
SKIP.?
WRITE?'This?is?also?a?hotspot:'.?
WRITE?ICON_LIST?AS?ICON?HOTSPOT.

在本程序中 ,首行的 START-OF-SELECTION事件部分格式化為熱點(diǎn)。標(biāo)準(zhǔn)頁眉定義為文本元素。如果用戶將鼠標(biāo)移動到輸出的 HOTSPOT 單詞上,則鼠標(biāo)指針更改為手形。單擊觸發(fā)事件AT-LINE-SELECTION。 在該事件中 ,程序創(chuàng)建包含其他熱點(diǎn)的輔助列表。

?

特殊輸出格式

SET COUNTRY <c>.

?REPORT??ZJESSE02?LINE-SIZE?40.?
DATA:?NUM?TYPE?P?DECIMALS?3?VALUE?'123456.789'.?
ULINE.?
WRITE:?/?'INITIAL:'.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?
SET?COUNTRY?'US'.?
WRITE:?/?'US,??????SY-SUBRC:',?SY-SUBRC.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?
SET?COUNTRY?'GB'.?
WRITE:?/?'GB,??????SY-SUBRC:',?SY-SUBRC.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?
SET?COUNTRY?'DE'.?
WRITE:?/?'DE,??????SY-SUBRC:',?SY-SUBRC.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?
SET?COUNTRY?'XYZ'.?
WRITE:?/?'XYZ,?????SY-SUBRC:',?SY-SUBRC.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?
SET?COUNTRY?SPACE.?
WRITE:?/?'SPACE,???SY-SUBRC:',?SY-SUBRC.?
WRITE:?/?NUM,?SY-DATUM.?
ULINE.?

運(yùn)行結(jié)果如下:

JESSE的ABAP程序???????????????????????1


INITIAL:
????123,456.789? 2011-07-16

US,?????SY-SUBRC:????0
????123,456.789? 07/16/2011

GB,?????SY-SUBRC:????0
????123,456.789? 16.07.2011

DE,?????SY-SUBRC:????0
????123.456,789? 16.07.2011

XYZ,????SY-SUBRC:????4
????123,456.789? 07/16/2011

SPACE,??SY-SUBRC:????0
????123,456.789? 2011-07-16

?

貨幣特有的輸出格式

WRITE <f> CURRENCY<c>.

?REPORT??ZJESSE02?LINE-SIZE?40.?
DATA:?NUM1?TYPE?P??DECIMALS?4?VALUE?'12.3456',?
??????NUM2?TYPE?P?????????????VALUE?'123456'.?
SET?COUNTRY?'US'.?
WRITE:?'USD',?NUM1?CURRENCY?'USD',?NUM2?CURRENCY?'USD',?
?????/?'BEF',?NUM1?CURRENCY?'BEF',?NUM2?CURRENCY?'BEF',?
?????/?'KUD',?NUM1?CURRENCY?'KUD',?NUM2?CURRENCY?'KUD'.?

JESSE的ABAP程序???????????????????????1

USD????????1,234.56????????1,234.56
BEF?????????123,456?????????123,456
KUD?????????123.456?????????123.456

?

單位特有輸出格式

WRITE <f> UNIT<u>.

?REPORT??ZJESSE02?LINE-SIZE?40.?
DATA:?NUM1?TYPE?P?DECIMALS?1?VALUE?1,?
??????NUM2?TYPE?P?DECIMALS?4?VALUE?'2.5'.?
SET?COUNTRY?'US'.?
WRITE:?'KG',?NUM1?UNIT?'KG',?NUM2?UNIT?'KG',?
?????/?'PC',?NUM1?UNIT?'PC',?NUM2?UNIT?'PC'.?

JESSE的ABAP程序???????????????????????1

KG???????????????1???????????2.5000
PC?????????????1.0???????????2.5000

?

?

畫線、框架和網(wǎng)格

直接:

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING.?
SKIP?TO?LINE?3.?
ULINE?AT?2(1).?
WRITE?4??'-'.?
WRITE?6??'--'.?
WRITE?9??'---'.?
ULINE?AT?12(4).?
SKIP?TO?LINE?1.?
POSITION?18.?
WRITE?'|'.?
SKIP?TO?LINE?3.?
DO?4?TIMES.?
??NEW-LINE.?
??POSITION?18.?
??WRITE?'|'.?
ENDDO.?

第一條 ULINE 語句創(chuàng)建一列的水平線 。第一條 WRITE 語句的連字符顯示為正常輸出字段。第二條 WRITE語句的連字符創(chuàng)建兩列寬的直線。下面三個連字符與 ULINE 語句一起創(chuàng)建七列寬的直線。輸出的第一個 '|'字符在第一行中創(chuàng)建垂直線。其他四個 '|' 字符創(chuàng)建 條線段長的直線,從第 3 行開始。

?

?

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING.?
WRITE???'--'.?
WRITE?/?'|'.?
SKIP?TO?LINE?1.?
ULINE?AT?5(6).?
NEW-LINE.?
WRITE?10?'|'.?
SKIP?TO?LINE?4.?
WRITE:?'|????????|',?
?????/?'----------'.?

?

T型交叉

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING.?
WRITE?'---'.?
WRITE?/2?'|?????|'.?
ULINE?AT?/5(8).?
SKIP?TO?LINE?4.?
DO?3?TIMES.?
??WRITE?'|'.?
??NEW-LINE.?
ENDDO.?
SKIP?TO?LINE?5.?
WRITE?'---------'.?
SKIP?TO?LINE?4.?
ULINE?AT?6(10).?
WRITE?15?'|'?.

?

十字交叉

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING.?
WRITE???'???|'.?
WRITE??/'-------'.?
WRITE??/'???|'.?
SKIP?TO?LINE?1.?
DO?3?TIMES.?
??WRITE?12?SY-VLINE.?
??NEW-LINE.?
ENDDO.?
SKIP?TO?LINE?2.?
ULINE?AT?12(1).?

?

特殊線

?REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?60.?
INCLUDE?<LINE>.?
DATA:?X0?TYPE?I?VALUE?10,?
??????Y0?TYPE?I?VALUE?10,?
??????N?TYPE?I?VALUE?16,?
??????I?TYPE?I?VALUE?0,?
??????X?TYPE?I,?Y?TYPE?I.?
X?=?X0.?Y?=?Y0.?PERFORM?POS.?
WHILE?I?LE?N.?
??WRITE?LINE_BOTTOM_LEFT_CORNER?AS?LINE.?
??X?=?X?+?1.?PERFORM?POS.?
??ULINE?AT?X(I).?
??X?=?X?+?I.?PERFORM?POS.?
??WRITE?LINE_BOTTOM_RIGHT_CORNER?AS?LINE.?
??Y?=?Y?-?1.?PERFORM?POS.?
??DO?I?TIMES.?
????WRITE?'|'.?
????Y?=?Y?-?1.?PERFORM?POS.?
?????ENDDO.?
??WRITE?LINE_TOP_RIGHT_CORNER?AS?LINE.?
??I?=?I?+?1.?
??X?=?X?-?I.?PERFORM?POS.?
??ULINE?AT?X(I).?
??X?=?X?-?1.?PERFORM?POS.?
??WRITE?LINE_TOP_LEFT_CORNER?AS?LINE.?
??Y?=?Y?+?1.?PERFORM?POS.?
??DO?I?TIMES.?
????WRITE?'|'.?
????Y?=?Y?+?1.?PERFORM?POS.?
??ENDDO.?
??I?=?I?+?1.?
ENDWHILE.?
FORM?POS.?
??SKIP?TO?LINE?Y.?
??POSITION?X.?
ENDFORM.?

運(yùn)行結(jié)果如下所示:



?

?

編程框架

可以使用ABAP/4中可用的線類型編程框架。下面的樣本程序定義宏WRITE_FRAME,可以取代WRITE<f>語句。系統(tǒng)在WRITE_FRAME語句指定的字段<f>周圍畫框架,該框架字段動態(tài)適配該字段的長度。

? REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?60.?

DATA:?X?TYPE?I,?Y?TYPE?I,?L?TYPE?I.?
DEFINE?WRITE_FRAME.?
??X?=?SY-COLNO.?Y?=?SY-LINNO.?
??WRITE:?'|'?NO-GAP,?&1?NO-GAP,?'|'?NO-GAP.?
??L?=?SY-COLNO?-?X.?
??Y?=?Y?-?1.?SKIP?TO?LINE?Y.?POSITION?X.?
??ULINE?AT?X(L).?
??Y?=?Y?+?2.?SKIP?TO?LINE?Y.?POSITION?X.?
??ULINE?AT?X(L).??
??Y?=?Y?-?1.?X?=?SY-COLNO.?SKIP?TO?LINE?Y.?POSITION?X.?
END-OF-DEFINITION.?
SKIP.?
WRITE???????'Demonstrating'.?
WRITE_FRAME?'dynamic?frames'.?
WRITE???????'in'.?
WRITE_FRAME?'ABAP/4'.?
WRITE???????'output?lists.'.

運(yùn)行結(jié)果:



編程網(wǎng)絡(luò)

? REPORT??ZJESSE02?NO?STANDARD?PAGE?HEADING?LINE-SIZE?60.?

TABLES?SPFLI.?
DATA:??X?TYPE?I,?Y?TYPE?I,?L?TYPE?I.?
TOP-OF-PAGE.?
WRITE?3?'List?of?Flights?in?a?Dynamic?Grid'??
?????????COLOR?COL_HEADING.?
ULINE.?
START-OF-SELECTION.?
DEFINE?NEW_GRID.?
??Y?=?SY-LINNO.?Y?=?Y?+?2.?SKIP?TO?LINE?Y.?
??X?=?SY-COLNO.?POSITION?X.?WRITE?'|'.?
END-OF-DEFINITION.?
DEFINE?WRITE_GRID.?
??X?=?SY-COLNO.?Y?=?SY-LINNO.?POSITION?X.?
??WRITE:??&1,?'|'.?
??L?=?SY-COLNO?-?X?+?1.?
??X?=?X?-?2.?Y?=?Y?+?1.?SKIP?TO?LINE?Y.?POSITION?X.?
??ULINE?AT?X(L).?
??Y?=?Y?-?1.?X?=?SY-COLNO.?SKIP?TO?LINE?Y.?POSITION?X.?
END-OF-DEFINITION.?
GET?SPFLI.?
NEW_GRID.?
WRITE_GRID:?SPFLI-CARRID,?
????????????SPFLI-CONNID,?
????????????SPFLI-CITYFROM,?
????????????SPFLI-CITYTO.?

運(yùn)行結(jié)果:


與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的ABAP Write 宝典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产另类自拍 | jizz中国女人高潮 | 亚洲一区二区不卡在线观看 | av调教| 欧美视频一区二区三区四区在线观看 | 中文字幕视频一区 | 嫩草嫩草嫩草嫩草 | 五月天视频网 | 尤物国产 | 中文字幕一区二区三区5566 | 草草影院欧美 | 肉丝美足丝袜一区二区三区四 | 六月综合网 | 老牛影视一区二区三区 | 国产精品一区在线免费观看 | 亚洲精品20p| 朋友的姐姐2在线观看 | 欧美日韩精品中文字幕 | 亚洲精品9999 | 污污视频免费看 | 欧美亚洲一区二区在线观看 | 91视频最新入口 | 青青艹在线观看 | 一级一级黄色片 | 欧美视频在线一区二区三区 | 国产日韩一区二区三区在线观看 | 亚洲午夜精品久久久 | 日本中文字幕在线免费观看 | 三级黄色片免费观看 | 日批视频网站 | 欧美视频性 | 久久五月天av | 欧美三区 | 国产精品永久免费视频 | 亚洲精品电影在线 | 亚洲国产综合av | 嫩草午夜少妇在线影视 | 91在线免费看片 | 夜夜躁狠狠躁日日躁av | 国产在线视频自拍 | 日本高清不卡二区 | 美女免费黄视频 | 亚洲欧洲免费视频 | www.av网址| 北条麻妃一区二区三区四区五区 | 久久久久久久美女 | 欧美日本另类 | 久久视频一区二区 | 亚洲狼人av | av黄色一级片 | 99久久久久久久久 | 欧美a√在线 | 中文字幕高潮 | 女人的天堂网站 | 国产情侣第一页 | 亚洲精品国产一区二区 | 国产黑丝精品 | 日韩欧美精品在线视频 | 少妇高潮一区二区三区99 | 国产乱淫av片免费 | 精品亚洲一区二区 | 欧美日韩国产三级 | 男女羞羞动态图 | 欧美激情三区 | 精品国产一二三区 | 禁漫天堂黄漫画无遮挡观看 | 久久系列| 欧美成年人视频 | 91视频免费播放 | 黄色99 | 亚洲精品久久久久久久久久久久久 | 免费一级片视频 | 特级黄色大片 | 国产在线精品一区二区三区 | 影音先锋欧美资源 | 自拍偷拍第五页 | 神马伦理影视 | 久久久久麻豆v国产精华液好用吗 | www黄色av| 国产成人免费视频网站 | 亚洲在线观看免费 | 国产经典一区二区三区 | 亚洲资源站 | 搞黄网站在线观看 | 日韩精品资源 | 奇米狠狠777 | 在线免费观看黄色av | 免费日韩在线 | 欧美色图亚洲自拍 | 最近2019中文字幕大全第二页 | 秋霞在线视频观看 | 韩国三级在线播放 | a级一级黄色片 | 欧美在线中文字幕 | 国产女人18毛片水真多18精品 | 中文字幕超碰在线 | 亚洲乱码一区二区三区在线观看 | 国产婷婷在线视频 | 美女av网|