zoukankan      html  css  js  c++  java
  • Cognos11中通过URL传参访问动态Report

    一、需求:

    在浏览器输入一个URL,在URL后面加上参数就可以访问一个有提示值的报表?比如下面的报表

    二、解决办法

    Cognos  Model 查询主题设计层概要

    Select 
    	* 
    from 
    	[UCOM_DW].tumor_trend 
    where 
    	tumor_trend.doctor_id =#prompt('did','string')# 
    	and tumor_trend.p_id =#prompt('pid','string')#
    

    URL概要


    http://king:9300/bi/v1/disp?b_action=cognosViewer&run.outputFormat=HTML&run.prompt=false&ui.object=storeID(%22i35C733A8A0BA418DB767C34831807957%22)&ui.action=run&cv.header=false&cv.toolbar=false&p_did=15267120752&p_pid=2017001

    需要注意的是:如何获取cognos11报表的URL访问方式请看我的另一篇博文 Cognos11中通过URL访问report的设置 

    获取到之后是这个样子的:

    -----------------------------------------------------------------------------------------------------------------------------------------------

    http://king:9300/bi/v1/disp?b_action=cognosViewer&run.outputFormat=HTML&run.prompt=true&ui.object=storeID(%22i35C733A8A0BA418DB767C34831807957%22)&ui.action=run&cv.header=false&cv.toolbar=false
    ------------------------------------------------------------------------------------------------------------------------------------------------

    需要修改的是:

    1:把run.prompt=true改为run.prompt=false这样就不会走提示页,直接提交到报表页

    2:在URL后面加上&p_did=15267120752&p_pid=2017001,注意用&符号区分每一个参数,另外需要注意的就是在原始的参数名前面加上p_告诉cognos是参数的含义

    3:如果参数值是英文或者数字可以直接写在后面,如果是中文请先进行URL-UTF8转码操作,然后赋值给参数,可以借助《Encode_ Decode Tools URL编码解码工具.》

      

       中文转码后参数格式&p_name=%E5%BC%A0%E4%B8%89

       下面就可以进行集成了,集成方式有两种:

      (1):URL集成,直接通过浏览器访问URL,如下图

      

      (2):IFRAME集成,通过IFRAME集成在HTML中然后访问HTML,如下图

        IFRAME集成的HTML代码如下  wxj.html

     

    <!doctype html>
    <html lang="en">
     <head>
       <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="HandheldFriendly" content="true"> 
    
      <meta charset="UTF-8">
      <meta name="Generator" content="EditPlus®">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
      <title>一个技术界的小人物</title>
    
    
     </head>
     <body>
    
    
    
    <iframe src="http://king:9300/bi/v1/disp?b_action=cognosViewer&run.outputFormat=HTML&run.prompt=false&ui.object=storeID(%22i35C733A8A0BA418DB767C34831807957%22)&ui.action=run&cv.header=false&cv.toolbar=false&p_did=15267120752&p_pid=2017001" width="100%" height="600"></iframe>
     </body>
    </html>
    

    如下图所示

  • 相关阅读:
    【加密】 RSA
    【Resource】【ResourceLoader】【ResourcePatternResolver】学习
    【拦截器】Springboot项目之拦截器使用
    【OpenSSl】linux下OpenSSL的RSA密钥生成
    【微服务架构】图解
    【md5】几种常见的数据摘要算法(MD5、CRC32、SHA1和SHA256)
    【VM VirtualBox】【Vagrant】的安装及使用
    VUE中解决echarts数据二次渲染不成功的问题xAxis
    TypeError: Cannot read property 'map' of null
    VS code 卡顿很严重
  • 原文地址:https://www.cnblogs.com/wxjnew/p/7081541.html
Copyright © 2011-2022 走看看