【问题标题】:Calling report with oracle report builder 12使用 oracle 报告生成器 12 调用报告
【发布时间】:2019-08-28 18:14:27
【问题描述】:

我需要使用报表生成器 12 的报表中的参数调用另一个报表。但似乎没有用于调用另一个报表的按钮。有没有办法从第一个报告中调用第二个报告?

【问题讨论】:

    标签: oracle oraclereports


    【解决方案1】:

    这样的功能被称为向下钻取(这样你就可以自己研究它,如果你愿意的话)。

    在旧 Reports 6i 中,您可以通过创建一个按钮来完成。在现代报告版本中,您必须使用超链接 - 它可以在“网络”设置中找到,如下所示:

    http://your_server:port/reports/rwservlet?userid=scott/tiger@orcl+report=your_report.rdf+
    destype=cache+desformat=html+par_deptno=&deptno
    

    有趣的部分是它的最后,它展示了如何将参数从此报告(包含&deptno 值)传递到另一个报告(其中期望将 deptno 值传递到 par_deptno 参数中)。

    【讨论】:

    • 感谢您的回答,非常有帮助。有没有办法加密 url 来隐藏用户、密码和参数的值?再次感谢您
    • 不客气。好吧,我知道——从 Developer Suite 10g(我们仍在使用)开始,就有 CGICMD.DAT 存储在 IAS(应用程序服务器)上。它是一个包含 KEY-VALUE 对的文件,其中 KEY 代表您正在调用的报告(它的名称可以是您想要的任何名称;我们保持它与 .RDF 文件名相同),而 VALUE 包含服务器名称、用户名/密码组合、RDF 文件名、destype、desformat 信息以及参数的 占位符。因此,在调用报告时,我们使用隐藏所有内容的 KEY。我不知道 Reports 12c 是否也有。
    • 非常感谢您抽出宝贵的时间
    【解决方案2】:
    1. 首先停止报表服务器。 (OC4J 实例也适用于 10g)
    2. 在 Developersuite 主页中搜索 CGICMD.DAT 文件。 (对于 10g,它位于文件夹中。对于 11g,D:\Oracle\Middleware\user_projects\domains\ClassicDomain\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration)
    3. 打开 CGICMD.DAT 文件并转到底线并添加波纹管并修改为您的值。

      ; hrs: userid=test/password@orcl server=rep_server desformat=pdf destype=cache paramform=no %* (其中第一个用户 ID、报告服务器名称、报告目标格式、目标类型和无参数形式。)

    4. 保存并关闭文件。
    5. 现在打开包含链接的报告。
    6. 选择数据字段并按F11进入代码编辑器并在前面添加波纹管代码 返回(真); SRW.SET_HYPERLINK('http://SERVER_NAME:8889/reports/rwservlet?hrs+report='D:\ID_CARD_ALL.rep+EMPID='||:EMP_ID); (根据需要更改报表服务器 url、报表名称和参数)

    编译并保存报告。

    现在运行报表服务器并运行您的报表...

    爱你

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-21
      • 1970-01-01
      相关资源
      最近更新 更多