Select your language

Cognos 8.2 / 8.4 JavaScript-Switch

JavaScript-Bibliothek zur Unterscheidung der Cognos-Versionen

Wenn man Berichte in Cognos 8.2 entwickelt und später auf Cognos 8.4 oder Cognos 10 umsteigen möchte, ist eine Migration der Bericht unerlässlich. Vor allem, wenn in den Berichten JavaScript verwendet wird, um diese z.B. interaktiv zu machen oder bestimmte Parameter-Werte zu setzen.

Um die Berichte unter allen drei Versionen lauffähig zu bekommen, kann man sich mit einer JavaScript-Bibliothek behelfen, die selbständig die für die Version gültigen Funktionen aufruft.

So wurde z.B. die Methode .checkData() für einzelne Steuerelemente ab Version 8.4 durch die Methode canSubmitPrompt() ersetzt. Jedoch prüft diese Methode direkt alle Prompt-Werte und damit entfällt die Möglichkeit, einzelne Steuerelemente zu prüfen und gültig zu machen.

Mit den entsprechenden Aufrufen für die einzelnen Steuerelement ist es jedoch auch in Cognos 8.4 und 10 weiterhin möglich, einzelne Steuerelemente zu prüfen.

var f = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms.formWarpRequest); 
var version = (typeof getFormWarpRequest == "function" ? '8.4' : '8.2' ); 
function checkData(elem) {
   if ( version=='8.2' ) {
     if (elem.tagName == "SELECT") {
        if (elem.multiple) {
           try {
             eval("multipleText" + elem.name.replace(/_oLstChoices/,"") + ".checkData();");
           } catch(e) {}
           try {
             eval("listBox" + elem.name.replace(/_oLstChoices/,"") + ".checkData();");
           } catch(e) {}
         } else {
           eval("listBox" + elem.name.replace(/_oLstChoices/,"") + ".checkData();");
         }
     } else if (elem.tagName == "INPUT" && elem.type == "text") {
       eval("textBox" + elem.name.replace(/_textEditBox/,"") + ".checkData();");
     }
   } else {
     if(typeof elem._ep=="object") elem._ep.checkData();
     if(typeof elem._ft=="object") elem._ft.checkData();
   } }

Zur Verwendung dieser Funktion wird innerhalb des Berichts nicht mehr formWarpRequest.<Element Name>.checkData() aufgerufen, sondern stattdessen checkData(<Element>).

Free Joomla templates by L.THEME

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.