我已将报告从 Cognos 10.2.2 迁移到 Cognos“11.0.13.1 LTS”版本。管理提示页面的 java 脚本目前在迁移到 11 后被破坏。这在 10.2.2 上运行良好。 Cognos 11 是否发生了某些变化,或者我们正在使用的某些功能已被弃用或类似的情况。任何绳子对于诊断问题都非常有用。 我们还向 IBM 提交了一张票证,以确定发生了什么
我们尝试编辑代码并以不同的方式格式化代码,但仍然得到相同的行为。
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"]);
if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ? formWarpRequest_THIS_ : formWarpRequest_NS_ );}
var form = fW;
var ID=fW.elements["_oLstChoicesID"];
var SID=fW.elements["_oLstChoicesSID"];
ID.attachEvent("onclick", m_click);
function m_click()
{
for(i=0;i<fW._oLstChoicesID.length;i++)
{
fW._oLstChoicesID[i].selected=false;
fW._oLstChoicesID[i].disabled=true;
}
for(i=0;i<fW._oLstChoicesSID.length;i++)
{
fW._oLstChoicesSID[i].disabled=false;
}
}
我希望在选择 ID 中的任何元素时禁用第二个列表“SID”。
最佳答案
我认为“FormWarpRequest”内容是 Cognos 8 的遗留物。它可能无法在 Cognos 11.0.x 中工作。您应该在 Cognos 10.2.2 ( https://www.ibm.com/support/knowledgecenter/en/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.ug_cr_rptstd.10.2.2.doc/r_prmpt_api_cognos_report.html#cognos.report ) 中使用 cognos.Report.getReport("_THIS_");
。这在 Cognos 11.0.x 中应该仍然有效,但您需要开始使用 RequireJS 转向新的编码风格(请参阅 https://www.ibm.com/communities/analytics/cognos-analytics-blog/updated-javascript-samples-for-ibm-cognos-analytics-11-0-10/ 和 https://public.dhe.ibm.com/software/data/sw-library/cognos/mobile/scriptable_reports/index.html )并更改 Run with full interactivity 属性选择是以利用新功能。
关于从 cognos 10.2.2 迁移到 cognos 11 后 JavaScript 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656595/