一.GR 报表开发步骤:
1. azzi900,azzi910 注册程序编号,作业编号;例如 cxmr001
2. 签出 cxmr001 的规格与程序;
3. r. a 产生 cxmr001 的界面,即 QBE 查询界面;
4. 下载 cxmr001 的画面,添加字段,之后上传画面;
5. 下载 cxmr001 的程序,上传;
6. azzi901 注册子元件,例如 cxmr001_g01;
7. 签出 cxmr001_g01 的规格与程序;
8. adzp188 产生 cxmr001_g01 的样板,一步步设置好点击产生 4rp 按钮;
9. 下载 cxmr001_g01 程序,修改 sql 语句,之后上传程序;
10.系在 cxmr001_g01 样板,修改样板,上传样板;
11.azzi850 赋予 cxmr001 权限;
12.执行 cxmr001,测试报表。
二.GR 报表添加群组合计:
1. 修改代码,在 after group of 后面添加合计值,上传程序;
2. 重新下载样板,打开样板,在 after group XXX 下面添加容器:
注意命名,注意将控件转换成数值型,注意 value 值更改。
三.单身固定行数:
1.rep()函数中定义变量:
#单身固定行数
DEFINE l_cmd
STRING
DEFINE l_body_cnt
LIKE type_t.num5
DEFINE l_display_line2 LIKE type_t.chr1
DEFINE l_display_line3 LIKE type_t.chr1
DEFINE l_display_line4 LIKE type_t.chr1
DEFINE l_display_line5 LIKE type_t.chr1
DEFINE l_display_line6 LIKE type_t.chr1
DEFINE l_display_line7 LIKE type_t.chr1
DEFINE l_display_line8 LIKE type_t.chr1
DEFINE l_lineno
DEFINE l_skip
LIKE type_t.num5
LIKE type_t.chr1
2. #能见度控制—
LET l_lineno = l_lineno + 1
PRINTX l_lineno
#預設給每個空白行的顯示 flag 為 N
LET l_display_line2 = ‘N’
LET l_display_line3 = ‘N’
LET l_display_line4 = ‘N’
LET l_display_line5 = ‘N’
LET l_display_line6 = ‘N’
LET l_display_line7 = ‘N’
LET l_display_line8 = ‘N’
LET l_skip=’N’
IF l_lineno<>l_body_cnt THEN
IF l_lineno MOD 8=0 THEN
LET l_skip=’Y’
END IF
END IF
IF l_lineno = l_body_cnt THEN
CASE (l_body_cnt MOD 8)
WHEN 1 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
LET l_display_line4 = ‘Y’
LET l_display_line5 = ‘Y’
LET l_display_line6 = ‘Y’
LET l_display_line7 = ‘Y’
LET l_display_line8 = ‘Y’
WHEN 2 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
LET l_display_line4 = ‘Y’
LET l_display_line5 = ‘Y’
LET l_display_line6 = ‘Y’
LET l_display_line7 = ‘Y’
WHEN 3 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
LET l_display_line4 = ‘Y’
LET l_display_line5 = ‘Y’
LET l_display_line6 = ‘Y’
WHEN 4 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
LET l_display_line4 = ‘Y’
LET l_display_line5 = ‘Y’
WHEN 5 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
LET l_display_line4 = ‘Y’
WHEN 6 LET l_display_line2 = ‘Y’
LET l_display_line3 = ‘Y’
WHEN 7 LET l_display_line2 = ‘Y’
END CASE
END IF
PRINTX l_skip
PRINTX l_display_line2
PRINTX l_display_line3
PRINTX l_display_line4
PRINTX l_display_line5
PRINTX l_display_line6
PRINTX l_display_line7
PRINTX l_display_line8
四.t 类作业调用-方法 1:
1. azzi988 中维护
2. cpmr002 代码中 process 段修改:
IF cl_null(g_master.wc) THEN
CALL l_arg.clear()
LET l_token = base.StringTokenizer.create(ls_js,”,”)
LET l_cnt = 1
WHILE l_token.hasMoreTokens()
LET ls_next = l_token.nextToken()
IF l_cnt>1 THEN
LET
ls_next.subString(ls_next.getIndexOf(“‘”,1)+1,ls_next.getLength())
LET ls_next
ls_next
=
=
ls_next.subString(1,ls_next.getIndexOf(“‘”,1)-1)
END IF
LET l_arg[l_cnt] = ls_next
LET l_cnt = l_cnt + 1
END WHILE
CALL l_arg.deleteElement(l_cnt)
LET g_master.wc = l_arg[01]
ELSE
#原先报表的参数处理段
END IF
CALL cpmr002_g01(g_master.wc)
五.t 类作业调用-方法 2:
1. 修改 apmt400 作业,output 段,直接调用 g01 即可。
六.搬 GR 报表方法:
1.adzi888 搬注册信息,包括 azzi900,azzi910,azzi901;
2.汇出设计数据,汇入致 2 区;
注意先汇入元件,再汇入作业;
转载请注明:赫非域 » T100 GR报表开发整理