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 里面给查询报表的格式进行相关设置:
效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?