sf 抬头多好号填充空格 并计算每页的页数

思路:

1、定义参数,注意初始值

2、同样确定输出几行

CLEAR:itab3[].
  b = b + 1. "计算空行时需要的总行数




IF A > 7.
  CLEAR A.
ENDIF.

A = A + 1.

IF A > 7.
  PAGE02 = PAGE02 + 1.
ENDIF.

这里的B 为每个抬头好对应的内存循环表的行数,之力只能在这给他计算总行数了。

A 则是控制输出几行 PAGE02 是每个抬头好对应的内存循环表的输出每页翻页的页码。

3、达到一定行数是跳页

4、计算行数并出入空行

IF B MOD 8 <> 0.
  C = B MOD 8.

  D = 8 - C.

  CLEAR ITAB2.

  DO D TIMES.
    APPEND itab2 to itab3 .
  ENDDO.
ELSEIF B MOD 8 = 0.
  DO 8 TIMES.
    APPEND itab2 to itab3 .
  ENDDO.
ENDIF.



CLEAR: b.

注意这里的CLEAR ITAB2. 很重要,不清楚的话,会把每一页的空行加到下一页去。

5、加空行

6、计算每个抬头的页数

num = num + 1.
CLEAR F.

LOOP AT itab1 WHERE belnr = itab-belnr.
  f = f + 1.
ENDLOOP.

IF F MOD 8 = 0.
  F = F + 1.
ENDIF.

DO 100 TIMES.

  IF f > 0.

    IF f - 8 > 0.
        f = f - 8.
        page01 = page01 + 1.
    ENDIF.

  ENDIF.

ENDDO.

CLEAR:A,B.

6.清空

7、OK

原文地址:https://www.cnblogs.com/huangjianisgood/p/2769577.html