Alle

[ToDo]
AGGREGATE - Aggregieren von Tabellendaten
Die Transformation aggregiert anhand zu definierender Schlüsselfelder. Dabei werden alle Zeilen mit gleicher Schlüsselkombination zu einer Zeile zusammengefasst. Felder mit Zahlenwerten können dabei summiert werden. Alle anderen Felder werden entweder initialisiert, das heißt auf leer oder 0 gesetzt, oder es wird ein Wert kopiert.
Wichtig Die Kopierfunktion ist nur sinnvoll, wenn die Werte des Feldes bezogen auf die Schlüsselfelder eindeutig sind. Sonst wird im Normalfall der letzte Wert für diesen Schlüssel in das Target kopiert.

| Felder zu aggregieren | Selektion der Schlüsselfelder nach denen die Daten aggregiert werden sollen |
|---|---|
| Felder zu summieren | Selektion der zu summierenden Felder, dies ist nur für folgende Datentypen möglich: • INT4 - Integer (I) • FLTP - Binäre Gleitpunktzahlen (F) • DEC- Gepackte Zahlen (P) |
| Felder zu kopieren | Felder die kopiert werden sollen. Der letzte der aggregierten Einträge wird in das Ziel übernommen. Dies kann sinnvoll sein, wenn die Texte zu einem Schlüssel nicht ebenfalls als Schlüssel verwendet werden sollen, z.B. Kostenstellenbezeichnung. Sofern nicht ALLE Zeilen innerhalb der verwendeten Schlüssel identisch sind, ist dies von eingeschränktem Nutzen, da dann ein beliebiger Wert innerhalb der Schlüssel verwendet wird. |
| Felder zu leeren | Das Feld wird bei der Aggregation geleert. Wenn ein Feld mehrere unterschiedliche Werte innerhalb des Schlüssels hat, ist dieses Feld nicht mehr eindeutig und soll deswegen entfernt werden |
| Standardverhalten | Einstellung wie die restlichen Felder behandelt werden sollen: Copy - Felder kopieren Init - Felder initialisieren/leeren |
COPA_MAP - COPA Zuordnung von Quell- zu Zielfeldern

[ToDo]
COPY - Kopieren von Tabellendaten über den Spaltenindex
Die Transformation kopiert die Daten 1:1 von der Source in das Target, das bedeutet, die Werte in Spalte 1 der Source werden in die Spalte 1 des Targets kopiert. Die Funktion wird typischerweise genutzt, um eine Source in ein Shared Memory mit gleichem Source Type zu kopieren.

Bei der Transformation ist keine Konfiguration erforderlich.
Wichtig Die Felder in Source und Target müssen jeweils den gleichen Datentyp haben.
ENRICH - Anreicherung von Tabellendaten
Die aus Allevo bekannte Funktion des Enrichment ist auch in Kyra Stream verfügbar. Hierbei werden zunächst die Felder der Source automatisch auf die gleichlaufenden Felder des Target gemappt. Über einen Schlüsselvergleich können Werte aus einer beliebigen Tabelle geholt und ebenfalls an das Target übergeben werden.
Ein Beispiel können Kostenstellentexte sein, die abhängig von der Anmeldesprache und der Kostenstellennummer an das Target übergeben werden sollen.
Reiter Source-Selektion
In diesem Reiter wird festgelegt, welche Tabelle gelesen werden soll, und mit welchen Kriterien Einträge gefunden werden.

| Tabelle | Quell-Tabelle, aus der die Daten gelesen werden sollen. Bei Satelliten und SunTables muss die dazugehörige Groundtable angegeben werden |
|---|---|
| Kriterien | Kriterien, nach denen die Daten selektiert werden sollen. Meist sind dies die Schlüsselfelder der entsprechenden Quelltabelle. |
Reiter Zielfelder
In diesem Reiter wird definiert, welches Feld aus der Tabelle (Quelle) auf das Feld im Target (Zielfeld) gemappt wird. Bei Bedarf kann dabei auch eine Formel angewandt und ein Muster verwendet werden.

| Zielfeld | Feld, das im Ziel geändert werden soll. |
|---|---|
| Quellfeld | Feld aus der Quelltabelle, mit der das Zielfeld gefüllt werden soll. |
| Formel | Mit Taste F4 kann man eine bereits angelegte Formel auswählen. Mit Taste SHIFT+F2 gelangt man in den Formeleditor, um eine selektierte Formel zu ändern oder eine neue anzulegen. |
| Pattern | Mit Hilfe eines Patterns können mehrere durchnummerierte Felder mit der gleichen Formel bzw. dem gleichen Quellfeld gefüllt werden. Beispiel: Man verwendet Pattern MONTH. Im Zielfeld kann nun VALUE(MONTH) eingetragen werden, um, z.B. die Felder VALUE01 bis VALUE12 zu ändern. |
| Von/Bis | Von welchem Wert bis zu welchem Wert das Pattern durchlaufen werden soll. In dem Beispiel 1 bis 12. |
EXPAND - Expandieren Quelldaten über Zwischentabelle in Zieltabelle
Beim Expand handelt es sich um eine Spezial-Transformation, die im Grundprinzip 2 Tabellen (Source und Intermediate) miteinander multipliziert: Enthält die Tabelle aus der Source 10 Zeilen und die Intermediate 5 Zeilen, so werden daraus 50 Zeilen erzeugt.
Eine Anwendung ist die Bewertung einer Tabelle mit Planabsatzdaten mit Herstellkostendaten (Materialpreis, Materialgemeinkostenpreis, Fertigungskostenpreis). In der ersten Zeile muss die Absatzmenge mit dem Materialpreis multipliziert werden, in der zweiten Zeile die Absatzmenge mit dem Materialgemeinkostenpreis und so weiter. Jetzt ergibt sich hier schon das Problem, dass die Planabsatzdaten in der Source nicht nur ein Material, sondern mehrere enthalten und die Herstellkosten in der Intermediate nicht nur die Herstellkosten von einem Material beinhalten. Deswegen muss es möglich sein, die Schlüsselwerte beider Tabellen zu vergleichen und pro Zeile nur die Zeilen zu multiplizieren, bei denen die Materialnummer der Zeile mit den Zeilen in der Intermediate identisch sind.
Reiter Parameter
Im Reiter Parameter wird festgelegt, welches Shared Memory als Intermediate verwendet werden soll. Nun kann festgelegt werden, welche Felder aus Source und Intermediate miteinander verglichen werden. Bei Bedarf kann dies auch über eine Formel erfolgen.

| Intermediate ID | Angabe des Shared Memory Objektes, das für den Expand verwendet werden soll |
|---|---|
| Kombinationstyp | Entweder SL Selektion oder XF Formel auswählen |
| Formel auswählen | (nur bei XF Formel) Formel, über die die Zeilen selektiert werden sollen Mit Taste F4 kann man eine bereits angelegte Formel auswählen. Mit Taste SHIFT+F2 gelangt man in den Formeleditor, um eine selektierte Formel zu ändern oder eine neue anzulegen. |
Funktionsweise von Selektionsformeln Wenn das Ergebnis der Formel wahr ist bzw. "1", dann wird die Intermediate-Zeile für die Source-Zeile übernommen, ansonsten nicht.
Beispiele für Formeln
| 1=1 | Da das Ergebnis immer wahr ist, werden immer alle Zeilen aus der Intermediate verwendet. |
|---|---|
| SRC-BUKRS = INT-BUKRS | Es werden nur die Zeilen der Intermediate pro Source-Zeile angelegt, bei denen das Feld BUKRS jeweils identisch ist. |
| IF INT-GJAHR >= SRC-GJAHR THEN 1 ENDIF | Es werden nur die Zeilen der Intermediate pro Source-Zeile angelegt, bei denen das Feld GAJHR größer oder gleich dem Feld GJAHR in der Source ist. |
Reiter Source Mapping
In dem Reiter wird festgelegt, welches Feld aus der Source mit welchem Feld in der Target gemappt wird. Dies erfolgt analog zur Transformation MAP_FIELDS.

| Quelle | Feld in der Quellstruktur |
|---|---|
| Ziel | Feld in der Zielstruktur, dem das Quellfeld zugeordnet werden soll |
In der Quelle gibt es 2 Sonderfunktionen, analog zur Transformation MAP_FIELDS:
- Steht der Text in einfachen Anführungszeichen, zum Beispiel '1', so wird der Eintrag als Wert statt als Feld interpretiert.
- Folgt dem Feldnamen ein "+", zum Beispiel FELDNAME+6(10), so wird dies als Offset und Länge interpretiert: aus "KS10000000001000" werden die ersten 6 Stellen entfernt und die restlichen 10 Stellen verwendet, in dem Beispiel "0000001000". FELDNAME+6 verwendet alles nach dem 6. Zeichen, FELDNAME(4) verwendet die ersten 4 Zeichen.
Reiter Intermediate Mapping
In diesem Reiter wird festgelegt, welches Feld aus der Intermediate mit welchem Feld in der Target gemappt wird. Dies erfolgt analog zur Transformation MAP_FIELDS.

| Intermediate | Feld in der in der Intermediate-Tabelle |
|---|---|
| Ziel | Feld in der Zielstruktur, dem das Intermediate-Feld zugeordnet werden soll |
Reiter Dyn. Mapping
In diesem Reiter kann festgelegt werden, welches Feld aus der Source abhängig von dem Wert in dem Feld in Intermediate auf das Feld in der Target gemappt wird.

Visuelles Beispiel

Der Wert der Felder VALUE_A, VALUE_B, VALUE_C werden in das Feld VALUE übernommen. Für die Intermediatezeile 1 wird VALUE_A verwendet, für Zeile 2 VALUE_B und für Zeile 3 VALUE_C.
Reiter Formeln
In diesem Reiter können Formeln definiert werden, deren Ergebnis in ein Feld in der Target geschrieben wird, z.B. "Absatzmenge x Materialpreis".
Über das Feld Muster können Werte durchlaufen werden, z.B. 1-12, um nicht für jedes Feld Wert01 bis Wert12 eine eigene Formel erstellen zu müssen. Hierbei wird bei der Ausführung jeder Wert von 1 bis 12 durchlaufen und jedes Mal der Eintrag MONTH mit dem Wert ersetzt.

| Formel | Mit Taste F4 kann man eine bereits angelegte Formel auswählen. Mit Taste F2 gelangt man in den Formeleditor, um eine selektierte Formel zu ändern oder eine neue anzulegen. |
|---|---|
| Ziel | Feld, das im Ziel geändert werden soll. |
| Muster (Pattern) | Mit Hilfe eines Patterns können mehrere durchnummerierte Felder mit der gleichen Formel bzw. dem gleichen Quellfeld gefüllt werden. Beispiel: Man verwendet Pattern MONTH. Im Zielfeld kann nun VALUE_W_(MONTH) eingetragen werden, um, z.B. die Felder VALUE_W_01 bis VALUE_W_12 zu ändern. |
| Von/Bis | Von welchem Wert bis welchem Wert das Pattern durchlaufen werden soll. In dem Beispiel 1 bis 12. |
Die Formeln werden in der Reihenfolge ihrer Anlage ausgeführt.
Hinweis Um die Reihenfolge der Formeln zu ändern, kann man die Zeile im ALV per Drag&Drop an die gewünschte Stelle verschieben.
FEEDBACK - Feedback vom Target Objekt
Dies ist eine Sonderform der Transformation. Bei einigen Target Types ist es notwendig, ein zurückgegebenes Ergebnis zu verarbeiten, z.B. ob die Anlage einer Kostenstelle erfolgreich war. Diese Transformation kann diese Information aus dem Target Type einer Action übernehmen und ähnlich zur Transformation Enrichment in dem Target speichern, sofern der Target Type dies bereitstellt. Aktuell unterstützen alle Target Types zu Anlage von CO-Stammdaten diese Funktion (siehe Kapitel 6.7).

| Action | Action, aus deren Target Type das Ergebnis gelesen werden soll |
|---|---|
| Feldzuordnung | Quellfeld aus der Action und Zielfeld, an das das Ergebnis übergeben werden soll |
FILTER - Daten filtern
Innerhalb eines Process ist es gelegentlich notwendig, die Daten zu filtern, zum Beispiel, um nur die gültigen Zeilen zu verbuchen. Die Transformation kann entweder das Ergebnis der Filter an das Target übergeben oder die Zeilen entfernen, die dem Filter entsprechen und die restlichen Zeilen übergeben.

| Filter-Typ | DE - Übereinstimmende Zeilen löschen TR - Übereinstimmende Zeilen übertragen |
|---|---|
| Optionen hinzufügen | Aus den Feldern der Source Felder zum Filtern auswählen |
| Optionen löschen | Ausgewählte Filteroption entfernen |
MAP_FIELDS - Zuordnung Quell- zu Ziel-Feldern
Die Transformation bietet die größte Flexibilität beim Kopieren von Daten. Für jedes Feld der Source kann festgelegt werden, auf welches Feld des Targets die Werte kopiert werden sollen.

| Quelle | Feld in der Quellstruktur Durch die Verwendung von einfachen Anführungszeichen 'Beispiel' können auch Konstanten einem Zielfeld zugeordnet werden. |
|---|---|
| Ziel | Feld in der Zielstruktur, dem das Quellfeld zugeordnet werden soll |
Bei der Spalte Quelle gibt es 2 Sonderfunktionen:
- Festwert: Steht der Text in einfachen Anführungszeichen, zum Beispiel '1', so wird der Eintrag als Wert statt als Feld interpretiert.
- Offset: Folgt dem Feldname ein "+", zum Beispiel FELDNAME+6(10), so wird dies als Offset und Länge interpretiert: aus "KS10000000001000" werden die ersten 6 Stellen entfernt und die restlichen 10 Stellen verwendet, in dem Beispiel "0000001000". FELDNAME+6 verwendet alles nach dem 6. Zeichen, FELDNAME(4) verwendet die ersten 4 Zeichen.
Wichtig Es ist technisch nicht möglich, Texte in Felder mit dem Datentyp Zahl zu kopieren.
MOVE - Kopieren von Tabellendaten über den Spaltennamen
Die Transformation kopiert die Daten anhand der Spaltennamen von der Source in das Target, das bedeutet, die Werte in der Spalte "Auftrag" aus der Source werden in die Spalte "Auftrag" des Targets kopiert.
