第106章創(chuàng)建列表_第1頁(yè)
第106章創(chuàng)建列表_第2頁(yè)
第106章創(chuàng)建列表_第3頁(yè)
第106章創(chuàng)建列表_第4頁(yè)
第106章創(chuàng)建列表_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第六章 1創(chuàng)建列表概覽內(nèi)容標(biāo)準(zhǔn)列表標(biāo)準(zhǔn)列表示 例標(biāo)準(zhǔn)列表結(jié) 構(gòu)標(biāo)準(zhǔn)列表的 用戶(hù)界面自定義列表單個(gè)頁(yè)眉確定列表寬 度確定頁(yè)長(zhǎng)定義頁(yè)腳多頁(yè)列表編程分頁(yè)單頁(yè)的標(biāo)準(zhǔn) 頁(yè)眉單頁(yè)頁(yè)長(zhǎng)列表級(jí)的頁(yè) 寬在程序之內(nèi) 滾動(dòng)列表頁(yè)面設(shè) 置定位輸出格式輸出特殊輸出格 式創(chuàng)建空行畫(huà)線(xiàn)、框架 和網(wǎng)格確定頁(yè)的哪 一部分可以 水平滾動(dòng)列表是 ABAP/4 報(bào)表程序數(shù) 據(jù)的輸出媒 介。每個(gè) ABAP/4 報(bào)表程序?qū)?其輸出數(shù)據(jù) 傳遞到直接 與該程序連 接的列表中 。每個(gè)程序 最多生成 21 個(gè)列表: 1 個(gè)基本列表 和 20 個(gè)輔助列表 。本節(jié)對(duì)創(chuàng) 建列表作一 般說(shuō)明。也 就是說(shuō),此 處描述的大 部分語(yǔ)句適 用于基本列 表和輔助

2、列 表。缺省情 況下,系統(tǒng) 將報(bào)表的輸 出傳遞到基 本列表。大 多數(shù)情況下 ,報(bào)表僅有 基本列表。 因此,本節(jié) 中示例主要 處理基本列 表。關(guān)于如 何編程輔助 列表的詳細(xì) 信息,參見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。從 ABAP/4 程序之中, 既可以將列 表輸出到屏 幕也可以輸 出到 SAP 假脫機(jī)系統(tǒng) 。缺省情況 下,在屏幕 上顯示列表 。本節(jié)中的 所有示例都 使用該缺省 值。關(guān)于如 何打印列表 的詳細(xì)信息 ,參見(jiàn) 打印列表 (頁(yè) Error! Not a valid link.) 。將數(shù)據(jù)寫(xiě)入 列表的基本 ABAP/4 語(yǔ)句是 WRITE 語(yǔ)句。其

3、他 輸出語(yǔ)句是 ULINE 和 SKIP。 關(guān)于這三條 語(yǔ)句的詳細(xì) 信息,參見(jiàn) 將數(shù)據(jù)輸出到屏幕 (頁(yè) 41) 。下列主題說(shuō) 明列表的結(jié) 構(gòu)和創(chuàng)建列 表時(shí)定義列 表格式的選 項(xiàng):1標(biāo)準(zhǔn)列表如果 ABAP/4 報(bào)表只使用 WRITE、 SKIP 和 ULINE 輸出語(yǔ)句并 且不包含本 節(jié)后面所說(shuō) 明的編輯語(yǔ) 句,則系統(tǒng) 將輸出傳遞 到標(biāo)準(zhǔn)列表 。完成數(shù)據(jù) 選擇之后在 該屏幕上顯 示列表。下列主題說(shuō) 明1標(biāo)準(zhǔn)列表示 例 下面的輸出 屏幕顯示標(biāo) 準(zhǔn)列表:要?jiǎng)?chuàng)建該標(biāo) 準(zhǔn)列表,請(qǐng) 使用下面的 樣本報(bào)表。REPORT SAPMZTST.TABLES SPFLI.SKIP.ULINE AT /(62).SE

4、LECT * FROM SPFLI WHERE CONNID GE 0017 AND CONNID LE 0400. WRITE: / SY-VLINE, SPFLI-CONNID, SY-VLINE, (15) SPFLI-CITYFROM, 26 SY-VLINE, 31 SPFLI-CITYTO, 51 SY-VLINE, 62 SY-VLINE, / SY-VLINE, 8 SY-VLINE, SPFLI-DEPTIME UNDER SPFLI-CITYFROM, 26 SY-VLINE, SPFLI-ARRTIME UNDER SPFLI-CITYTO, 51 SY-VLINE, S

5、PFLI-FLTIME, SY-VLINE. ULINE AT /(62). ENDSELECT.WRITE: /10 'SAP * SAP * SAP * SAP * SAP * SAP', /19(43) 'Flight Information System', /19(43) 'International Connections'. SELECT 語(yǔ)句從數(shù)據(jù) 庫(kù)表格 SPFLI 讀取選定行 。在 SELECT 循環(huán)內(nèi), WRITE、 SKIP 和 ULINE 語(yǔ)句將工作 區(qū) SPFLI 的字段以及 水平和垂直 行輸出到該 列表。關(guān)于 所使用

6、的所 有 WRITE 選項(xiàng)的詳細(xì) 信息,參見(jiàn) 將數(shù)據(jù)輸出到屏幕 (頁(yè) 41) 。 創(chuàng)建和更改 列表及列表 頭 (頁(yè) 53) 對(duì)如何創(chuàng)建 列表和列標(biāo) 題進(jìn)行解釋 。關(guān)于該標(biāo)準(zhǔn) 列表結(jié)構(gòu)的 詳細(xì)信息, 參見(jiàn) 標(biāo)準(zhǔn)列表結(jié) 構(gòu) (頁(yè) ) 。2標(biāo)準(zhǔn)列表結(jié) 構(gòu)下列主題提 供標(biāo)準(zhǔn)列表 結(jié)構(gòu)的信息 。 標(biāo)準(zhǔn)列表包 括有關(guān)標(biāo)準(zhǔn)列 表寬度的信 息,可在下 列主題中找 到:2標(biāo)準(zhǔn)頁(yè)眉標(biāo)準(zhǔn)頁(yè)眉至 少包括兩行 標(biāo)準(zhǔn)標(biāo)題。 標(biāo)準(zhǔn)標(biāo)題的 首行包含列 表表頭和頁(yè) 號(hào)。第二行 由水平線(xiàn)組 成。執(zhí)行程 序時(shí),列表 表頭存儲(chǔ)在 系統(tǒng)字段 SY-TITLE 中。如果需 要,可以在 標(biāo)準(zhǔn)標(biāo)題中 包括最多四 行列頭和另 一條水平線(xiàn) 。創(chuàng)

7、建和更改 列表及列表 頭 (頁(yè) 53) 說(shuō)明如何維 護(hù)列表和列 頭。而且, 顯示列表之 后,可以在 標(biāo)準(zhǔn)列表的 用戶(hù)界面中 調(diào)整這些表 頭(參見(jiàn) 修改列表和 列標(biāo)題 (頁(yè) ) )。標(biāo)準(zhǔn)頁(yè)眉的 寬度自動(dòng)調(diào) 整到窗口寬 度。如果用戶(hù)垂 直滾動(dòng)列表 ,則標(biāo)準(zhǔn)頁(yè) 眉保持可見(jiàn) ,只滾動(dòng)表 頭之下的列 表。如果用戶(hù)水 平滾動(dòng)列表 ,則列表表 頭和頁(yè)號(hào)保 持可見(jiàn)。2標(biāo)準(zhǔn)頁(yè)輸出數(shù)據(jù)顯 示在頁(yè)眉之 下。標(biāo)準(zhǔn)列 表包含一個(gè) 動(dòng)態(tài)長(zhǎng)度的 單頁(yè)(內(nèi)部 限制: 60,000 行)。輸出 長(zhǎng)度由當(dāng)前 列表大小確 定。輸出屏幕包 括一個(gè)垂直 滾動(dòng)條,允 許用戶(hù)滾動(dòng) 頁(yè)長(zhǎng)超過(guò)窗 口的列表。2標(biāo)準(zhǔn)列表的 寬度標(biāo)準(zhǔn)列表的 寬度取

8、決于 執(zhí)行報(bào)表時(shí) 的窗口寬度 。如果用戶(hù) 窗口小于或 等于標(biāo)準(zhǔn)窗 口大小,則 標(biāo)準(zhǔn)頁(yè)寬應(yīng) 符合標(biāo)準(zhǔn)窗 口寬度。用 戶(hù)可能必須 滾動(dòng)列表才 能查看列表 的所有部件 。如果用戶(hù) 窗口超過(guò)標(biāo) 準(zhǔn)窗口寬度 ,則標(biāo)準(zhǔn)列 表的寬度符 合選定標(biāo)準(zhǔn) 窗口的寬度 。總之,標(biāo) 準(zhǔn)列表的寬 度至少與標(biāo) 準(zhǔn)窗口一樣 寬。標(biāo)準(zhǔn)窗 口的寬度取 決于操作系 統(tǒng)。輸出屏幕包 括允許用戶(hù) 滾動(dòng)超過(guò)窗 口寬度部分 的水平滾動(dòng) 條。2標(biāo)準(zhǔn)列表的 用戶(hù)界面標(biāo)準(zhǔn)列表的 輸出屏幕包 含 R/3 系統(tǒng)的標(biāo)準(zhǔn) 菜單欄和標(biāo) 準(zhǔn)工具欄。要滾動(dòng)標(biāo)準(zhǔn) 列表,系統(tǒng) 提供滾動(dòng)條 和功能“首 頁(yè)”、“上 一頁(yè)”、“ 下一頁(yè)”和 “末頁(yè)”。 要查找列表 中

9、某一模式 ,用戶(hù)可以 選擇“編輯 -> 查找.” 。用戶(hù)可以使 用下列特定 列表功能:2打印輸出列 表要打印屏幕 上顯示的列 表,用戶(hù)可 以選擇“列 表 -> 打印”。打印的標(biāo)準(zhǔn) 頁(yè)眉與顯示 的標(biāo)準(zhǔn)頁(yè)眉 不同,它還 包含當(dāng)前日 期:打印 標(biāo)準(zhǔn)列表示 例 (頁(yè) ) 中創(chuàng)建的標(biāo) 準(zhǔn)列表,其 結(jié)果為:12.01.1996 Example for Standard List 1- ID Departure from Arrival at Time of Departure Time Arrival Time Flight-+-+-+-+-+| 0017 | NEW YORK | SAN F

10、RANCISCO | | | 13:30:00 | 16:31:00 | 06:01:00 |+-+-+-+-+| 0064 | SAN FRANCISCO | NEW YORK | | | 09:00:00 | 17:21:00 | 05:21:00 |+-+-+-+-+| 0400 | FRANKFURT | NEW YORK | | | 10:10:00 | 11:34:00 | 08:24:00 |+-+-+-+-+| 0026 | FRANKFURT | NEW YORK | | | 08:30:00 | 09:50:00 | 08:20:00 |+-+-+-+-+ SAP * SA

11、P * SAP * SAP * SAP * SAP Flight Information System International Connections只有由于測(cè) 試原因需要 屏幕列表的 硬副本時(shí), 才能使用本 打印方法。 關(guān)于如何打 印列表的詳 細(xì)信息,參 見(jiàn) 打印列表 (頁(yè) Error! Not a valid link.) 。3保存列表要保存顯示 的列表,用 戶(hù)可以選擇 “列表 -> 保存”。出 現(xiàn)下列主題 :3將列表保存 在 SAPoffice 中當(dāng)選擇“列 表 -> 保存 -> Office” 時(shí),出現(xiàn)一 個(gè)對(duì)話(huà)框, 詢(xún)問(wèn)用戶(hù)是 將顯示的列 表存儲(chǔ)在用 戶(hù)的 Of

12、fice 文件夾中還 是發(fā)送給另 一用戶(hù)。3將列表保存 在報(bào)告樹(shù)中當(dāng)選擇“列 表 -> 保存 -> 報(bào)告樹(shù)”時(shí) ,出現(xiàn)一個(gè) 對(duì)話(huà)框,詢(xún) 問(wèn)用戶(hù)是否 將顯示的列 表保存在報(bào) 表樹(shù)的適當(dāng) 分支中。3將列表作為 本地文件保 存在演示服 務(wù)器中選擇“列表 -> 保存 -> 文件”時(shí), 出現(xiàn)一個(gè)對(duì) 話(huà)框,詢(xún)問(wèn) 用戶(hù)是否將 顯示的列表 作為本地文 件保存,并 提供幾個(gè)格 式選項(xiàng)。格式選項(xiàng)為 : 不轉(zhuǎn)換: 系統(tǒng)將文件 存儲(chǔ)為文本 文件。 表格統(tǒng)計(jì) : 系統(tǒng)在列之 間插入 tab 鍵。 RTF 格式: 系統(tǒng)存儲(chǔ)格 式化為文本 處理的數(shù)據(jù) 。如果用戶(hù)以 RTF 格式存儲(chǔ) 標(biāo)準(zhǔn)列表示 例

13、(頁(yè) ) 中創(chuàng)建的標(biāo) 準(zhǔn)列表并且 使用能讀取 該格式的文 本處理程序 (如 MS WORD) 重新顯示, 則列表顯示 如下:4修改列表和 列標(biāo)題通常,可以 列表和列標(biāo) 題創(chuàng)建為文 本元素(參 見(jiàn) 創(chuàng)建和更改 列表及列表 頭 (頁(yè) 53) )。然而, 也可以在屏 幕上顯示列 表時(shí)修改這 些表頭。為 此,請(qǐng)選擇 “系統(tǒng) -> 列表 -> 列表頭”。 頁(yè)眉行現(xiàn)在 接受輸入:例如,使用 該功能將列 標(biāo)題放置在 顯示列表的 列之上。保存更改。 系統(tǒng)將修改 后的列標(biāo)題 另存為當(dāng)前 登錄語(yǔ)言文 本池中程序 的文本元素 。關(guān)于文本 元素的詳細(xì) 信息,參見(jiàn) 處理文本摘 要 (頁(yè) 51) 。4自定義列

14、表可以修改標(biāo) 準(zhǔn)列表的結(jié) 構(gòu)并創(chuàng)建單 個(gè)結(jié)構(gòu)的列 表。使用 REPORT 語(yǔ)句選項(xiàng)以 及事件 TOP-OF-PAGE 和 END-OF-PAGE。 PROGRAM 語(yǔ)句與 REPORT 語(yǔ)句等價(jià)并 有相同的選 項(xiàng)??梢宰飨铝?修改:如果列表包 括幾頁(yè),則 可以分別定 義每頁(yè)的結(jié) 構(gòu)。關(guān)于如 何進(jìn)行這一 操作的詳細(xì) 信息,參見(jiàn) 多頁(yè)列表 (頁(yè) ) 。4單個(gè)頁(yè)眉要分別定義 頁(yè)眉的格式 ,必須在緊 隨事件關(guān)鍵 字 TOP-OF-PAGE 的處理塊中 定義:語(yǔ)法TOP-OF-PAGE. WRITE: .TOP-OF-PAGE 事件在系統(tǒng) 開(kāi)始處理列 表新頁(yè)時(shí)出 現(xiàn)。系統(tǒng)在 輸出新頁(yè)首 行之前處理 TO

15、P-OF-PAGE 后面的語(yǔ)句 。關(guān)于事件 和處理塊的 詳細(xì)信息, 參見(jiàn) 通過(guò)事件控制 ABAP/4 程序流 (頁(yè) 41) 。如果以后要 啟動(dòng)實(shí)際列 表處理,記 住要通過(guò)使 用合適的事 件關(guān)鍵字, 例如 START-OF-SELECTION, 結(jié)束處理塊 (參見(jiàn) 定義處理塊 (頁(yè) 41) )。自定義頁(yè)眉 出現(xiàn)在標(biāo)準(zhǔn) 頁(yè)眉之下。 如果要取消 標(biāo)準(zhǔn)頁(yè)眉, 請(qǐng)使用 REPORT 語(yǔ)句的 NO STANDARD PAGE HEADING 選項(xiàng):語(yǔ)法REPORT <rep> NO STANDARD PAGE HEADING.使用該語(yǔ)句 時(shí),系統(tǒng)不 在報(bào)表 <rep> 列表頁(yè)上顯

16、示標(biāo)準(zhǔn)頁(yè)眉 。如果使用 TOP-OF-PAGE 定義單個(gè)頁(yè) 眉,則系統(tǒng) 就將其顯示 出來(lái)。垂直滾動(dòng)時(shí) ,自定義頁(yè) 眉與標(biāo)準(zhǔn)頁(yè) 眉一樣保持 可見(jiàn)。但是 ,自定義頁(yè) 眉包括正常 列表行,因 此不能自動(dòng) 符合窗口寬 度。REPORT SAPMZTST NO STANDARD PAGE HEADING.TOP-OF-PAGE.WRITE: SY-TITLE, 40 'Page', SY-PAGNO.ULINE.WRITE: / 'SAP AG', 29 'Walldorf, ',SY-DATUM, / 'Neurottstr. 16',

17、/ '69190 Walldorf/Baden'.ULINE.START-OF-SELECTION.DO 5 TIMES. WRITE / SY-INDEX.ENDDO.報(bào)表程序不 使用標(biāo)準(zhǔn)頁(yè) 眉,而是使 用 TOP-OF-PAGE 之后的自定 義頁(yè)眉。要 顯式結(jié)束 TOP-OF-PAGE 處理塊,必 須指定事件 關(guān)鍵字 START-OF-SELECTION 。輸出如下 所示:自定義頁(yè)眉 包括六行。 程序標(biāo)題來(lái) 自 SY-TITLE 系統(tǒng)字段, 頁(yè)號(hào)來(lái)自 SY-PAGNO。 自定義頁(yè)眉 與列表寬度 不等。5確定列表寬 度要確定輸出 列表的寬度 ,請(qǐng)使用 REPORT 語(yǔ)句的 L

18、INE-SIZE 選項(xiàng)。.語(yǔ)法REPORT <rep> LINE-SIZE <width>.該語(yǔ)句根據(jù) <width> 字符確定報(bào) 表 <rep> 輸出列表的 寬度。如果 將 <width> 設(shè)置為 0,則系統(tǒng) 使用標(biāo)準(zhǔn)列 表的寬度( 參見(jiàn) 標(biāo)準(zhǔn)列表的 寬度 (頁(yè) ) )。一行最多可 包含 255 個(gè)字符。但 是,如果要 打印列表, 請(qǐng)記住大多 數(shù)打印機(jī)不 能打印超過(guò) 132 個(gè)字符的列 表。如果要 在創(chuàng)建時(shí)直 接打印列表 ,則頁(yè)寬必 須符合某種 現(xiàn)有打印格 式。否則, 系統(tǒng)就不能 打印該列表 (參見(jiàn)打印參數(shù) (頁(yè) Error! No

19、t a valid link.)。 一定不要選 擇超過(guò) 132 字符的列表 寬度,除非 創(chuàng)建只用于 顯示的列表 。創(chuàng)建列表時(shí) ,系統(tǒng)字段 SY-LINSZ 包含當(dāng)前行 寬。要將列 表寬度調(diào)整 為當(dāng)前窗口 寬度,參見(jiàn) 多頁(yè)列表 (頁(yè) ) 。使用 ULINE 語(yǔ)句(不帶 AT 選項(xiàng))創(chuàng)建 的水平線(xiàn)自 動(dòng)適配自定 義列表寬度 。REPORT SAPMZTST LINE-SIZE 40.WRITE: 'SY-LINSZ:', SY-LINSZ.ULINE.DO 20 TIMES. WRITE SY-INDEX.ENDDO.程序創(chuàng)建下 列輸出:示例使用標(biāo) 準(zhǔn)頁(yè)眉。如 果將 LINE-SI

20、ZE 值從 40 替換為 60 ,則輸出如 下所示:標(biāo)準(zhǔn)頁(yè)眉和 下劃線(xiàn)自動(dòng) 適配列表寬 度。5確定頁(yè)長(zhǎng)要確定輸出 列表的頁(yè)長(zhǎng) ,請(qǐng)使用 REPORT 語(yǔ)句的 LINE-COUNT 選項(xiàng)。語(yǔ)法REPORT <rep> LINE-COUNT <length>(<n>).該語(yǔ)句用 <length> 行確定報(bào)表 <rep> 輸出列表的 頁(yè)長(zhǎng)。如果 指定選項(xiàng)號(hào) <n>,則 系統(tǒng)為頁(yè)腳 保留 <n> 行頁(yè)長(zhǎng)。并 不將這些頁(yè) 腳行填寫(xiě)到 END-OF-PAGE 事件中,而 是作為空行 顯示(參見(jiàn) 定義頁(yè)腳 (頁(yè) ) )。如果

21、將 <length> 設(shè)置為 0 ,則系統(tǒng)使 用標(biāo)準(zhǔn)頁(yè)長(zhǎng) (參見(jiàn) 標(biāo)準(zhǔn)頁(yè) (頁(yè) ) )。要根據(jù) 當(dāng)前窗口大 小調(diào)整頁(yè)長(zhǎng) ,參見(jiàn) 多頁(yè)列表 (頁(yè) ) 。創(chuàng)建列表 時(shí),系統(tǒng)字 段 SY-LINCT 包含每頁(yè)的 當(dāng)前行數(shù)( 即 <n> 行或 0 代表標(biāo)準(zhǔn)頁(yè) 長(zhǎng)度)。記住頁(yè)眉長(zhǎng) 度是 <length> 的部件。因 此,對(duì)于列 表本身,只 能使用 <length> 減去頁(yè)眉長(zhǎng) 度減去 <n> 行。如果 <length> 小于頁(yè)長(zhǎng)度 ,則產(chǎn)生運(yùn) 行錯(cuò)誤。如果在列表 處理期間系 統(tǒng)到達(dá)為實(shí) 際列表提供 的區(qū)域的結(jié) 尾,則輸出 頁(yè)腳,如果

22、 有,插入一 些空格并且 啟動(dòng)新頁(yè)。 插入的空格 屬于列表背 景并且不是 列表行。SY-PAGNO 系統(tǒng)字段總 包含當(dāng)前頁(yè) 號(hào)。確定頁(yè)長(zhǎng)時(shí) ,應(yīng)記住下 列各項(xiàng): 對(duì)于屏幕 輸出,請(qǐng)使 用標(biāo)準(zhǔn)頁(yè)長(zhǎng) 以避免在屏 幕中間分頁(yè) 。 對(duì)于打印 列表,則根 據(jù)打印機(jī)要 求設(shè)置頁(yè)長(zhǎng) 。應(yīng)采用對(duì) 任何頁(yè)長(zhǎng)都 能產(chǎn)生合理 輸出的方式 書(shū)寫(xiě)程序。 如果選擇現(xiàn) 有打印格式 之外的頁(yè)長(zhǎng) ,則不能在 創(chuàng)建時(shí)直接 打印。關(guān)于 打印格式的 詳細(xì)信息, 參見(jiàn) 打印列表 (頁(yè) Error! Not a valid link.) 。 對(duì)于僅指 定頁(yè)面設(shè)置 的表格形式 的列表使用 固定長(zhǎng)度規(guī) 格。在為此 類(lèi)列表編寫(xiě) 程序代碼之 前

23、,請(qǐng)檢查 能否使用預(yù) 定義的 SAPscript 表格。關(guān)于 表格的詳細(xì) 信息,參見(jiàn) 文檔樣式和頁(yè)面設(shè)置維護(hù) (頁(yè) Error! Not a valid link.) 。下列程序旨 在說(shuō)明 LINE-COUNT 選項(xiàng)的用法 。因此在一 個(gè)屏上顯示 不同的列表 頁(yè)。REPORT SAPMZTST LINE-SIZE 40 LINE-COUNT 4.WRITE: 'SY-LINCT:', SY-LINCT.SKIP.DO 6 TIMES. WRITE / SY-INDEX.ENDDO.該程序?qū)㈨?yè) 長(zhǎng)確定為四 行。使用標(biāo) 準(zhǔn)頁(yè)眉。假 定標(biāo)準(zhǔn)頁(yè)眉 包括兩行列 表表頭,則 輸出如下所 示

24、:列表包括四 頁(yè),每頁(yè)四 行。每頁(yè)由 頁(yè)眉和兩行 實(shí)際列表組 成。應(yīng)注意 每頁(yè)結(jié)尾的 空格。6定義頁(yè)腳要定義頁(yè)腳 ,請(qǐng)使用 END-OF-PAGE 事件。在處 理列表頁(yè)時(shí) ,如果系統(tǒng) 到達(dá)頁(yè)腳保 留行,或者 如果 RESERVE 語(yǔ)句觸發(fā)分 頁(yè)則該事件 發(fā)生(參見(jiàn) 條件分頁(yè) 定義行塊 (頁(yè) ) )。在緊接 著 END-OF-PAGE 事件關(guān)鍵字 的處理塊中 填充頁(yè)腳的 行:語(yǔ)法END-OF-PAGE. WRITE: .如果為 REPORT 語(yǔ)句的 LINE-COUNT 選項(xiàng)中的腳 注保留行, 則系統(tǒng)只處 理緊接著 END-OF-PAGE 的處理塊( 參見(jiàn) 確定頁(yè)長(zhǎng) (頁(yè) ) )。如果要以后 開(kāi)

25、始處理實(shí) 際列表,記 住要通過(guò)使 用合適的事 件關(guān)鍵字, 例如 START-OF-SELECTION, 結(jié)束緊接著 END-OF-PAGE 的處理塊( 參見(jiàn) 定義處理塊 (頁(yè) 41) )。REPORT SAPMZTST 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-S

26、ELECTION.DO 6 TIMES. WRITE / SY-INDEX.ENDDO.該程序包括 三個(gè)處理塊 。關(guān)閉標(biāo)準(zhǔn) 頁(yè)眉。將頁(yè) 長(zhǎng)設(shè)置為六 行,其中兩 行留作頁(yè)腳 。列表包括三 頁(yè),每頁(yè)六 行。每頁(yè)由 自定義的兩 行頁(yè)眉、兩 行實(shí)際列表 和兩行頁(yè)腳 組成。頁(yè)腳 中顯示的當(dāng) 前頁(yè)號(hào)來(lái)自 系統(tǒng)字段 SY-PAGNO 。7多頁(yè)列表如果在報(bào)表 中寫(xiě)入列表 輸出頁(yè)的行 數(shù)超過(guò)在 REPORT 語(yǔ)句 LINE-COUNT 選項(xiàng)中定義 的行數(shù),則 系統(tǒng)自動(dòng)創(chuàng) 建新頁(yè)(參 見(jiàn) 確定頁(yè)長(zhǎng) (頁(yè) ) )。每個(gè)新 頁(yè)都包含為 報(bào)表定義的 頁(yè)眉和頁(yè)腳 (如果有的 話(huà))。除自動(dòng)分頁(yè) 外,可以使 用 NEW-PA

27、GE 和 RESERVE 語(yǔ)句顯式地 編碼分頁(yè)。 NEW-PAGE 語(yǔ)句的選項(xiàng) 允許分別設(shè) 置每頁(yè)格式 。也需要 NEW-PAGE 語(yǔ)句在程序 內(nèi)打印列表 (參見(jiàn) 打印列表 (頁(yè) Error! Not a valid link.) )。下列主題說(shuō) 明77編程分頁(yè)要編程無(wú)條 件的分頁(yè), 請(qǐng)使用 NEW-PAGE 語(yǔ)句。要編程取決 于頁(yè)左邊空 行數(shù)的分頁(yè) ,請(qǐng)使用 RESERVE 語(yǔ)句。7無(wú)條件分頁(yè)要在頁(yè)處理 期間觸發(fā)分 頁(yè),請(qǐng)使用 NEW-PAGE 語(yǔ)句的基本 格式:語(yǔ)法NEW-PAGE.該語(yǔ)句 結(jié)束當(dāng)前 頁(yè)。在新頁(yè) 上顯示所有 其他輸出。 如果輸出 寫(xiě)入到當(dāng)前 頁(yè)和 NEW-PAGE 之后的新

28、頁(yè) ,則只開(kāi)始 新頁(yè)。系統(tǒng) 然后將 SY-PAGNO 系統(tǒng)字段家 1。不能產(chǎn) 生空頁(yè)。 不能觸發(fā) END-OF-PAGE 事件。這意 味著即使定 義了頁(yè)腳, 系統(tǒng)也不輸 出。REPORT SAPMZTST 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.該樣本程序 使用列表

29、表 頭“標(biāo)準(zhǔn)頁(yè) 眉”定義為 文本元素的 標(biāo)準(zhǔn)頁(yè)眉和 自定義頁(yè)眉 。每頁(yè)都出 現(xiàn)兩個(gè)頁(yè)眉 。DO 循環(huán)兩次遇 到 NEW-PAGE 語(yǔ)句,但是 只執(zhí)行一次 分頁(yè)。在第 二條 NEW-PAGE 語(yǔ)句之后, 沒(méi)有輸出。8條件分頁(yè) 定義行塊要在少于某 一頁(yè)剩余行 數(shù)的條件下 執(zhí)行分頁(yè), 請(qǐng)使用 RESERVE 語(yǔ)句:語(yǔ)法RESERVE <n> LINES.如果當(dāng)前列 表頁(yè)的最后 輸出和頁(yè)腳 之間剩余的 自由行數(shù)少 于 <n>,則 該語(yǔ)句觸發(fā) 分頁(yè)。 <n> 可以是變量 。在開(kāi)始新 頁(yè)之前,系 統(tǒng)處理 END-OF-PAGE 事件。只有 輸出寫(xiě)入到 后續(xù)頁(yè)時(shí), RES

30、ERVE 才生效。不 創(chuàng)建空頁(yè)。 RESERVE 語(yǔ)句就這樣 定義必須整 個(gè)輸出的行 塊。要查找 行塊可能有 的附加實(shí)際 效果,參見(jiàn) 將輸出定位 在行塊的首 行 (頁(yè) ) 。REPORT SAPMZTST 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'

31、, / 'LINE 3'.該樣本程序 標(biāo)準(zhǔn)頁(yè)眉的 列表頭定義 為“標(biāo)準(zhǔn)頁(yè) 眉”。REPORT 語(yǔ)句將頁(yè)長(zhǎng) 確定為八行 ,兩行用于 標(biāo)準(zhǔn)頁(yè)眉, 另外兩行為 頁(yè)腳保留。 頁(yè)腳包括水 平行和空行 。因此,輸 出的實(shí)際列 表,每頁(yè)留 下四行。第 一個(gè) DO 循環(huán)填充這 四行,然后 發(fā)生 END-OF-PAGE 事件,其后 系統(tǒng)自動(dòng)開(kāi) 始新頁(yè)。在 第二個(gè) DO 循環(huán)之后, 因?yàn)轫?yè)上剩 余的自由行 數(shù)少于三, 因此 RESERVE 語(yǔ)句觸發(fā) END-OF-PAGE 事件和分頁(yè) 。輸出如下 :第 3 頁(yè)的三行組 成行塊。8單頁(yè)的標(biāo)準(zhǔn) 頁(yè)眉標(biāo)準(zhǔn)頁(yè)眉包 括列表和列 標(biāo)題(參見(jiàn)標(biāo)準(zhǔn)頁(yè)眉 (頁(yè) )

32、.)。要影 響標(biāo)準(zhǔn)頁(yè)眉 這些組件的 表現(xiàn)形式, 請(qǐng)使用 NEW-PAGE 語(yǔ)句的下列 選項(xiàng):語(yǔ)法NEW-PAGE NO-TITLE|WITH-TITLE NO-HEADING|WITH-HEADING.使用 NO-TITLE 或 WITH-TITLE 選項(xiàng)取消或 者在以后所 有頁(yè)上顯示 標(biāo)準(zhǔn)表頭。 基本列表的 缺省值為 WITH-TITLE, 輔助列表為 NO-TITLE。使用 NO-HEADING 或 WITH-HEADING 選項(xiàng)取消或 在以后所有 頁(yè)上顯示列 標(biāo)題。基本 列表的缺省 值為 WITH-HEADING, 輔助列表為 NO-HEADING。關(guān)于基本和 輔助列表的 詳細(xì)信息, 參

33、見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。即使使用 REPORT 語(yǔ)句的 NO STANDARD PAGE HEADING 選項(xiàng)取消標(biāo) 準(zhǔn)頁(yè)眉,也 能使用 WITH-TITLE 和 WITH-HEADING 激活單個(gè)組 件的顯示。因?yàn)?TOP-OF-PAGE 事件在新頁(yè) 上處理,所 以 NEW-PAGE 語(yǔ)句不能影 響在該事件 中定義的頁(yè) 眉顯示(參 見(jiàn) 單個(gè)頁(yè)眉 (頁(yè) ) )。REPORT SAPMZTST LINE-SIZE 40.WRITE: 'Page', SY-PAGNO.NEW-PAGE NO-TITLE.WRITE: 'P

34、age', 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)建 五頁(yè),分別 帶有不同頁(yè) 眉。將列表 表頭標(biāo)題文 本元素定義 為“標(biāo)準(zhǔn)頁(yè) 眉”,列標(biāo) 題定義為“ 列”。第 1 和 5 頁(yè)包含完整 的標(biāo)準(zhǔn)頁(yè)眉 。第 2 頁(yè)沒(méi)有列表 表頭。在第 3 頁(yè)上,取消 整個(gè)頁(yè)眉。 在第 4 頁(yè)上,省略 列標(biāo)題。

35、9單頁(yè)頁(yè)長(zhǎng)要分別確定 每頁(yè)的頁(yè)長(zhǎng) ,請(qǐng)使用 NEW-PAGE 語(yǔ)句:語(yǔ)法NEW-PAGE LINE-COUNT <length>.該語(yǔ)句將后 續(xù)頁(yè)的頁(yè)長(zhǎng) 確定為 <length>。 <length> 可以是變量 。如果將 <length> 設(shè)置為 0 ,則系統(tǒng)使 用標(biāo)準(zhǔn)頁(yè)長(zhǎng) (參見(jiàn) 標(biāo)準(zhǔn)頁(yè) (頁(yè) ) )。頁(yè)眉是 頁(yè)的部分因 此也是頁(yè)長(zhǎng) 的部分。不能使用 NEW-PAGE 創(chuàng)建或更改 頁(yè)腳。將 REPORT 語(yǔ)句中定義 的頁(yè)腳(參 見(jiàn) 確定頁(yè)長(zhǎng) (頁(yè) ) )保存為與 NEW-PAGE 語(yǔ)句無(wú)關(guān)。對(duì)于實(shí)際列 表輸出,<length> 減去

36、頁(yè)眉長(zhǎng) 度即可。使用 NEW-PAGE 語(yǔ)句的 LINE-COUNT 選項(xiàng)時(shí),請(qǐng) 參閱 確定頁(yè)長(zhǎng) (頁(yè) ) 中的注意。要將頁(yè)長(zhǎng)度 適配當(dāng)前窗 口長(zhǎng)度,請(qǐng) 將 <length> 設(shè)置為 SY-SROWS。 SY-SROWS 系統(tǒng)字段包 含當(dāng)前窗口 的行數(shù)。REPORT SAPMZTST LINE-SIZE 40 LINE-COUNT 0(1).END-OF-PAGE.ULINE.START-OF-SELECTION.NEW-PAGE LINE-COUNT 5.DO 4 TIMES. WRITE / SY-INDEX.ENDDO.WRITE: / 'Next Loop:'

37、;.NEW-PAGE LINE-COUNT 6.DO 6 TIMES. WRITE / SY-INDEX.ENDDO.程序創(chuàng)建 5 頁(yè),長(zhǎng)度各 不相同。將 列表表頭文 本元素定義 為“標(biāo)準(zhǔn)頁(yè) 眉”。REPORT 語(yǔ)句為頁(yè)腳 每頁(yè)保留一 行。在 END-OF-PAGE 事件中將頁(yè) 腳定義為水 平行。第一 條 NEW-PAGE 語(yǔ)句將頁(yè)長(zhǎng) 設(shè)置為 5,第二條 設(shè)置為 6。因?yàn)橐郧皼](méi) 有輸出寫(xiě)入 列表,因此 第一條 NEW-PAGE 語(yǔ)句不開(kāi)始 新頁(yè)。標(biāo)準(zhǔn) 頁(yè)眉每頁(yè)使 用兩行作為 列表表頭。 頁(yè)腳使用一 行。對(duì)于第 一個(gè) DO 循環(huán),每頁(yè) 兩行可用于 WRITE 輸出。DO 循環(huán)內(nèi)的所 有分頁(yè)在列

38、表處理到達(dá) 頁(yè)眉時(shí)自動(dòng) 發(fā)生。第二 條 NEW-PAGE 從第 3 頁(yè)到第 4 頁(yè)創(chuàng)建分頁(yè) 。這里不處 理 END-OF-PAGE 事件。對(duì)于 第二個(gè) DO 循環(huán),每頁(yè) 三行可用于 WRITE 輸出。自動(dòng) 再次分頁(yè)。 出現(xiàn)頁(yè)腳。REPORT SAPMZTST NO STANDARD PAGE HEADING LINE-SIZE 40 LINE-COUNT 0(2).TOP-OF-PAGE.WRITE: 'Top of Page', SY-PAGNO, 'SY-SROWS:', SY-SROWS.ULINE.END-OF-PAGE.ULINE.WRITE: 

39、9;End of Page', SY-PAGNO.START-OF-SELECTION.* NEW-PAGE LINE-COUNT SY-SROWS.DO 100 TIMES. WRITE / SY-INDEX.ENDDO.因?yàn)?NEW-PAGE 被標(biāo)記為注 釋?zhuān)栽?程序創(chuàng)建沒(méi) 有結(jié)尾的單 頁(yè):系統(tǒng)在當(dāng)前 窗口中顯示 盡可能多的 行,即 12 行。在上面 的數(shù)字中, 12 行包含兩行 自定義表頭 行和 10 行實(shí)際列表 。在垂直滾 動(dòng)時(shí),頁(yè)眉 保持可見(jiàn)。 如果刪除 NEW-PAGE 語(yǔ)句前面的 星號(hào)并且保 持當(dāng)前窗口 長(zhǎng)度,則輸 出如下:根據(jù) SY-SROWS ,列表分為 幾頁(yè),每

40、頁(yè) 12 行。12 行中兩行留 作頁(yè)眉,兩 行留作頁(yè)腳 。在該列表 中,用戶(hù)可 以使用“下 一頁(yè)”顯示 地滾動(dòng)(例 如,到第 11頁(yè)):10列表級(jí)的頁(yè) 寬不能更改列 表級(jí)內(nèi)單個(gè) 頁(yè)寬。只能 更改新列表 級(jí)的所有頁(yè) 寬。為此, 請(qǐng)使用 NEW-PAGE 語(yǔ)句:語(yǔ)法NEW-PAGE LINE-SIZE <width>.從新頁(yè)開(kāi)始 的所有列表 級(jí)寬度都為 <width> ,而不是 REPORT 語(yǔ)句中定義 的寬度。如 果將 <width> 設(shè)置為 0 ,則系統(tǒng)使 用標(biāo)準(zhǔn)列表 的寬度(參 見(jiàn) 標(biāo)準(zhǔn)列表的 寬度 (頁(yè) ) )。如果將 <width> 設(shè)置為

41、 SY-SCOLS, 則可以使新 列表級(jí)的寬 度適配窗口 寬度,即使 該窗口小于 標(biāo)準(zhǔn)窗口。 SY-SCOLS 系統(tǒng)字段包 含當(dāng)前窗口 一行的字符 數(shù)。在列表級(jí)之 內(nèi),即下頁(yè) 不是新列表 級(jí)的開(kāi)始, 則系統(tǒng)忽略 LINE-SIZE 選項(xiàng)。關(guān)于如何創(chuàng) 建新列表級(jí) 的詳細(xì)信息 ,參見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。11在程序之內(nèi) 滾動(dòng)在程序之內(nèi) ,可以垂直 和水平滾動(dòng) 列表。使用 SCROLL 關(guān)鍵字。例 如,如果要 滾動(dòng)到某頁(yè) 以響應(yīng)用戶(hù) 輸入,則從 程序內(nèi)滾動(dòng) 就很有意義 。SCROLL 語(yǔ)句只對(duì)完 成的列表生 效。如果在 列表的第一 條輸出語(yǔ)句 之前

42、使用該 語(yǔ)句,則不 影響該列表 。如果在列 表的第一條 輸出語(yǔ)句之 后使用 SCROLL, 則影響整個(gè) 列表,包括 以后的所有 輸出語(yǔ)句。在每條 SCROLL 語(yǔ)句之后, 可以查詢(xún) SY-SUBRC 以查看系統(tǒng) 是否成功。 如果系統(tǒng)成 功滾動(dòng)則 SY-SUBRC 為 0 ;如果滾動(dòng) 不可能則為 4 ,因?yàn)槠涑?過(guò)列表邊界 。如果正在 使用幾個(gè)列 表級(jí),則 SY-SUBRC 也可能是 8,表明指 定的列表級(jí) 不存在(參 見(jiàn) 滾換 列表 (頁(yè) Error! Not a valid link.) )。 SCROLL 語(yǔ)句允許垂直滾動(dòng)水平滾動(dòng)11通過(guò)窗口滾 動(dòng)窗口要以當(dāng)前窗 口大小垂直 滾動(dòng)列表并 且

43、與頁(yè)長(zhǎng)無(wú) 關(guān),請(qǐng)使用 這條語(yǔ)句:語(yǔ)法SCROLL LIST FORWARD|BACKWARD INDEX <idx>.不帶 INDEX 選項(xiàng)時(shí),該 語(yǔ)句以當(dāng)前 窗口大小向 前或向后滾 動(dòng)當(dāng)前列表 。使用 INDEX 選項(xiàng)時(shí),系 統(tǒng)以列表級(jí) <idx> 滾動(dòng)列表。 關(guān)于在列表 級(jí)中滾動(dòng)的 詳細(xì)信息, 參見(jiàn) 滾動(dòng)交互式列表 (頁(yè) Error! Not a valid link.) 。REPORT SAPMZTST NO STANDARD PAGE HEADING LINE-SIZE 40.TOP-OF-PAGE.WRITE: 'Top of Page', S

44、Y-PAGNO, 'SY-SROWS:', SY-SROWS.ULINE.START-OF-SELECTION.DO 100 TIMES. WRITE / SY-INDEX.ENDDO.DO 3 TIMES. SCROLL LIST FORWARD.ENDDO.該報(bào)表創(chuàng)建 沒(méi)有結(jié)尾頁(yè) 的列表。在 DO 循環(huán)之內(nèi), 系統(tǒng)三次 SCROLL 語(yǔ)句。如果 當(dāng)前窗口為 12 行(存儲(chǔ)在 SY-SROWS 中),則程 序輸出如下 :應(yīng)注意,實(shí) 際列表是以 SY-SROWS 減去表頭行 數(shù)進(jìn)行滾動(dòng) 。用戶(hù)可以 繼續(xù)朝兩個(gè) 方向滾動(dòng)。11按頁(yè)滾動(dòng)要按頁(yè)滾動(dòng) 列表,即按 頁(yè)長(zhǎng)垂直滾 動(dòng)列表,S

45、CROLL 語(yǔ)句提供下 列選項(xiàng):滾動(dòng)到某頁(yè)要滾動(dòng)到某 頁(yè),請(qǐng)使用 SCROLL 語(yǔ)句的 TO 選項(xiàng):語(yǔ)法SCROLL LIST TO FIRST PAGE | LAST PAGE | PAGE <pag> INDEX <idx> LINE <lin>.不用 INDEX 選項(xiàng),語(yǔ)句 將當(dāng)前列表 滾動(dòng)到首頁(yè) 、尾頁(yè)或 <pag> 頁(yè)。使用 INDEX 選項(xiàng),則系 統(tǒng)滾動(dòng)列表 級(jí) <idx> 的列表。關(guān) 于列表級(jí)的 詳細(xì)信息, 參見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。使用 LINE 選項(xiàng)時(shí),系 統(tǒng)顯示從

46、實(shí) 際列表的 <lin> 行開(kāi)始滾動(dòng) 的頁(yè)。不包 括頁(yè)眉行。按頁(yè)數(shù)滾動(dòng)要按頁(yè)數(shù)滾 動(dòng)列表,請(qǐng) 使用 SCROLL 語(yǔ)句的下列 選項(xiàng):語(yǔ)法SCROLL LIST FORWARD | BACKWARD <n> PAGES INDEX <idx>.不用 INDEX 選項(xiàng)時(shí),語(yǔ) 句向前或向 后滾動(dòng) <n> 頁(yè)。如上所 述,INDEX 選項(xiàng)參考某 一列表級(jí)。REPORT SAPMZTST NO STANDARD PAGE HEADING LINE-SIZE 40 LINE-COUNT 8(2).DATA: PAG TYPE I VALUE 15, LIN

47、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.該程序創(chuàng)建 100 頁(yè)的列表, 每頁(yè) 8 行。每頁(yè)四 行用于頁(yè)眉 和頁(yè)腳。因 為 SCROLL 語(yǔ)句,該程 序的輸出如 下:列

48、表從第 15 頁(yè)開(kāi)始顯示 。由于 LINE 選項(xiàng),實(shí)際 列表的前三 行滾動(dòng)到頁(yè) 眉以下。12滾動(dòng)到列表 的頁(yè)邊緣要水平滾到 列表的左或 右頁(yè)邊緣, 請(qǐng)使用 SCROLL 語(yǔ)句的下列 選項(xiàng):語(yǔ)法SCROLL LIST LEFT | RIGHT INDEX <idx>.不用 INDEX 選項(xiàng)時(shí),語(yǔ) 句滾動(dòng)到當(dāng) 前列表的左 或右頁(yè)邊緣 。使用 INDEX 選項(xiàng)時(shí),系 統(tǒng)滾動(dòng)列表 級(jí) <idx> 的列表。關(guān) 于列表級(jí)的 詳細(xì)信息, 參見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。REPORT SAPMZTST NO STANDARD PAGE HE

49、ADING 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 RIGHT.該程序?qū)挾?為 200 的一頁(yè)列表 。如果當(dāng)前 窗口寬度( 存儲(chǔ)在 SY-SCOLS 中)等于 40 ,則程序輸 出如下:列表顯示滾 動(dòng)到右頁(yè)邊 邊緣。用戶(hù) 現(xiàn)在可以使 用滾動(dòng)條滾 動(dòng)到左邊。13按列滾動(dòng)要按列水平 滾動(dòng)列表,

50、 SCROLL 語(yǔ)句提供幾 個(gè)選項(xiàng)。在 此情況下, 一列意味著 列表行一個(gè) 字符。滾動(dòng)到某列要滾動(dòng)到某 列,請(qǐng)使用 SCROLL 語(yǔ)句的 TO COLUMN 選項(xiàng):語(yǔ)法SCROLL LIST TO COLUMN <col> INDEX <idx>.不用 INDEX 選項(xiàng)時(shí),系 統(tǒng)顯示從列 <col> 開(kāi)始的當(dāng)前 列。使用 INDEX 選項(xiàng)時(shí),系 統(tǒng)滾動(dòng)列表 級(jí) <idx> 的列表。關(guān) 于列表級(jí)的 詳細(xì)信息, 參見(jiàn) 交互式列表 (頁(yè) Error! Not a valid link.) 。按列數(shù)滾動(dòng)要按某一列 數(shù)滾動(dòng)列表 ,請(qǐng)使用 SCROLL 語(yǔ)句

51、的下列 選項(xiàng):語(yǔ)法SCROLL LIST LEFT | RIGHT BY <n> PLACES INDEX <idx>.不用 INDEX 選項(xiàng)時(shí),系 統(tǒng)按 <n> 列將當(dāng)前列 表滾動(dòng)到左 邊或右邊。 如上所述, INDEX 選項(xiàng)參考特 定的列表級(jí) 。REPORT SAPMZTST NO STANDARD PAGE HEADING LINE-SIZE 200.TOP-OF-PAGE.WRITE: AT 161 'Top of Page', SY-PAGNO, 'SY-SCOLS:', SY-SCOLS.ULINE.START-O

52、F-SELECTION.DO 200 TIMES. WRITE SY-INDEX.ENDDO.SCROLL LIST TO COLUMN 178.該程序創(chuàng)建 寬度為 200 的一頁(yè)列表 。如果當(dāng)前 窗口寬度( 存儲(chǔ)在 SY-SCOLS 中)等于 40 ,則程序輸 出如下:從 178 列開(kāi)始顯示 列表。用戶(hù) 可以滾動(dòng)到 列表左邊。13列表頁(yè)面設(shè) 置列表頁(yè)面設(shè) 置確定如何 組織列表顯 示以便容易 讀取。頁(yè)面 信息量大小 并不重要, 重要的是信 息的表現(xiàn)方 式。人眼更 易于處理小 塊信息。因 此,將包含 新信息塊的 列或行與前 面的塊從視 覺(jué)上分開(kāi)也 同等重要。 設(shè)置列表頁(yè) 面時(shí),應(yīng)該 使用幾個(gè)空

53、行或垂直行 以將各欄分 開(kāi)。在輸出 包含新信息 項(xiàng)的行之前 ,應(yīng)畫(huà)一空 行或下劃線(xiàn) 。下列主題說(shuō) 明 ABAP/4 為設(shè)置列表 頁(yè)面提供多 種功能。14定位輸出可以在當(dāng)前 頁(yè)的任意位 置定位 WRITE 和 ULINE 語(yǔ)句的輸出 。緊接著位 置規(guī)格的 WRITE、 SKIP、 或 ULINE 語(yǔ)句可以覆 蓋現(xiàn)有輸出 。對(duì)于當(dāng)前 輸出位置, 參閱系統(tǒng)字 段 SY-COLNO( 用于當(dāng)前列 ) SY-LINNO( 用于當(dāng)前行 )可以使用系 統(tǒng)字段在頁(yè) 上引導(dǎo)。ABAP/4 提供一些關(guān) 鍵字以更改 絕對(duì)和相對(duì) 輸出位置。 參見(jiàn)下列主 題:SAP 允許只讀取 系統(tǒng)字段 SY-COLNO 和 SY-L

54、INNO。 因此,要定 位輸出,只 能使用這些 主題中說(shuō)明 的語(yǔ)句。不 要通過(guò)直接 給系統(tǒng)字段 賦值來(lái)定位 輸出。在那 種情況下, SAP 不能保證系 統(tǒng)字段的內(nèi) 容,因?yàn)檫@ 樣賦值不觸 發(fā)合理性檢 查。即使現(xiàn) 在,也可將 列號(hào)賦給頁(yè) 外的 SY-COLNO, 但這樣做毫 無(wú)意義。14絕對(duì)定位指定絕對(duì)位 置之后,將 后續(xù)輸出寫(xiě) 入在固定行 和列開(kāi)始的 屏幕。14水平定位要指定水平 輸出位置, ABAP/4 提供兩種方 法:WRITE 和 ULINE 語(yǔ)句的 AT 選項(xiàng)(參見(jiàn) 在屏幕上 位 WRITE 輸出 (頁(yè) 44) )以及 POSITION 語(yǔ)句。POSITION 語(yǔ)句的語(yǔ)法 為:語(yǔ)句POSITION <col>.該語(yǔ)句將水 平輸出位置 和 SY-COLNO 系統(tǒng)字段設(shè) 置為 <col>。 如果 <col> 超出頁(yè)面之 外,則忽略 后續(xù)輸出語(yǔ) 句。系統(tǒng)將 POSITION 語(yǔ)句或使用 AT 格式化的 WRITE 語(yǔ)句的輸出 寫(xiě)入指定位 置,不管是 否有足夠空 間。超出該 行的輸出部 分被截?cái)唷?其他 WRITE 輸出在下一 行開(kāi)始。14垂直定位如下指定垂 直輸出位置 :語(yǔ)法SKIP TO LINE <n>.該語(yǔ)句將垂 直輸出位置 和 SY-LINNO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論