T100——查询 r类 报表开发流程
报表开发流程:
1、建立入口程序 如r类的作业:cxmr500
步骤:
 azzi900中建立程序代号
 azzi910中建立作业代号
 设计器--规格--签出
 设计器--程序--签出
 adzp168(r.a)产生画面
 设计器--规格--下载规格--修改规格--上传规格
 设计器--程序--下载程序--修改程序--上传程序
 azzi850中给程序赋权限
范例cxmr503,r.a后,画面等内容弄好后,代码上call报表子程序,具体见:

主要关注cxmr503_process函数:
#add-point:process段前處理 IF cl_null(g_master.wc) THEN LET g_master.wc = '1=1' END IF LET g_master.wc = g_master.wc CLIPPED," AND xmdastus = 'Y' AND xmdaent = ",g_enterprise," AND xmdasite = '",g_site,"'" CALL cxmr503_x01(g_master.wc) #end add-point
注意CALL cxmr503_x01(g_master.wc),这里要和cxmr503_x01里面的参数一致,一个就传入一个,两个就传入两个;
g_master.wc 是根据用户所选的条件进行组织(如CONSTRUCT),传入到cxmr503_x01后还会进行处理。
 在cxmr500的process函数中调用报表元件的代号,上传r类的程序;
然后就可以执行cxmr500,根据选择的条件进行打印。

到cxmr503_x01:
查询报表、凭证报表开发流程
 azzi901 中建立报表的元件代号 
 	查询报表x01结尾 例如:cxmr500_x01  如有多个:cxmr500_x02,cxmr500_x03 以此类推
 	凭证报表g01结尾 例如:cxmr500_g01  如有多个:cxmr500_g02,cxmr500_g03 以此类推
 
  设计器--规格--签出
  设计器--程序--签出
  adzp188(报表元件设计器)中输入报表元件代号
  根据需求选择报表类型、纸张设定(凭证报表才需要)、资料表、栏位、群组、筛选、参数、排版
  产生4gl、产生4rp(凭证报表才需要)
  
  设计器--程序--下载--上传
  设计器--gr样板--下载样板--通过genero 打开--上传4rp
范例cxmr503_x01,具体见下截图:








生成报表元件(4gl)后,下载程序,代码需要修改:

 
#add-point:sel_prep g_order name="sel_prep.g_order" LET g_where = " WHERE xmdaent=xmdcent AND xmdadocno=xmdcdocno ", " AND xmdcent=imaalent AND xmdc001=imaal001 AND imaal002='",g_dlang,"'", " AND xmda_t.xmdastus = 'Y' AND ",tm.wc CLIPPED #end add-point


另外,我们可以在azzi300 里面给查询报表的格式进行相关设置:

效果:

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号