创建一个即时打印XML报表

即时打印的XML报表不需要创建PLSQL程序包,功能顾问良师益友,写个简单的XML报表还是可以的。

其步骤大致分为如下:

  1. 创建XML文档。

  2. 创建RTF模板。

  3. 创建数据源和上传RTF模板。

  4. 创建请求并添加到你需要的请求组。

以下具体说明:

创建XML文档,其包括如下部分:

分别是参数、触发器、数据查询、数据结构。

参数:顾名思义,报表参数,用于输入查询条件。

触发器:用于执行系列的FUNCTION,比如用于初始化,这个非必输。

数据查询:SQL主体。

数据结构:输出结构。

文档格式示例如下:

举例说明,我要建立一个银企直连付款记录清单(客户化数据)主要取客户化付款表和发票,没有复杂报表控制及输出:

先建立XML数据如下:

下面是项目上的源码,参考如下:

<?xml version = '1.0' encoding = 'UTF-8'?>
<!-- $Header: CUXGLJEPRT.xml 115.1 2015/11/23 14:15:06 xdouser noship $ -->
<!-- dbdrv: none -->
<dataTemplate name="CUXGLJEPRT" version="1.0">
   <parameters>
   		<parameter name="P0" dataType="number"/><!-- :P0 是否批量打印     0/1 -->
      <parameter name="P1" dataType="number"/><!-- :P1 应用产品         GL 101,AP 200,AR 222 -->
      <parameter name="P2" dataType="number"/><!-- :P2 打印凭证 单据ID  GL:je_header_id  AP:INVOICE_ID/CASH_RECEIPT_ID-->
      <parameter name="P3" dataType="character"/><!-- :P3 单据类型 AP_INVOICES/AP_PAYMENTS-->
      <parameter name="P4" dataType="number"/><!-- :P4 汇总模板 -->
      
   </parameters>   
   <dataQuery>
	    <sqlStatement name="Q_LIST">
         <![CDATA[
	SELECT to_number(gjh.doc_sequence_value) AS DOC_VALUE
      ,to_char(gjh.default_effective_date, 'YYYY-MM-DD') AS GL_DATE
      ,gcck.segment1 AS COMPANY_SEG
      ,gjh.batch_name AS BATCH_NAME
      ,gjh.header_name AS HEADER_NAME
      ,gjl.je_line_num AS LINE_NUM
      ,gjh.period_name AS PERIOD_NAME
      ,nvl(gjh.currency_conversion_rate, 0) AS RATE
      ,gjct.user_je_category_name AS je_category
      ,gjl.entered_dr AS entered_dr
      ,gjl.entered_cr AS entered_cr
      ,gjl.accounted_dr AS accounted_dr
      ,gjl.accounted_cr AS accounted_cr
      ,(CASE
         WHEN gjh.reversed_je_header_id IS NOT NULL
              AND gjh.je_source = 'Manual' THEN
          '冲销:' || gjl.description
         ELSE
          gjl.description
       END) AS LINE_DESC
      ,nvl(length(gjl.description),0) AS LINE_DESC_LEN
      ,TRIM(gjs.user_je_source_name) AS JE_SOURCE
      ,gcck.concatenated_segments AS CONC_SEGMENTS
      ,nvl(length(gcck.concatenated_segments),0) AS CONC_SEGMENTS_LEN
      ,cux_gl_journalprint_pkg.get_ccid_desc('SQLGL'
                                             ,'GL#'
                                             ,gcck.chart_of_accounts_id
                                             ,gjl.code_combination_id)  AS CONC_SEGMENTS_DESC
      ,nvl(length(cux_gl_journalprint_pkg.get_ccid_desc('SQLGL'
                                             ,'GL#'
                                             ,gcck.chart_of_accounts_id
                                             ,gjl.code_combination_id)),0)  AS SEGMENTS_DESC_LEN
      ,gjh.je_info.posted_by AS POSTED_PERSON 
      ,gjh.je_info.created_by  AS CREATE_PERSON
      ,gjh.je_info.approved_by  AS APPROVAL_PERSON
      ,gjh.je_info.acct_manager  as fin_manager
      ,gjh.je_info.attachment_num  AS ATTACHMENT 
      ,ledge.currency_code AS LEDGER_CURRENCY
      ,gjh.currency_code AS CURRENCY
      ,DECODE(ledge.currency_code,gjh.currency_code,'Y','N') base_currency_flag
      ,gl_flexfields_pkg.get_description_sql(x_coa_id  => gcck.chart_of_accounts_id
                                            ,x_seg_num => 1
                                            ,x_seg_val => gcck.segment1) COMPANY_NAME
      ,gjh.je_header_id
      ,cux_gl_journalprint_pkg.money_to_chinese(sum(nvl(gjl.accounted_dr, 0)) OVER(PARTITION BY gjh.je_header_id)) total_desc
  FROM gl_ledgers               ledge
      ,(SELECT gjb.name batch_name
              ,gjh.name header_name
              ,gjh.*
              ,cux_gl_journalprint_pkg.get_je_info(p_je_header_id      => gjh.je_header_id) je_info
         FROM gl_je_batches            gjb
         ,gl_je_headers            gjh
      where gjb.je_batch_id = gjh.je_batch_id) gjh
      ,gl_je_lines              gjl
      ,gl_je_sources_vl         gjs
      ,gl_je_categories_vl      gjct
      ,gl_code_combinations_kfv gcck
 WHERE 1 = 1
   AND ledge.ledger_id = gjh.ledger_id 
   AND gjh.je_header_id = gjl.je_header_id
   AND gjl.code_combination_id = gcck.code_combination_id
   AND gjh.je_source = gjs.je_source_name
   AND gjh.je_category = gjct.je_category_name
   AND ((nvl(gjl.accounted_dr,0) <> 0 OR nvl(gjl.accounted_cr,0) <> 0)
   OR (nvl(gjl.entered_dr,0) <> 0 OR nvl(gjl.entered_cr,0) <> 0)
   OR NOT EXISTS
        (SELECT 1
           FROM gl_je_lines gjl2
          WHERE gjl2.je_header_id = gjh.je_header_id
            AND (nvl(gjl2.entered_dr, 0) <> 0 OR nvl(gjl2.entered_dr, 0) <> 0) ))
   AND :p0 = 0
   AND :p1 = 101
   AND gjh.je_header_id = :p2
UNION ALL
SELECT to_number(gjh.doc_sequence_value) AS DOC_VALUE
      ,to_char(gjh.default_effective_date, 'YYYY-MM-DD') AS GL_DATE
      ,gcck.segment1 AS COMPANY_SEG
      ,gjh.batch_name AS BATCH_NAME
      ,gjh.header_name AS HEADER_NA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/615381.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

付费文章合集第二期

☞☞付费文章合集第一期 感谢大家一年来的陪伴与支持&#xff01; 对于感兴趣的文章点标题能跳转原文阅读啦~~ 21、Matlab信号处理——基于LSB和DCB音频水印嵌入提取算法 22、CV小目标识别——AITOD数据集&#xff08;已处理&#xff09; 23、Matlab信号发生器——三角波、…

API低代码平台介绍3-异构数据源的数据查询功能

异构数据源的数据查询功能 在上一篇文章中我们通过API平台定义了一个最基本的数据查询接口&#xff0c;本篇文章我们将上升难度&#xff0c;在原有接口的基础上&#xff0c;实现在MySQL数据库和Oracle数据库同时进行数据查询。   什么场景会需要同时对异构数据源进行查询&…

专业的保密网文件导入导出系统,让文件流转行为更可控安全

军工单位因其涉及国防安全和军事机密&#xff0c;对保密工作有极高的要求&#xff0c;通常会采取严格的网络隔离措施来保护敏感信息和提高网络安全性。常见的方式是通过物理隔离将网络彻底分隔开来&#xff0c;比如保密网和非保密网。网络隔离后&#xff0c;仍有数据交换的需求…

网络加密机的工作原理是什么

网络加密机是一种专用于网络通信加密的硬件设备&#xff0c;其重要性在现代信息技术和网络安全领域愈发凸显。随着网络技术的迅速发展和全球化进程的加快&#xff0c;网络传输的数据量急剧增加&#xff0c;数据安全问题也随之成为了一个亟待解决的问题。网络加密机正是为了解决…

异构图神经网络代码详解与实战

相关代码地址见文末 1.数据读取 数据采用的是电影推荐的数据集,movies.csv文件存储为电影及其题材。 ratings.csv下存储为用户对电影的评分。 数据集的读取流程为: 首先,读取movies.csv并将题材根据词的出现,转换为one-hot编码的形式读取ratings.csv,将movie_id和…

智慧生活:AI工具如何改变我们的工作与生活

文章目录 &#x1f4d1;前言一、常用AI工具&#xff1a;便利与高效的结合1.1 语音助手1.2 智能推荐系统1.3 自然语言处理工具 二、创新AI应用&#xff1a;不断突破与发展2.1 医疗诊断AI2.2 智能家居2.3 无人驾驶技术 三、AI工具在人们生活中的应用和影响3.1 生活方式的变化3.2 …

TEINet: Towards an Efficient Architecture for Video Recognition 论文阅读

TEINet: Towards an Efficient Architecture for Video Recognition 论文阅读 Abstract1 Introduction2 Related Work3 Method3.1 Motion Enhanced Module3.2 Temporal Interaction Module3.3 TEINet 4 Experiments5 Conclusion阅读总结 文章信息; 原文链接&#xff1a;https:…

【MATLAB源码-第206期】基于matlab的差分进化算法(DE)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 差分进化算法&#xff08;Differential Evolution, DE&#xff09;是一种有效的实数编码的进化算法&#xff0c;主要用于解决实值函数的全局优化问题。本文将详细介绍差分进化算法的背景、原理、操作步骤、参数选择以及实际应…

2024最新从0部署Django项目(nginx+uwsgi+mysql)

云服务器 我这里用的是腾讯云免费试用的2H4Gcentos服务器&#xff08;后升级为2H8G&#xff0c;保险一点提高内存&#xff09; 因为网上很多关于django部属的教程都是宝塔啊&#xff0c;python版本控制器啊这种的&#xff0c;我也误打误撞安装了宝塔面板&#xff0c;但这里我…

vulnhub靶场之FunBox-5

一.环境搭建 1.靶场描述 Lets separate the script-kids from script-teenies.Hint: The first impression is not always the right one!If you need hints, call me on twitter: 0815R2d2 Have fun...This works better with VirtualBox rather than VMwareThis works bett…

39-5 入侵检测系统(IDS)- 安装配置IDS(注意我没安装成功,阅读需谨慎)

官网:Snort Rules and IDS Software Download 参考: (这位大佬分享了安装包下载链接):https://www.cnblogs.com/taoyuanming/p/12722263.html (安装过程参考这位大佬):Snort 安装与配置(CentOS 7)_centos 7 snort-CSDN博客一、安装 IDS(我这里在 CentOS 7 虚拟机中安…

QT学习(1)——创建第一个QT程序,信号和槽,打开关闭窗口的案例

目录 引出规范和帮助文档创建第一个Qt程序对象树概念信号signal槽slot自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自定义信号重载带参数的按钮触发信号触发信号拓展 lambda表达式返回值mutable修饰案例 打开关闭窗口案例 总结 引出 QT学习&#xff08;1&#…

5个巨好用的论文查重降重/aigc降重网站!

给大家分享5个巨好用的论文查重降重&#xff0c;aigc降重网站&#xff01; 1、checkbug↙&#xff1a;每天免费查重一次&#xff01;用超级降重改全文&#xff0c;ai在线改写段落&#xff0c;智能查降查本系统一遍过稿&#xff0c;有套餐&#xff01;支持aigc降低&#xff01;…

精密机械设备运用弧形导轨中如何保持高精度?

导轨精度标准是对导轨的精度统一规定&#xff0c;无论是滑移运动、滑块运动还是旋转运动&#xff0c;都有一定的精度规格。而导轨精度标准是为了保证导轨运动时的精确度而设定的精度标准&#xff0c;它是规定各种导轨的精度统一标准&#xff0c;是机械设备的运动精度基础和保障…

履带车配置 一些小细节

履带车配置 一些小细节 485/CAN模式 自动识别上电后第一帧是485还是CAN指令&#xff0c;就进入对应通讯模式用485通讯这个驱动器通讯可以了&#xff0c;你再接CAN通讯&#xff0c;这个驱动器必须断电重启一下&#xff1b;不能在通电模式下切换 驱动器拨码开关 两个驱动器的…

家电无缝连接的奥秘—通过酷开系统实现智能家居互联互通

智能家居是消费升级与技术升级的共同产物&#xff0c;是时代发展的必然结果&#xff0c;日渐深入人心也是大势所趋。酷开科技智慧AI&#xff0c;让智慧家居成为生活中的一部分&#xff0c;以酷开系统为中心&#xff0c;实现家庭内智能家居的连接&#xff0c;并可通过酷开系统进…

抽空学学go

2024年5月9日11:14:24 学习go 看课8小时转职Golang工程师(如果你想低成本学习Go语言)_哔哩哔哩_bilibili 文档[8小时转职Golang工程师 (yuque.com)]( 1.安装go 2024年5月9日11:27:16 2.安装 vscode go配置环境 vs code配置go开发环境 (zhihu.com) vscode里面配置代理&…

windows设置软件开机自启动

winr 输入 shell:startup C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup把要开机自动启动的程序的快捷方式放进来 输入快捷键 ctrlshiftesc 打开任务管理器 同时在任务管理器也可以看到

2.前端路由的配置和使用

一&#xff0c;路由的作用 路由的作用就是将页面文件跟URL地址形成对应匹配 二&#xff0c;如何安装路由 这里我们采用pnpm的方式在项目中执行 pnpm install vue-routernext --save三&#xff0c;路由如何使用 首先创建一个我们需要访问的页面文件&#xff0c;这里我先创建…

程序员的归宿。。

大家好&#xff0c;我是瑶琴呀。 相信每个进入职场的人都考虑过自己的职业生涯规划&#xff0c;在不同的年龄段可能面临不同挑战&#xff0c;这点对于 35 的人应该更为感同身受。 对于程序员来说&#xff0c;大部分人的职业道路主要是下面三种&#xff1a;第一条&#xff0c;…