记录ABAP开发的日常——SmartForms模板固定N行显示


前言:这里面介绍一下SmartForms里面使用Template的情况下如何固定几行显示数据。

1.全局定义参数

全局定义两个变量用于控制输出:G_PAGE和G_COUNT.
G_PAGE用于换页标识;G_COUNT用于统计当前显示行数;

2.创建循环主体

2.1 创建循环

2.2 创建程序行

CLEAR G_PAGE.

G_COUNT = G_COUNT + 1.

IF G_COUNT MOD 4 = 0.
G_PAGE = 'X'.
ENDIF.

IF G_COUNT = LINES( ITAB1 ).
CLEAR G_PAGE.
ENDIF.

2.3创建命令行

3.补空行

DATA:LV_LINE TYPE I.
LV_LINE = LINES( ITAB1 ).

DATA:LV_COUNT TYPE I.
DATA:LV_YUSHU TYPE I.
LV_YUSHU = LV_LINE MOD '4'.

DATA: LV_TABIX TYPE I.
CLEAR LV_TABIX.
*BREAK-POINT.
DO 4 TIMES.
 LV_TABIX = LV_TABIX + 1.
 IF LV_TABIX = LV_YUSHU.
   LV_COUNT = 4 - LV_YUSHU.
   DO LV_COUNT TIMES.
   APPEND INITIAL LINE TO ITAB1.
   ENDDO.
 ENDIF.
ENDDO.

如此就完成了模板固定4行显示数据,缺少的补空行。