Wechselnder Hintergrund mit IBM Cognos 8 Report Studio
Posted 11.02.2010 by Michael
Wenn man in einer Liste die Zeilen abwechselnd mit unterschiedlichen Hintergrundfarben gestalten möchte, gibt es einen recht einfachen Weg.
Zunächst erstellt man eine Berichtsvariable vom Typ Boolesch mit folgendem Ausdruck:
mod( RowNumber(); 2 ) = 0
Dann geht man wieder in die Seitenansicht und wählt “Stil für Listenspaltentext” der gewünschten Liste aus. Dann kann man die Hintergrundfarbe für die geraden und ungeraden Zeilennummern einstellen.
Das Ergebnis sieht dann zum Beispiel so aus:

Cognos: Migration 8.2 nach 8.4
Posted 21.01.2010 by Michael
Bin zur Zeit dabei, eine größere Installation von Cognos 8.2 nach 8.4 zu bringen. Dabei gibt es eine ganze Menge JavaScript-Code, der angepasst werden muss. Werde hier in loser Folge die Änderungen dokumentieren:
- formWarpRequest wird nun über die Funktion
getFormWarpRequest()angesprochen. - Die Methode
checkData()der Promptcontrols gibt es nicht mehr. Um die Überprüfung der Parameter anzustoße, wurde eine neue FunktioncanSubmitPrompt()geschaffen, die für die ganze Eingabeaufforderungsseite die Prompts prüft und freigibt.
Um beispielsweise Standardeinträge aus Combo-Boxen zu entfernen, muss der Code wie folgt abgeändert werden:
Version 8.2
- document.formWarpRequest._oLstChoicesMyCombobox.options[0] = null;
- document.formWarpRequest._oLstChoicesMyCombobox.options[0] = null;
- document.formWarpRequest._oLstChoicesMyCombobox.value = 1;
- listBoxMyCombobox.checkData();
ab Version 8.3
Die Änderungen habe ich an dieser Stelle gleich in einer Funktion zusammengefasst, der man dann nur noch den Namen der Combobox (Name in Report Studio) übergeben muss.
- function initComboBox( name ) {
- var fw = getFormWarpRequest();
- var elementName = "_oLstChoices" + name;
- if (!fw[ elementName ] ) {
- alert( "Combo box not found: " + name );
- return;
- }
- fw[ elementName ].options[0]=null;
- fw[ elementName ].options[0]=null;
- fw[ elementName ].options[0].selected = true;
- fw[ elementName ].removeAttribute("hasLabel");
- canSubmitPrompt();
- }
- initComboBox( "MyCombobox" );