1 格式化列表輸出
1 字段輸出語句
WRITE [AT /pos(len)] f [<options>].
2 輸出圖標符號
WRITE symbol_name AS SYMBOL.
WRITE icon_name AS ICON.
其中symbol_name和icon_name是系統(tǒng)定義的常量。輸出符號定義之前,需要先包含這些程序INCLUDE <symbol>.和INCLUDE <icon>.或者 INCLUDE <list>.
在列表中有時也需要將變量以復選框的形式輸出WRITE f AS CHECKBOX.
3 輸出線和空格
輸出水平線:ULINE [AT /pos(len)].等價于WRITE [AT /pos(len)] SY-ULINE.
生成豎直線:WRITE [AT [/][<pos>]] SY-VLINE.等價于WRITE [AT [/][pos]] '|'.
4 設定輸出位置
- POSITION col. 指定列所在位置
- SKIP TO LINE n. 指定光標行位置
以上兩句用于指定光標位置 - NEW-LINE.指定光標起始于一個新行
- WRITE...UNDER f.指定光標仍位于當前行,但列位置設定為以前輸出的字段f的正下方
5 設定輸出格式
使用FORMAT語句可以實現(xiàn)其他一些屏幕格式功能FORMAT <option> [ON|OFF] <option> [ON|OFF]...一旦設定,F(xiàn)ORMAT語句中設置的格式將適用于所有后續(xù)輸出語句,直到再次使用OFF選項關閉。
- COLOR n [ON|OFF] 設定列表行的背景色
- INTENSIFIED [ON|OFF] 設定是否將字段強化輸出
- INVERSE [ON|OFF] 設定是否將背景即文字顏色反轉輸出
- HOTSPOT [ON|OFF] 將光標以手型顯示,點擊觸發(fā)行選擇事件
- INPUT [ON|OFF] 設定輸入字段
- RESET [ON|OFF] 恢復上述所有設定默認值
2 頁面格式設定
1 列表標題和欄目元素
可以通過(Goto->Text elements->List Heading)維護列表標題和最多四個欄目標題;如果沒有維護,則列表將默認使用系統(tǒng)變量SY-TITLE中的內容作為標題進行輸出。
可以在REPORT或PROGRAM語句中使用NO STANDARD PAGE HEADING隱藏所有的文本元素中預定的表頭行和標題欄。
REPORT|PROGRAM NO STANDARD PAGE HEADING.
同時,還可以使用NEW-PAGE語句用自設定的表頭行和標題代替標準設定
NEW-PAGE NO-TITLE|WITH-TITLE NO-HEADING|WITH-HEADING.
2 頁長與葉寬
在REPORT或PROGRAM語句中使用LINE-SIZE和LINE-COUNT附加項可以為列表創(chuàng)建預定義的行長度及每頁列數(shù)目,該設定將應用于所有級別的列表
REPORT|PROGRAM rep LINE-SIZE width LINE-COUNT length [(footer_length)].
可以使用NEW-PAGE語句在列表級內部設定,該值將覆蓋REPORT語句中的全局設定
NEW-PAGE LINE-SIZE width LINE-COUNT length [(footer_length)].
3 頁眉與頁腳
TOP-OF-PAGE 事件可以在每一個新頁面生成時被觸發(fā)
END-OF-PAGE 定義頁腳,要觸發(fā)該事件,需要REPORT語句的LINE-COUNT附加項中為其預留輸出行數(shù);或者通過RESERVE語句進行觸發(fā)。頁腳事件塊中的輸出將始終出現(xiàn)在頁面下方
4 設定固定欄
使用SET LEFT SCROLL-BOUNDARY語句可以設定列表的固定欄
SET LEFT SCORLL-BOUNDARY column_num.
該欄不會隨列表的水平卷動而改變位置,總是出現(xiàn)在屏幕左側。如果不指定,則使用SY-SOLNO作為該左側邊界。邊界限定必須在每一個新頁面中進行(例如TOP-OF-PAGE)
使用下面的語句可以禁止列表中的下一列在卷動時同時移動,該功能可以使行比較長的列表中對應注釋行總是可見NEW-LINE NO-SCROLLING.
5 跳至任意行
使用SCROLL語句可以在程序運行過程中隨時跳至任意的列表行
SCROLL LIST TO FIRST PAGE | LAST PAGE | PAGE pag [INDEX idx] [LINE lin].
6 系統(tǒng)頁面列表字段
在列表輸出過程中,系統(tǒng)將填充下列相關的系統(tǒng)字段
- SY-LINCT REPORT語句中設定的LINE-COUNT
- SY-LINSZ REPORT語句中設定的LINE-SIZE
- SY-SROWS 當前顯示窗口中的列表行數(shù)
- SY-SCOLS 當前顯示窗口中的列表欄目數(shù)
- SY-PAGNO 當前頁的頁碼
- SY-LINNO 當前輸出頁面中的當前選定行序號
- SY-COLNO 當前輸出頁面中的當前選定列序號
3 選擇屏幕設定
報表程序一般都包括選擇屏幕,該屏幕可以接受用戶輸入的選擇標準,并可以通過其中定義的變式,輔助用戶輸入。
選擇屏幕可以使用語句PARAMETERS或者SELECT-OPTIONS,SELECTION-SCREEN等語句進行創(chuàng)建和格式化。
除了屏幕默認的選擇屏幕1000之外,用戶還可以使用SELECTION-SCREEN語句創(chuàng)建其他選擇屏幕,并在適當處使用CALL SELECTION-SCREEN語句調用該選擇屏幕。具體語法如下:
SELECTION-SCREEN BEGIN OF SCREEN scr_nr.
PARAMETERS ...
SELECT-OPTIONS ...
SELECTION-SCREEN BEGIN OF SCREEN scr_nr.
...
CALL SELECTION-SCREEN scr_nr.
4 數(shù)據(jù)整理輸出
結構化列表數(shù)據(jù)整理輸出的基本流程分為下述環(huán)節(jié):定義內表,向內表中填充數(shù)據(jù),經(jīng)過排序,刪除重復行等整理循環(huán)輸出,在循環(huán)過程中,還要進行一些控制級的相關操作。