由于报表中插入了空行,以至于序号乱了。那么能跳开空行重排吗?

本文介绍了一种在表格中处理序号及为空白行编号的方法,通过使用特定的表达式来实现序号的连续性和空白行的有效标识。

当然可以,在序号列里面将原来的表达式(expression):

getrow()

改为:

if(isnull(a), long(a), getrow() - ComulativeSum(if(isnull(a), 1, 0) for all))
//这里假设当 a 列为空时,表示该行为空,你可以改为你的判断条件, long(a) 是表示空白行的序号

//还可以为空白行进行编号
if(isnull(a), '空行:' + string(ComulativeSum(if(isnull(a), 1, 0) for all)), string(getrow() - ComulativeSum(if(isnull(a), 1, 0) for all)))


 

SAP Smartforms是一个强大的工具,用于创建复杂的打印输出格式,例如报表。要实现每页固定打印8行记录并根据数据量动态插入空行报表,我们需要进行一系列的设置和编程逻辑编写。 参考资源链接:[Smartforms 实例:创建每页8行记录的报表,含空行填充](https://wenku.youkuaiyun.com/doc/qoc4z6zs74?spm=1055.2569.3001.10343) 首先,在Smartforms的设计界面上,你需要通过循环逻辑来处理每页记录的打印。可以通过定义一个循环,在循环中设置计数器跟踪当前行数。一旦计数器达到8,检查是否还有足够的记录。如果没有,那么在当前页面插入一个空行。这个逻辑可以通过ABAP编程逻辑来实现,例如使用AT PF-STATUS事件来编写条件语句。 其次,为了保持报表的格式一致性,你需要定义段落格式来指定报表的布局。在Smartforms中创建段落格式,可以设置页眉、页脚等固定信息,以及表格的行列样式。样式可以定义字体、对齐方式、颜色等视觉元素。 接着,为了打印报表,你需要处理输入数据的结构。在SE11中创建结构,例如Header和Item结构,用于存储报表所需的凭证号、销售订单号、移动类型代码、成本中心等关键字段。这些结构将作为Smartforms的输入数据,确保数据正确地格式化到报表中。 此外,Smartforms中的表格控件能够定义报表的打印格式,包括边框、列宽等。你需要设置表格控件的属性,确保输出的报表符合要求,并且即使在不是套打的情况下,表格线也需要输出。 最后,为了实现报表的排序,你可能需要使用ABAP代码来控制数据的排序逻辑,以便根据凭证号或其他字段将记录组织在一起。 通过上述步骤,你可以创建一个每页固定打印8行记录并且在数据不足时插入空行的Smartforms报表。为了更深入地理解这些概念和步骤,建议参考《Smartforms 实例:创建每页8行记录的报表,含空行填充》这一资源,它将为你提供具体的实现细节和示例,帮助你掌握Smartforms报表设计的关键技术。 参考资源链接:[Smartforms 实例:创建每页8行记录的报表,含空行填充](https://wenku.youkuaiyun.com/doc/qoc4z6zs74?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值