Erweitert sich eine DataSource oder ein ADSO um neue Felder, müssen diese oft in mehreren Folge-ADSOs nachgezogen werden. In den BW-Modellierungswerkzeugen heißt das: jedes Ziel öffnen, jedes Feld einzeln anlegen oder hinüberziehen, Gruppe zuordnen, aktivieren.

Der Report ZCOPY_FIELDS_TO_ADSO nimmt diese Handgriffe ab. Er kopiert Felder und InfoObjekte aus einem Quell-ADSO oder einer DataSource in ein Ziel-ADSO, ordnet sie einer Gruppe zu und aktiviert das Ziel auf Wunsch. Voraussetzung ist SAP BW/4HANA mit der Klasse CL_RSO_ADSO_API.

Was der Report kann

  • Zwei Arten von Quellen: ein ADSO mit Feldern, InfoObjekten und Feldern mit InfoObjekt-Zuordnung oder eine DataSource mit ihren Feldern.
  • Gruppen: Die kopierten Elemente kommen wahlweise in eine neue oder bestehende Gruppe mit eigenem Namen oder behalten die Gruppen der Quelle. Fehlende Gruppen werden im Ziel angelegt.
  • Abhängigkeiten: Einheiten- und Währungsfelder, geklammerte InfoObjekte und Compounding-Felder werden automatisch mitkopiert.
  • Vorhandene Elemente: Was es im Ziel schon gibt, ist in der Liste grau markiert und wird übersprungen.
  • Felder aus einer DataSource: Die Texte kommen in der Anmeldesprache, ersatzweise auf Englisch, sonst dient der Feldname als Text. Kennzahlen der Typen CURR, QUAN, DEC, FLTP, INT4 und INT8 erhalten die Aggregation SUM.
  • Aktivierung: Das Ziel wird aktiviert oder nur inaktiv gespeichert. Abhängige Transformationen und DTPs lassen sich in einem Zug reaktivieren.

Beispiele und Bilder

Selektionsbild des Reports: Quelle ist ein ADSO, darunter Ziel-ADSO, Gruppenzuordnung der kopierten Elemente und die Optionen zur Aktivierung Selektionsbild

Elementliste unter dem Selektionsbild nach „Load elements“: neue Felder sind grün markiert und vorselektiert, im Ziel vorhandene blau; die Spalte Target group zeigt die Zielgruppe Elementliste

Der Vorgang kann beliebig oft wiederholt werden.

Verschiedene Regeln verhindern invalide Zustände (doppeltes Kopieren, Compounding, Einheiten/Währungen etc.).

Die technische Grundlage

Gelesen und geschrieben wird über die Klasse CL_RSO_ADSO_API. Das Lesen liefert die Elemente und Gruppen eines ADSOs. Zum Kopieren wird die Elementliste des Ziels um die gewählten Elemente erweitert und zusammen mit den Gruppen zurückgegeben.