WebApps:Webimport: Unterschied zwischen den Versionen

Aus CoPlanner 11
Zur Navigation springenZur Suche springen
Migration von altem Wiki
Bilder bearbeitet
Zeile 16: Zeile 16:
:* Stage
:* Stage


[[Image:EE_Webimport_Quellen.jpg|thumb|center|Webimport Quellen]]
[[Image:EE_Webimport_Quellen.jpg|thumb|center|Webimport Quellen|914x914px]]


=Allgemein=
=Allgemein=
Zeile 25: Zeile 25:
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.
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.


[[Image:EE_Webimport_Quelle1.jpg|thumb|center|Webimport Quellen]]
[[Image:EE_Webimport_Quelle1.jpg|thumb|center|Webimport Quellen|914x914px]]


===Stage===
===Stage===
Zeile 44: Zeile 44:
Man erhält hier nur eine Vorschau der Daten.
Man erhält hier nur eine Vorschau der Daten.


[[Image:EE_Webimport_Vorschau.jpg|thumb|center|Webimport Vorschau]]
[[Image:EE_Webimport_Vorschau.jpg|thumb|center|Webimport Vorschau|923x923px]]


==Ziel==
==Ziel==
Zeile 53: Zeile 53:
Die Kombination von den Dimensionen/Tabellen-Lookups, welche den Löschbereich gesetzt haben, werden versucht zu löschen, bevor die Daten neu importiert werden. Ist z.B. der Löschbereich nur auf der Zeit definiert und es gibt einen Datensatz mit Jan 2021, so werden alle Daten für den Jan 2021 in dieser Tabelle gelöscht. Ist der Löschbereich auf der Zeit und den Produkten, so wird für die Kombination dieser beiden gelöscht. Gibt es einen Datensatz für Jan 2021 und Produkt Bianchi, so werden alle Datengelöscht, die sich im Jan 2021 befinden und das Produkt Bianchi aufweisen.
Die Kombination von den Dimensionen/Tabellen-Lookups, welche den Löschbereich gesetzt haben, werden versucht zu löschen, bevor die Daten neu importiert werden. Ist z.B. der Löschbereich nur auf der Zeit definiert und es gibt einen Datensatz mit Jan 2021, so werden alle Daten für den Jan 2021 in dieser Tabelle gelöscht. Ist der Löschbereich auf der Zeit und den Produkten, so wird für die Kombination dieser beiden gelöscht. Gibt es einen Datensatz für Jan 2021 und Produkt Bianchi, so werden alle Datengelöscht, die sich im Jan 2021 befinden und das Produkt Bianchi aufweisen.


[[Image:EE_Webimport_Ziel.jpg|thumb|center|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.
[[Image:EE_Webimport_Ziel.jpg|thumb|center|Webimport Ziel|940x940px]]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.


=== Import in eine Dimension/ein Subset ===
=== Import in eine Dimension/ein Subset ===
Zeile 95: Zeile 95:
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.
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.


[[Image:EE_Webimport_Ergebnis.jpg|thumb|center|Webimport Ergebnis]]
[[Image:EE_Webimport_Ergebnis.jpg|thumb|center|Webimport Ergebnis|867x867px]]


[[Image:EE_Webimport_Abschluss.jpg|thumb|center|Webimport Abschluss]]
[[Image:EE_Webimport_Abschluss.jpg|thumb|center|Webimport Abschluss|865x865px]]


=Importvorgang=
=Importvorgang=

Version vom 30. Juli 2024, 09:49 Uhr

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
  • Stage
Webimport Quellen

Allgemein

Es gibt vier Schritte im Import: Quellen, Vorschau, Ziel 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

Stage

Nachdem der Typ Stage 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.

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.

Stage

Man erhält hier nur eine Vorschau der Daten.

Webimport Vorschau

Ziel

Import in eine Tabelle

Hier muss ein Zielobjekt ausgewählt werden. Anhand der Namen wird versucht schon ein erstes automatisches Mapping zu erstellen. Sollten Sie Anpassungen vornehmen wollen, können Sie die Zuordnungen von Quelle zu Ziel via Drag-and-drop machen. Für Dimensions- und Tabellenlookups können auch Standardwerte ausgewählt werden, welche herangezogen werden, wenn keine Zuordnung zu einer Quellspalte erfolgt. Bei Lookups, die eine Zuordnung von einer Quellspalte haben, ist es möglich ein Attribut der Dimension für die Zuordnung zu wählen.

Die Kombination von den Dimensionen/Tabellen-Lookups, welche den Löschbereich gesetzt haben, werden versucht zu löschen, bevor die Daten neu importiert werden. Ist z.B. der Löschbereich nur auf der Zeit definiert und es gibt einen Datensatz mit Jan 2021, so werden alle Daten für den Jan 2021 in dieser Tabelle gelöscht. Ist der Löschbereich auf der Zeit und den Produkten, so wird für die Kombination dieser beiden gelöscht. Gibt es einen Datensatz für Jan 2021 und Produkt Bianchi, so werden alle Datengelöscht, die sich im Jan 2021 befinden und das Produkt Bianchi aufweisen.

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.

Import in eine Dimension/ein Subset

Hier muss ein Zielobjekt ausgewählt werden. Anhand der Namen wird versucht schon ein erstes automatisches Mapping zu erstellen. Sollten Sie Anpassungen vornehmen wollen, können Sie die Zuordnungen von Quelle zu Ziel via Drag-and-drop machen.

Es gibt die Möglichkeit ein Element auszuwählen unter welches oder auf dessen Ebene Elemente ohne Parent zugeordnet werden sollen. Wählen Sie dazu bei "Elemente ohne Parent in der vorhandenen Struktur zuordnen zu" das entsprechende Element aus und legen Sie mit "auf Ebene darunter importieren" fest, ob die Element auf der gleichen Ebene oder unter diesem Element eingefügt werden soll. Bei Dimensionen ist es beim Rootelement nur möglich auf die Ebene darunter zu importieren, da es in Dimensionen nicht mehrere Rootelemente geben darf.

Unter Hierarchieaufbau gibt man an, aus welchen Feldern sich die Parent-Child-Beziehung in der Quelle definiert und welchem Attribut aus der Dimension das entspricht. Das kann ein beliebiges Attribut sein und muss nicht die COPSYS_ID oder der source_key sein, sondern kann beliebig ausgewählt werden.

Bei der Zuordnung der Quellspalten muss der Elementname (intern COPSYS_DIM_NAME) gesetzt werden. Bei den Subsets gibt es hier zusätzlich die ID des zugrundeliegenden Dimensionselements. Dabei handelt es sich intern um das COPSYS_HK_ROW Feld, welches die Beziehung des Subsetelements zum Element aus der Basisdimension definiert.

Für Dimensions- und Tabellenlookups können auch Standardwerte ausgewählt werden, welche dann herangezogen werden, wenn keine Zuordnung zu einer Quellspalte erfolgt. Bei Lookups, die eine Zuordnung von einer Quellspalte haben, ist es möglich das Attribut für die Zuordnung zu wählen.

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.

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.

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

Importvorgang

  • Es zieht die Security des aktuellen Benutzers, sowohl für das Löschen als auch das Schreiben.
  • Aktuell wird in Serverculture importiert.
  • Es wird momentan nur auf Blattelemente importiert. Es ist angedacht, das in Zukunft konfigurierbar zu machen.
  • 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.