Monatsarchive: Mai 2011

Cognos TM1-Prozess über Java API ausführen

In diesem Artikel geht es darum, über die Cognos TM1 Java-API eines Prozess mit und ohne Parameter zu starten.

Um einen TM1-Prozess auszuführen wird ein TM1Server-Objekt benötigt. Die Verbindung von Java mit dem TM1-Server wurde bereits in diesem Artikel behandelt.

Die nachfolgende Methode startet beispielsweise einen Prozess, dessen Name als Parameter an die Methode über geben wird. Dieser muss selbstverständlich auf dem TM1-Server vorhanden sein. Desweiteren wird der Methode dein Pfad übergeben. Dieser wird diesem Prozess als Parameter übergeben. So ist es beispielsweise möglich, bei einem Datenimport über einen TurboIntegrator-Prozess den beim Erstellen des Prozesses gesetzten Dateinamen zu überschreiben, um so nur einen Prozess zu haben, der beliebig viele Dateien mit Daten in einen Cube zu laden.

private void executeProcess(String proName, String file) {
	TM1Process tm1p = server.getProcess(proName);
	TM1Val pArray = TM1Val.makeArrayVal(1);
	pArray.addToArray(new TM1Val(file));
	TM1Val errorCode = tm1p.executeEx(pArray, true);
	if (!errorCode.getString().equals("")) {
		System.out.println("Err: "+errorCode.getString());
	}
}

Jeder Prozess den man über die Java-API ausführt erwartet ein Array von Parametern. Will man einen Prozess ausführen, der keine Parameter besitzt, so ersetzt man diese Zeile:

pArray.addToArray(new TM1Val(file));

durch diese Zeile:

pArray.addToArray(new TM1Val(null));

Wichtig ist nur, dass dem TM1Process-Objekt auf jeden Fall ein Array mit TM1Val-Objekten übergeben wird.

Veröffentlicht unter Cognos TM1 | Verschlagwortet mit , , , , , , , , , , | Hinterlasse einen Kommentar

Grundlegendes zur Cognos TM1 Java API

Um die Cognos TM1 Java API verwenden zu können, muss man zunächst das JAR-File der API dem gewünschten Java-Projekt hinzufügen. Dieses befindet sich z.B. hier: C:\Program Files\Cognos\TM1\bin\classes\TM1JavaApi.jar.

Ist dies geschehen kann man eine Verbindung per Java zum TM1-Server herstellen. Der nachfolgende Code demonstriert das:

import com.applix.tm1.*;
...
TM1Bean bean = new TM1Bean();
bean.setAdminHost("tm1AdminHost");
TM1Server server = bean.openConnection("tm1ServerName", "tm1UserName", "tm1UserPW");

Wenn sich der TM1-Server auf dem gleichen Rechner befindet ist es nicht nötig, den Admin Host zu setzten.

Über das Bean erhält man mit der Methode openConnection unter Angabe des Servernamen, eines Usernamen und des passenden Passworts ein Serverobjekt. Mit diesem kann man nun die gewünschten Operationen auf dem TM1-Server ausführen, wie beispielsweise das Erstellen von Dimensionen oder Cubes oder das Ausführen von Prozessen.

Wichtig beim Verwenden der Java-API ist es, das TM1-SSl-Zertifikat ins JRE zu integrieren, da es ansonsten zu einer SSL Certificate Exception kommt. Näheres zum Vorgehen dazu in diesem Artikel.

Veröffentlicht unter Cognos TM1 | Verschlagwortet mit , , , , , , , | Hinterlasse einen Kommentar

TM1-Forum

Unter nachfolgendem Link gibt es ein großartiges Cognos TM1 Forum für alle die sich näher mit der Materie befassen wollen oder müssen.

In den nächsten Tagen werde ich ein paar Programmbeispiele veröffentlichen, die sich näher mit der Java-API von Cognos TM1 befassen. Dabei geht es um das automatisierte erstellen, neuerstellen und laden von Datenwürfeln mitsamt ihrer Dimensionen.

Hier der Link zum Forum: www.tm1forum.com

Veröffentlicht unter Cognos TM1 | Verschlagwortet mit , , , , , , , | Hinterlasse einen Kommentar

TM1 Java API SSL Zertifikat

Um die TM1 Java API verwenden zu können muss man dem Java Runtime Environment (JRE) das TM1 SSL Zertifikat hinzufügen. Dabei geht man wie folgt vor:

  1. Kommandozeilen-Fenster öffnen (Start -> Ausführen -> “cmd”)
  2. Das Verzeichnis auf den bin Ordner seines JRE’s leiten (z.B. cd “C:\Program Files\java\jdk1.5.0_06\jre\bin”)
  3. Den folgenden Befehl ausführen:keytool -import -file “C:\Program Files\Cognos\TM1\bin\ssl\applixca.der” -keystore ..\lib\security\cacerts

Die Pfade sind an die eigene Umgebung anzupassen. Das Standardpasswort für den SSL-Manager ist: changeit

Quelle: Running in Secure Mode Using SSLTM1

Veröffentlicht unter Cognos TM1 | Verschlagwortet mit , , , , , , , , | Hinterlasse einen Kommentar