Framework:Transport
Das Transportwesen dient zum einfachen Überspielen von Objekten zwischen mehreren Systemen. Dabei werden nur Strukturen übernommen und nicht z.B. Inhalte von Tabellen, Dimensionen, usw..
Vorrausetzung für einen sauberen Transport ist, dass das Entwicklungssystem (Quellsystem) vor den Änderungen gleich ist wie das Produktivsystem (Zielsystem) und am Produktivsystem keine weiteren Objekte angelegt werden.
Es gibt für den Import auch die Möglichkeit, diesen als Batch-Job zu starten, um einen Transport auch in der Nacht automatisiert durchführen zu können.
Konfigurationsparameter
SvrConfig.xml
Die Authentifizierung beim automatisierten Transportwesen erfolgt immer mittels SSPI mit dem Userkontext des Aufrufers. Dieser Benutzer muss aus Sicherheitsgründen in der SvrConfig.xml bei dem Eintrag TransportUserName hinterlegt werden.
Coplanner.exe.config
Die Sichtbarkeit der Einträge "Transport" und "Clientseitige Checks" im Entwicklermenü am Client kann über den Eintrag ShowTransportEntries gesteuert werden.
Aufruf
Um das Transportwesen aufrufen zu können, muss man sich im Hersteller, PowerUser oder Partner-Modus befinden. Es gibt hier wenn man über CoPlanner auf das Entwicklungsmenü geht der Eintrag Transportwesen.

Über diesen Button öffnet sich dann der folgende Dialog:

Stichtag festlegen
Dieser Stichtag wird bei dem Export für die initiale Datumsauswahl, ab wann Objektänderungen für den Transport berücksichtigt werden herangezogen. Dieser Vorschlagswert kann dann im Assistenten übersteuert werden. Den aktuellen Stichtag sollte man auf jeden Fall durchführen, wenn das System gerade von einem Produktivsystem als Entwicklungssystem kopiert wurde.
Um den Stichtag festzulegen, die Schaltfläche bei "Stichtag festlegen" anklicken und auf "Assistent starten" klicken. Danach kommt eine Abfrage, ob man das aktuelle Datum als Stichtag setzen will. Der Stichtag wird später bei jedem Export automatisch auf das Datum und die Uhrzeit des Exports angepasst.
Export
Um einen Export zu starten, die Schaltfläche bei Export aktivieren und "Assistent starten" klicken. Es öffnet sich ein Dialog für die Auswahl des Datums, ab welchem Änderungen angezeigt werden sollen. Als Standardwert wird das Datum des festgelegten Stichtages herangezogen, welches entweder über die Option "Stichtag festlegen" vergeben ist oder das Datum des letzten Exports ist. Dieses Datum kann aber auf jedes beliebige Datum gesetzt werden. Mit dem Aktualisieren Button neben dem Datumsfeld kann man das Datum wieder auf den festgelegten Stichtag geben. Mit Strg+Klick auf den Aktualisieren Button wird das Datum auf den 01.01.0001 gesetzt.
Mit "Weiter" erhält man nun eine Liste von den Objekten, die sich nach dem angegebenen Datum geändert haben. Gegliedert ist diese Liste in Objektverwaltung, BI-Center und Formatvorlagen. Ordner kann man nicht extra anwählen, diese werden immer für die entsprechend gewählten Objekte mit exportiert.
In diesem Fenster werden die Objekte mit dem Datum der letzten Änderung angezeigt und können für den Export an- und abgewählt werden. Über das Kontextmenü auf der linken Spalte gibt es die Möglichkeit alle Objekte anzuwählen, alle Objekte abzuwählen und einen csv Export der Liste zu erstellen. Bei dem Export werden folgende Spalten exportiert: Name, ObjectType, ObjectTypeDetail, ModDate, ModDateDe, Path. Im unterem Bereich steht ein Suchfeld zur Verfügung. Per Klick auf die Anzahl der Suchergebnisse werden alle Suchergebnisse für den Export aktiviert.
Mit "Fertigstellen" muss man den Speicherort und den Namen für das Exportpaket vergeben. Danach wird das Paket erstellt und es gibt eine Information, wenn der Transport abgeschlossen ist.
Hinweis Folgende Objekttypen sind vom Export/Import ausgeschlossen:
|
Hinweis Folgende Systemobjekte sind vom Export/Import ausgeschlossen:
|
Import
Um einen Import zu starten, die Schaltfläche bei Import aktivieren und "Assistent starten" klicken.
Es öffnet sich ein Dialog, in dem das zu transportierende Paket ausgewählt werden muss. Danach gelangt man mit "Weiter" zum nächsten Schritt.
Es öffnet sich die Liste der Objekte, welche importiert werden können. Es besteht auch hier wieder die Möglichkeit Objekte an- und abzuwählen. Über das Kontextmenü auf der linken Spalte können wieder alle Objekte gleichzeitig abgewählt und angewählt werden. Zusätzlich gibt es die Option, sich nur Objekte zu importieren, welche schon am System vorhanden sind. In dieser Übersicht wird auch dargestellt, was sich geändert hat. Hier werden nur Feldänderungen und Dimensions- bzw. LookUp-Änderungen dargestellt. Änderungen wie Planabhängig, etc. werden nicht extra ausgewiesen, aber sehr wohl importiert. Wenn die entsprechenden Objekte ausgewählt wurden gelangt man mit "Weiter" zum nächsten Schritt.

Es werden nun Systemchecks durchgeführt, ob der Import sauber ausgeführt werden kann. Ist das der Fall bekommt man die Meldung "Die Modellkonstistenzprüfung liefert keine Fehler oder Inkonsistenzen". Hat man Inkonsistenzen, so werden diese angeführt. Mit "Fertigstellen" kann der Import nun ausgeführt werden.
| Hinweis Wenn man während des Imports die Objektverwaltung/BI-Center offen hat, empfiehlt es sich danach ein Refresh der Objektverwaltung zu machen. |
| Hinweis Wenn man am Quellsystem den Namen von Tabellen, usw. ändert und diese dann in das Zielsystem kopieren will, gibt es den Namen/Id Konflikt. Diese Objekte müssen dann zuerst am Zielsystem auf den Namen angepasst werden, um einen Transport durchführen zu können. Bei einem manuellen Import kann man diese Objekte erst gar nicht für den Import anwählen, sie werden aber zur Info aufgelistet. |
| Hinweis Importieren von Tabellen mit berechneten Feldern Wenn eine Tabelle neu importiert wird kann es auftreten, dass Warnungen im Log entstehen. Das kommt daher, weil das Aktualisieren der Tabelle erst später gemacht wird und die Felder daher nicht erkannt werden. Nach abgeschlossenem Transport sind diese aber korrekt im System und es treten keine Probleme mit den berechneten Feldern auf. |
Import via Batch-Job
Man kann einen Import auch über einen Batch-Job anstarten. Voraussetzung für das Durchlaufen solcher Importe ist aber, dass die Modellkonsistenzüberprüfungen, welche vor dem tatsächlichen Import durchgeführt werden, ohne Fehler durchlaufen.
Ein Transport kann mit folgender Syntax gestartet werden:
Coplanner.exe "<ServerAdress>" "<Port>" "Transport=<FullyQualifiedFileNameToTransport>"
Beispiel:
Coplanner.exe "localhost" "8964" "Transport=c:\temp\testtransport.zip"Der Übertragungsmodus hier ist immer native und kann nicht eingestellt werden.
Nach dem automatisierten Import wird das "PostTransportMacro" sofern es am System zur Verfügung steht ausgeführt. Das Makro muss an keiner bestimmten Stelle in der Struktur in der Objektverwaltung vorhanden sein. In diesem Makro kann man angeben, dass z.B. ein CreateViews ausgeführt wird.
Logzeilen des Imports via Batchfile erhalten den Prefix [TRB].
Beispiel für ein Batchfile:
@echo off
start /wait Coplanner.exe "localhost" "8964" "Transport=c:\temp\myTransportPackage.zip"
IF %ERRORLEVEL% EQU 0 (
ECHO Transport finished with Exit Code 0
)
IF %ERRORLEVEL% NEQ 0 (
ECHO A problem occurred. See log for details.
ECHO Error: %ERRORLEVEL%
)
IF %ERRORLEVEL% EQU 5 (
ECHO Detail: Could not establish connection to server after 10 retries.
)
IF %ERRORLEVEL% EQU 11 (
ECHO Detail: Transport was cancelled because previous check was not successful. See server log for details.
)
IF %ERRORLEVEL% EQU 15 (
ECHO Detail: Transport was executed but the check of the target system was not successful. See server log for details.
)
pause