WebApps:Webimport

Aus CoPlanner 11
Zur Navigation springenZur Suche springen

Systemvoraussetzungen

Die Voraussetzungen finden Sie hier.

Einstiegspunkte

  • Neuanlage einer Webimportdefinition via Tiles: @Session_WebAppUrl@/import/?importname=[new]
  • Bearbeiten einer bestehenden Webimportdefinition via Tiles: @Session_WebAppUrl@/import/?importname=<NAME>
  • Drag-and-drop auf Zeilensicht (Einzelsatz noch nicht implementiert!)
  • Buttons in Zeilensicht/Matrixmaske (im Designer definierbar)

Unterstützte Quellen

  • CSV (*.csv, *.txt)
  • XLSX
  • SQL-Datenbank(bis einschließlich CoPlanner 11 R4 2025 HF1: Bezeichnung: Stage)
  • Euribor (ECB) (Ab CoPlanner 11 Release 2 2024)

Allgemein

Es gibt fünf Schritte im Import: Quelle, Vorschau, Ziel, Optionen und Ergebnis. Je nachdem von wo der Import aufgerufen wird variieren diese Schritte teilweise, da manche Schritte in gewissen Konstellationen nicht benötigt werden. Für Benutzer, die nicht im PowerUser-Modus sind, zieht die Ihnen zugeordnete Security.

Quellen

CSV/Excel

Nachdem der Typ CSV oder Excel bei der Quelle ausgewählt wurde, kann man die Datei, die man hochladen möchte auswählen. Bei Excel-Dateien kann man auch noch das Blatt auswählen, welches verwendet werden soll.

Webimport Quellen

SQL-Datenbank (bis einschließlich CoPlanner 11 R4 2025 HF1: Bezeichnung: Stage)

Nachdem der Typ SQL-Datenbank ausgewählt wurde, kann man die Verbindung auswählen. Hier steht die "CopSystemDB", die Datenbank vom CoPlanner zur Auswahl und zusätzlich alle, die in der svrconfig unter DBCon definiert wurden. Beim SQL-Statement kann man seine Abfrage eingeben und auch einfach auf Session-Variablen oder Anwendungseigenschaften zugreifen.

Ab CoPlanner 11 Release 2 2026 kann man auch Kontexte definieren. Kontextobjekte definieren Laufzeitparameter, die innerhalb des Imports verwendet werden können. Jeder Kontext repräsentiert ein Element der einer Dimension/Tabelle, dessen Wert während der Ausführung bereitgestellt wird. Über den vergebenen Alias kann der Kontext im SQL-Statement mit der Syntax @Context.<Alias>@ referenziert werden. Im Registerblatt "Ziel" steht der Kontext für die Zuordnung zu einer Zieldimension/-tabelle ebenfalls zur Verfügung.

Beispiel:

  • Dimension: Zeit
  • Alias: ZeitAlias
  • Standardwert: 2030

Verwendung im SQL: select Umsatz from TBL_Umsatz_PLAN where Zeit = @Context.ZeitAlias@

Dabei wird @Context.ZeitAlias@ zur Laufzeit durch den übergebenen Wert des Kontextobjekts ersetzt. Sofern kein Kontext für ZeitAlias übergeben wird, wird die COPSYS_ID des gewählten Standardwerts verwendet.

Euribor (ECB)

(Ab CoPlanner 11 Release 2 2024)

Die Abkürzung Euribor steht für Euro Interbank Offered Rate. Euribor bezeichnet die durchschnittlichen Zinssätze, zu denen viele europäische Banken einander Anleihen in Euro gewähren. Dieser Import wurde über eine Rest-Schnittstelle umgesetzt und bezieht seine Daten direkt von einem Service der EZB. Als Quelle dient: https://data-api.ecb.europa.eu

Es können für diese Import Art die folgenden Optionen ausgewählt werden:

  • Laufzeit (Es gelten verschiedene Laufzeiten. Alle auswählbaren Laufzeiten werden täglich aktualisiert.)
    • 1 Monat
    • 3 Monate
    • 6 Monate
    • 12 Monate
  • Frequenz (Messfrequenz)
    • Monatlich
    • Vierteljährlich
    • Jährlich

Vorschau

CSV/Excel

In der Vorschau kann man ein Mapping für die Zeit erstellen und sieht eine Vorschau der Daten. Als Ziel-Zeitdimensionen stehen nur Dimensionen vom Typ Zeitdimension zur Verfügung.

Über Von und Bis kann der Importzeitraum verkleinert werden, sofern nicht alle Daten importiert werden sollen.

Werden in der Vorschau keine Daten angezeigt, stimmt vermutlich das Mapping für die Zeit nicht oder die Daten sind außerhalb der Ziel-Zeitdimension.

Zusätzlich kann hier definiert werden, ob die Daten Überschriften haben und ab welcher Zeile die Daten beginnen.

SQL-Datenbank (bis einschließlich CoPlanner 11 R4 2025 HF1: Bezeichnung: Stage)

Man erhält hier nur eine Vorschau der Daten.

Webimport Vorschau

Euribor (ECB)

(Ab CoPlanner 11 Release 2 2024)

Man erhält hier ebenfalls eine Vorschau der Daten, je nach den beim Schritt "Quellen" ausgewählten Optionen.

Ziel

Import in eine Tabelle

Hier muss ein Zielobjekt ausgewählt werden. Anhand der Spaltennamen wird automatisch ein erstes Mapping zwischen Quelle und Ziel erstellt. Falls Anpassungen erforderlich sind, können die Zuordnungen per Drag-and-drop geändert werden. Für Dimensions- und Tabellen-Lookups können außerdem Standardwerte definiert werden. Diese werden verwendet, wenn keine Zuordnung zu einer Quellspalte besteht. Ist einem Lookup hingegen eine Quellspalte zugeordnet, kann zusätzlich ein Attribut der Dimension ausgewählt werden, das für die Zuordnung herangezogen wird.

Für alle Dimensions- und Tabellen-Lookups, bei denen der Löschbereich aktiviert ist, werden die entsprechenden Datensätze vor dem Import gelöscht. Der Löschbereich wird dabei durch die Kombination der markierten Lookup-Dimensionen bestimmt.

Beispiele:

  • Ist der Löschbereich nur auf die Zeitdimension gesetzt und enthält der Import einen Datensatz für Januar 2021, werden vor dem Import alle Datensätze für Januar 2021 aus der Zieltabelle gelöscht.
  • Ist der Löschbereich auf Zeit und Produkt gesetzt und enthält der Import einen Datensatz für Januar 2021 und das Produkt Bianchi, werden vor dem Import alle Datensätze gelöscht, die sowohl Januar 2021 als auch das Produkt Bianchi enthalten.
Webimport Ziel

Es ist auch möglich auf Systemspalten zu importieren. Dafür muss im Bereich Zuordnung die Option "Import auf Systemspalten erlauben" aktiviert werden. Bei Importen mit zugeordneter COPSYS_ID wird der Datensatz dann aktualisiert. Importe auf Systemspalten wie Erstellungsdatum u.Ä. werden nicht angeboten, da diese vom System gesetzt werden.

Neben Quellspalten können auch Systemwerte einer Zielspalte zugeordnet werden. Dazu gehören der Name des Imports, der Dateiname der Importdatei (bei CSV- und Excel-Importen) sowie die Zeilennummer der Importquelle. Diese Werte werden während des Imports automatisch ermittelt und in die zugeordneten Zielspalten geschrieben.

Import in eine Dimension/ein Subset

Hier muss ein Zielobjekt ausgewählt werden. Anhand der Spaltennamen wird automatisch ein erstes Mapping zwischen Quelle und Ziel erstellt. Falls Anpassungen erforderlich sind, können die Zuordnungen per Drag-and-drop geändert werden.

Es besteht die Möglichkeit, ein Element auszuwählen, unter dem oder auf dessen Ebene Elemente ohne Parent eingefügt werden sollen. Wählen Sie hierzu bei „Elemente ohne Parent in der vorhandenen Struktur zuordnen zu“ das gewünschte Element aus. Mit der Option „Auf Ebene darunter importieren“ legen Sie fest, ob die Elemente auf derselben Ebene wie das ausgewählte Element oder als dessen untergeordnete Elemente importiert werden.

Bei Dimensionen kann für das Rootelement nur die Option „Auf Ebene darunter importieren“ verwendet werden, da eine Dimension nur ein einziges Rootelement besitzen darf.

Unter Hierarchieaufbau definieren Sie, anhand welcher Felder in der Quelle die Parent-Child-Beziehung bestimmt wird und welchem Attribut der Zieldimension diese Werte entsprechen. Als Zuordnungsattribut kann jedes beliebige Dimensionsattribut verwendet werden – nicht nur COPSYS_ID oder SOURCE_KEY.

Bei der Zuordnung der Quellspalten muss der Elementname (intern COPSYS_DIM_NAME) zugeordnet werden. Beim Import von Subsets ist zusätzlich die ID des zugrunde liegenden Dimensionselements erforderlich. Diese entspricht intern dem Feld COPSYS_HK_ROW, das die Beziehung zwischen dem Subsetelement und dem Element der Basisdimension definiert.

Für Dimensions- und Tabellen-Lookups können außerdem Standardwerte definiert werden. Diese werden verwendet, wenn keine Zuordnung zu einer Quellspalte besteht. Ist einem Lookup hingegen eine Quellspalte zugeordnet, kann zusätzlich ein Attribut der Dimension ausgewählt werden, das für die Zuordnung herangezogen wird.

Es ist auch möglich auf Systemspalten zu importieren. Dafür muss im Bereich Zuordnung die Option "Import auf Systemspalten erlauben" aktiviert werden. Importe auf Systemspalten wie Erstellungsdatum u.Ä. werden nicht angeboten, da diese vom System gesetzt werden.

Neben Quellspalten können auch Systemwerte einer Zielspalte zugeordnet werden. Dazu gehören der Name des Imports, der Dateiname der Importdatei (bei CSV- und Excel-Importen) sowie die Zeilennummer der Importquelle. Diese Werte werden während des Imports automatisch ermittelt und in die zugeordneten Zielspalten geschrieben.

Optionen

Blattelemente

  • Definiert ob bei der Ausführung nur Blattelemente importiert werden. Ist die Option deaktiviert, wird der Import auch auf Knotenelemente ausgeführt. (Ab CoPlanner 11 Release 5 2023)

Berechtigungen

  • Sessionberechtigungen benutzen: Definiert, ob bei der Ausführung die Berechtigungen der aktuellen Session ausgewertet werden sollen. Ist diese Option deaktiviert, wird der Import mit Systemrechten ausgeführt. Diese Einstellungen kann nur als Power User geändert werden. (Ab CoPlanner 11 Release 3 2023)

Makros

Hier können Makros definiert werden, die vor bzw. nach der Ausführung des Imports automatisch gestartet werden. Es werden nur die serverseitigen Befehle der Makros ausgeführt. Meldungen usw. werden ignoriert.

Bezeichnung

(Ab CoPlanner 11 Release 3 2024)

Definiert den Titel des Imports, wenn dieser aus einer Maske oder einem Link geöffnet wird.

Löschverhalten (nur bei Tabellenimport)

(Ab CoPlanner 11 Release 1 2026)

  • Tabelle vor dem Import leeren: Hiermit kann festgelegt werden, ob alle Datensätze vor dem Import aus der Tabelle gelöscht werden sollen. Bei planabhängigen Tabellen werden dabei nur die Daten des aktuellen Plans gelöscht. Die Funktion berücksichtigt Sessionberechtigungen und kann deshalb nur genutzt werden, wenn keine Sessionberechtigungen ausgewählt sind.

Optionen (nur bei Dimensions-/Subsetimport)

  • Nur neue Elemente importieren: Es werden nur Elemente importiert, die sich noch nicht in der Struktur befinden.
  • Vorhandene Elementnamen ersetzen: Gibt an, ob Elementnamen ersetzt werden sollen. Gibt es schon vorhandene Elemente und der Dimensionsname sollte nicht ersetzt werden, so werden alle anderen Zuordnungen trotzdem ersetzt und wirklich nur der Elementname ignoriert. Die Namensprüfung hierfür erfolgt case-insensitive.
  • Parent-Child Beziehungen aktualisieren: Gibt an, ob die Struktur bei Änderungen dieser in der Quelle übernommen werden oder nicht.
  • Elemente mit gleichem Namen erlauben: Definiert, ob durch den Import Elemente mit dem gleichen Namen entstehen dürfen. Die Prüfung hierfür erfolgt case-insensitive.

Ergebnis

Sollte es fehlerhafte Datensätze geben, können diese zum Teil auch über den CoPlanner gelöst werden. Hier unterscheiden wir zwei Vorkommen:

  • Fehlerhafte Datensätze können auftreten, wenn zum Beispiel Werte den falschen Datentyp haben. Diese Werte können dann im CoPlanner einfach überschrieben werden und werden für diesen einen Importvorgang herangezogen. Wählen Sie die Datei beim nächsten Mal wieder aus, müssen Sie die gleichen Korrekturen erneut durchführen.
  • Fehlerhafte Datensätze durch fehlende Zuordnungen zu Dimensionen. Werden hier Anpassungen durchgeführt, werden diese auch im CoPlanner gespeichert. Als PowerUser haben Sie die Möglichkeit hier direkt neue Dimensionselemente anzulegen oder auch Zuordnungen des jeweiligen Attributs zu überschreiben.

Sie haben die Möglichkeit entweder alle Datensätze zu korrigieren oder die Option zu wählen, dass fehlerhafte Datensätze ignoriert werden sollen. Zusätzlich können Sie definieren, ob man diese Ergebnisseite beim Ausführen des Imports anzeigen lässt.

Webimport Ergebnis
Webimport Abschluss

weitere Möglichkeiten

  • Wenn Fehler auftreten, kann die Liste der fehlerhaften Datensätze inkl. des Grundes der Fehlermeldung in die Zwischenablage kopiert werden (ab CoPlanner 11 Release 2 2025)
  • Wenn Werte in dieser Ansicht korrigiert wurden kann man sich diese in der Liste weiter anzeigen lassen oder ausblenden (ab CoPlanner 11 Release 2 2025)

Importvorgang

  • Es zieht die Security des aktuellen Benutzers, sowohl für das Löschen als auch das Schreiben.
  • Aktuell wird in Serverculture importiert.
  • Es besteht die Möglichkeit auf Knotenelemente oder nur auf Blattelemente zu importieren (per Bool-Feld umschaltbar in der Definition).
  • Der Löschbereich definiert, dass alle Datensätze des Ziels, bei denen alle als Löschbereich gewählten Lookups auf einem importierten Wert stehen, gelöscht werden. Das bedeutet, je mehr Mappings als Löschbereich gewählt werden, desto kleiner wird der Löschbereich.
  • Die COPSYS_IMPORT_SOURCE-Spalte des Ziels wird mit der ID des Imports befüllt, falls er auf einer Definition basiert. Für einen Drag-and-drop-Import wird ein konstanter Wert geschrieben.
  • Logging erfolgt in die sys_ImportHistory-Tabelle. Es ist nicht möglich, die ID des Imports in die bisherige Spalte zu schreiben. Die Import-ID wird in die COPSYS_IMPORT_SOURCE-Spalte geschrieben.

Import via Drag-and-drop auf eine Web-Zeilensicht

Es gibt nun die Möglichkeit eine Datei auf eine geöffnete Web-Zeilensicht zu ziehen. Dadurch öffnet sich der Importassistent bei CSV/Excel Importen, Stageimporte werden ohne diesen Dialog ausgeführt. In diesem kann man die Zuordnung von Quell- zu Zielspalten machen und ggf. Fehler korrigieren. Die Einstellungen für den Import werden jedoch nicht gespeichert und müssen bei jedem Import gemacht werden.

Importe im Menü von Web-Masken

In Webmasken kann man bestehende Webimportdefinitionen hinterlegen. Eine Importdefinition merkt sich alle Einstellungen zu einem Import. Dadurch wird die Durchführung für den Endanwender einfacher, da nicht mehr alle Konfigurationsschritte ausgeführt werden müssen.

Excel Import Vorlage(ab CoPlanner 11 Release 1 2026)

Beim Aufruf eines Imports (nur Excelimporte) über eine Webmaske ist es außerdem möglich sich eine Beispiel Excel Vorlage Datei generieren zu lassen, die es erleichtert die zu importierenden Daten in der richtigen Struktur zu Verfügung zu stellen, bzw. in die die zu importierenden Daten eingefügt werden können. Diese kann dann importiert werden.