项目中嵌入Cognos,解决多值打开报表

180 阅读1分钟
cognos多个值URL传入
问题:Cognos报表有三个以上提示页面,想放在一个页面实现?

解决方案:

方案一:用get打开页面,在src中写入Congo是URL地址,局限性当多个值传入的时候长度会受到限制

方案二:用post打开页面,首先要明确Cognos多值是怎么传值的

p_VAR_CODE:<selectChoices><selectOption useValue="90552" displayValue="90552"/><selectOption useValue="90560" displayValue="90560"/><selectOption useValue="90561" displayValue="90561"/></selectChoices>
p_VAR_CODE_END:<selectChoices><selectOption useValue="90552,90560,90561," displayValue="90552,90560,90561,"/></selectChoices>

放到Java项目中

<form id="form1" action="https://192.168.1.122/ibmcognos/cgi-bin/cognos.cgi?b_action=cognosViewer&ui.action=run&ui.object=%2fcontent%2ffolder%5b%40name%3d%27118EAM%27%5d%2ffolder%5b%40name%3d%27WZ_FMRPT%27%5d%2freport%5b%40name%3d%27talbeName%27%5d&ui.name=talbeName&run.outputFormat=&run.prompt=false&CAMNamespace=szmcob&CAMUsername=Cognos&CAMPassword=68Hgc8oLl0&user=:user" method="post"
      target="fmtable" name="fmtable" Content-Type="application/x-www-form-urlencoded;">
        <label>编号:</label>
        <span class="searchFor">
             <input type="text" id="reqCode" multiple="multiple">
        <i class="search_icon" onClick="search()"></i>
        </span>
        <input id="p_VAR_CODE" type="hidden" name="p_VAR_REQ_CODE"/>
        <button type="button" onclick="loadlist()">查询</button>
     </form>
    </div>
    <div class="search-result">
        <iframe width="100%" height="98%" id="fmtable" src="" name="fmtable"></iframe>
    </div>
    <script>
     fucntion loadlist(){
     var strxml='<selectChoices><selectOption useValue="90552" displayValue="90552"/><selectOption useValue="90560" displayValue="90560"/><selectOption useValue="90561" displayValue="90561"/></selectChoices>';
       $("#p_VAR_REQ_CODE").val(strxml);
        $("#form1").submit();
      }
    </script>