Smartforms 总计小计

第一步:在表格接口中定义总计参数(P_TOTAL_S)和总行数(P_TOTAL_L)参数,如下图:

第二步:在全局定义(全局数据的tab页中)中定义:当前页(Z_CURRPAGE),小计(Z_SUBTOTAL_S),小计(Z_SUBTOTAL_S_L),总数(Z_COUNT),总数(Z_COUNT_L),如下图示:

第三步:在全局定义(货币/数量字段tab页中)中定义数量、金额字段,如下图所示:

第三步:在LOOP循环的计算tab页中定义计算规则,如下图所示:

第四步:添加程序行并添加如下代码:

Z_COUNT = Z_COUNT + 1.

IF SFSY-PAGE <>  Z_CURRPAGE.

Z_SUBTOTAL_S = Z_SUBTOTAL_S_L.

Z_CURRPAGE = SFSY-PAGE.

ENDIF.

Z_SUBTOTAL_S_L = WA_ITAB-ERFMG.

如下图所示:

第五步:在脚注小计里添加程序行并添加如下代码:

IF SFSY-PAGE > 1 AND P_TOTAL_L = Z_COUNT AND Z_COUNT_L = Z_COUNT.

Z_SUBTOTAL_S = Z_SUBTOTAL_S_L.

ENDIF.

Z_COUNT_L = Z_COUNT.

如下图所示:

第六步:小计显示,如下图示:

第七步:总计显示,如下图示:

特别注意:在显示明细数据时,Table
中的设置:

Table --à明细设置:------〉L2  
无换页选中,如下图示:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 10:18:48

Smartforms 总计小计的相关文章

汽车仪表是如何计算总计里程和小计里程的?

现在汽车仪表大部分的总计里程和小计里程都是显示在屏幕上的,这包括段码屏.点阵屏.TFT彩屏等,虽然显示形式不一样,但是从业务需求和软件应用层的实现策略来讲,原理应该都是通用的.本文不涉及具体车型,仅对一般的业务逻辑作介绍,一是为了自己总结记录,二是期望吸引同行或爱好者交流. 1.总计里程 ODO(Total Odometer )即总计里程,顾名思义,主要作用是记录汽车总的行驶里程,一般来讲,在用户使用过程中是无法对其修改或清零的,因为它是对二手汽车价值评估的一项重要数值,当然随意篡改这一数据也是

sqlservere小计合计总计

SELECT CASE WHEN GROUPING(F1) = 1 THEN '总计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 1 THEN F1+'合计' WHEN GROUPING(F1) = 0 AND GROUPING(F2) = 0 AND GROUPING(F3) = 1 THEN F1+'的'+F2+'小计' ELSE F1 END AS F1 , CASE WHEN GROUPING(F3) = 1 THEN '' ELSE F2 END

给RDLC报表添加小计和总计

利用RDLC报表的添加总计功能,可以很方便的给报表添加小计和总计功能.? 操作步骤如下: 1.设定报表的分组字段,如下图:? 2.点击行组下面“详细信息”右边的三角箭头,在下拉菜单中选择添加总计-晚于(在下面)或早于(在上面),就可增加小计行. 3.点击行组下面“Group1”右边的三角箭头,在下拉菜单中选择添加总计-晚于(在下面)或早于(在上面),就可增加总计行. 4.添加小计和总计后的报表模板如下图所示:? 5.报表实际运行效果如下图所示:?

Oracle分组小计、总计示例(grouping sets的使用)

1.首先创建一个表 Sql代码 [sql] view plain copy create table TE ( ID        VARCHAR2(2), T_CODE    VARCHAR2(4), T_NAME    VARCHAR2(4), T_AMOUNT  INTEGER, T_DEPT    VARCHAR2(4), T_PROJECT VARCHAR2(4), T_TYPE    VARCHAR2(1) ) 2.录入数据如下: Sql代码 [sql] view plain cop

Sql使用WITH ROLLUP 进行分类汇总及小计功能

效果如下: 测试代码如下: CREATE TABLE #test    (      Name VARCHAR(10) ,      [procedure] CHAR(1) ,      model VARCHAR(5) ,      quantity INT    ); INSERT  INTO #test        SELECT  'A' ,                '1' ,                'φ50' ,                500        UNI

oracle group by rollup decode grouping nvl等判断或者小计合计心得

在做oracle 047第12题时,遇到group by 语句,由此遇到group by  rollup,decode,grouping,nvl,nvl2,nullif,RATIO_TO_REPORT等. 1. decode  与if...then,case...when...这类流数据语句功能差不多 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(值1) ELSIF 条件=值2 THEN RETU

Sql分组合计小计查询

效果如下: 用的表和字段: -table 实收水费:hx_t_received --字段收费部门id:hx_fdepartmentid  1.收费部门名称:hx_fdepartmentname 应收水费信息ID:hx_freceivableid --收费类别:hx_ftype (水费(1):再分[开户(table) 供水类别:自来水(100000001)==水费,中水(100000002)==中水费],代理费(2)==污水处理费) --实收金额:hx_freceivedamount  创建时间:

查询报表增加小计功能

SELECT ISNULL(T1.KHMC, '总计')客户名称, ISNULL(T1.DJMC, '小计')单据名称, CAST(SUM(T1.SL) AS INT)数量 FROM ( SELECT vl.DM1, k.KHMC, vl.DJMC, vl.SL FROM VW_LSXHDMX AS vl INNER JOIN KEHU AS k ON k.CKDM = vl.DM1 ) T1 GROUP BY T1.KHMC , T1.DJMC WITH ROLLUP

排序(sort)、小计(subtotal)

排序在ALV中也是一个比较重要的功能,在有合计(参照-->SALV教程11-Aggregations应用-合计(total).小计(subtotal).平均值(average))的场合下,排序能实现排序字段的小计(subtotal). 具体实现方法: 1,通过get_sorts方法得到类CL_SALV_SORTS的引用, 2,通过add_sort方法添加排序的字段,如果还要小计,输入参数subtotal就要传入’X' 完整代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1