水晶报表制作技巧
的有关信息介绍如下:以制作一张请购单联查报表为例。
作业编码:apmr002
报表名称:请购采购收货查询
报表功能:查询每张请购单的执行采购和收货情况。
我们先根据需求编写好SQL语句,并用数据库查询工具调试成功。单个的SQL语句我们可以直接用p_query来建立(制度步骤有独立制作文档),非常方便,这里我是借助一条查询语句来测试CR报表制作过程。
1、维护p_zz
在P_zz基础资料中维护报表基本信息。
2、维护p_genxml作业
撰写sql查询语句,生成需要得到的数据字段。这里面我经过测试后,发现只要是能够运行的SQL语句都可以,包括多表关连。将测试好的SQL语句直接自制到“程序代码”中,确定即可能解析出来。
3、生成xml文件并下载到本地c:\tiptop目录下。(如果没有此目录需要新建一个)
我们可以在xml中直接修改添加我们需要的字段,就不需要每次去在p_genxml中写sql语句生成xml了。但是要注意的是要注意xml中的字段类型,这点我们可以查看数据字典来得到。
4、设置报表显示页面
打开CR报表制作工具,选择“报表向导”,可以设置显示格式。由于报表页面默认会有一些基础信息显示(如报表标题、公司名称、制作人等等),如果我们新建报表得一个个设计,这里面我们直接用已存在的报表模板来复制,如我们用axmpr110的rpt来复制。
(1)、将axmr110的rpt文件复制到本地,用CR报表工具打开,如下图操作:
(2)、新建连接,选择到我们自己生成的xml数据源。
(3)、将源来的数据源删除,添加上我们自己的数据源。
(4)、此时字段上已经有我们自己的数据字段了,拖动设置页面。
(5)、保存命名cpmr002_2_std.rpt
5、将xml文件上传到服务器中。Topprod\topcust\cpm\cpmr02
将制度好的rpt报表模板上传到服务品指定的目录中。文件夹0表示繁体,文件夹2表示简体中文。
6、设置4fd画面档
字段的命名名称可以直接使用数据库字段的名称。
7、设置4gl源码档
函数:cl_prt_cs1()
Cl_prt_cs1(cimr100’,’cimr100’,’select ima01,ima02,ima021,ima03 from ima_file where ’,’Y:N’)
格式:依次参数为:程序编号,样板编号,QBE组出的SQL查询语句,p1-p20动态参数。
CALL cl_prt_cs1('cpmr002','cpmr002',l_sql,'')
SQL语句:
LETl_sql="select pml.pml01,pml.pml04,pml.pml041,pml.pml20,pmn.pmn20,rvb.rvb07,rvb.rvb30 ",
"FROM pml_file pml,pmn_file pmn,rvb_file rvb WHERE pmn.pmn24(+)=pml.pml01 and rvb.rvb04(+)=pmn.pmn01 and ",tm.wc, " ORDER BY pml.pml01"
8、发布、编译、执行。
9、设置报表格式p_zaw
(先前必需要在p_zz程序资料输入中维护,也就是说先前需要做完查询的画面档4fd,程序档4gl,制作的时候自然会维护p_zz,参照程序和界面设计操作步骤执行;画面档和程序档的制作与报表模板的制作可以不分先后顺序,按自己的习惯,先把报表模板设置好,查询条件也有了,这样在设计页面时页面条件条件的布局也清楚了,源代码里面的SQL语句也清楚了)下面是p_zaw中维护的界面!
特别注意:
勾选本组画面资料为客制资料。
行里面的CR样板名称无需后缀名。