报表输出格式的控制
(1)表格的制作
SAP Report List 开发中并没有表格的概念,所谓表格实现上是通过多个线条绘制而成。具体的线条输出位置,需要开发人员根据输出报表的大小,字段长短及位置来确定。
1.线条包括横线的竖线,横线的绘制语法可以指定具体位置及长度,默认为当前屏幕宽度。
[For Example]
ULINE AT 3(10). "绘制横线
*SKIP.
SET BLANK LINES ON.
WRITE AT 3(10) SY-ULINE. "绘制横线,两种效果一样
*WRITE AT /3(10) SY-ULINE
2.竖线的输出固定为一个字符的高度,Report List中字符大小是固定的。
[Syntax]
WRITE POS SY-VLINE.
[For Example]
DO 3 TIMES.
ULINE AT 1(50).
WRITE: /1 SY-VLINE,50 SY-VLINE. "位置1和位置50绘制竖线
ULINE AT /1(50).
ENDDO.
[Rendering]
一个一列三行的表格就绘制完成了。
(2)按钮输出格式
1.SKIP:用于输出空行,其扩展语法如下:
SKIP n:从上行开始创建n个空行。
SKIP TO LINE n:在第n行创建一个空行。
[For Example]
WRITE 'LINE 1'.
SKIP 5.
WRITE 'LINE 5'.
SKIP TO LINE 8.
2.NEW-LINE:用于在Report List中产生换行,但不会产生空行。
3....NO-SCROLLING:锁定其下一行所输出的值,不会随屏幕左右移动,该定义只对语法的下一行有效,主要就用于报表输出中一些关键位的冻结功能。
4....SCROLLING:其下一行所输出的值会随屏幕左右移动。
[For Example]
NEW-PAGE LINE-SIZE 255.
WRITE: / 'This line will be moved'.
NEW-LINE NO-SCROLLING.
WRITE: / 'This Line will not be moved'. "該行輸出值被鎖定,不會隨屏幕左右移動。
WRITE: / 'This line will be moved'.
5.NEW-PAGE:对输出报表进行分页,其扩展语法如下:
...NO-TITLE:新的分页中不会有标题、日期、页码。
...WITH-TITLE:新的分页中继承首页的标题、日期、页码。
...NO-HEADING:在该报表的新分页中不会产生表头。
...WITH-HEADING:输出的新页中继承首页的COLUMN HEADING。
...LINE-COUNT lin:设置新页的行数。
...LINE-SIZE col:设置新页的宽度。
6.TOP-OF-PAGE:该语法用于定义动态页眉,在所有的页面首行显示出来。
7.END-OF-PAGE:该语法用于定义动态页脚,要触发该事件,需要在Report语句的LINE-COUNT附加项中为其预留输出行数。页脚事件块中的输出始终出现在页面下方。
[For Example]
REPORT ZZWEI_REPORT_LIST LINE-SIZE 300 LINE-COUNT 12(6) NO STANDARD PAGE HEADING.
START-OF-SELECTION.
WRITE: / 'NAME:', 10 'TOM',
/ 'AGE:',23,
/ 'Sex','Male',
/ 'ADDRESS:','BEIJING'.
NEW-PAGE NO-HEADING NO-TITLE.
WRITE: / 'NAME:', 10 'JERY',
/ 'AGE:',25,
/ 'Sex','FeMale',
/ 'ADDRESS:','SHENZHEN'.
*SET BLANK LINES ON.
TOP-OF-PAGE.
WRITE: / 'Current Page:',SYST-PAGNO.
ULINE.
END-OF-PAGE.
ULINE.
WRITE: /'THIS THE END'.