How To SAP BI – Query trotz RSZC Fehler kopieren

In einem früheren Artikel habe ich gezeigt, wie Sie eine Query zwischen verschiedenen InfoProvidern kopieren können. Dieses Vorgehen hat jedoch einen Haken. Wenn ein InfoObjekt des Quell-InfoProviders im Ziel-InfoProvider fehlt, ist das Kopieren mit RSZC nicht möglich. In diesem Artikel zeige ich Ihnen, wie Sie dieses Problem umgehen.

So erleichtern Sie die Entscheidungsfindung und gewinnen einen umfassenden Überblick über Ihr Geschäft! Mit meinem neuen Buch lernen Sie, SAP für die Unternehmensplanung einzurichten, zu nutzen und zu erweitern.

Nehmen wir an, Sie wollen ein Query von einem Provider kopieren, welches mehr Merkmale und Kennzahlen enthält als der Ziel-InfoProvider. Wenn Sie versuchen die Query mit der Transaktion RSZC zu kopieren, erscheint die Fehlermeldung, dass „Keine Referenzen des InfoObjekts zum InfoProvider möglich“ sind. „Query-Komponente konnte nicht in InfoProvider kopiert werden“ und „Es konnte keine der Query-Komponenten kopiert werden“.
RSZC Fehlermeldung
Die Transaktion RZSC verwendet den Funktionsbaustein RSZ_I_COPY_QRY_TO_CUBE (bzw. RSZ_I_COPY_QRY_TO_CUBE_POPUP, der dann RSZ_I_COPY_QRY_TO_CUBE aufruft). Innerhalb dieses Bausteins wird geprüft, ob die InfoObjekts in beiden InfoProvidern verfügbar sind.
RZSC Funktionsbaustein
Falls nicht, wird l_t_comp_rename-copy_ok auf false gesetzt und der Kopiervorgang wird abgebrochen. Wir wollen also diese Prüfung unterdrücken. Nichts leichter als das. Anhand eines Beispiels führe ich Sie Schritt für Schritt durch den Prozess.


SAP Analysis for Microsoft Office: Reporting leicht gemacht

Planung und Reporting mit SAP Analysis leicht gemacht!

Lernen Sie, wie Sie mit SAP Analysis for Microsoft Office professionelle Berichte erstellen. Dieses Praxishandbuch erklärt Ihnen, wie Sie Ihre Daten auf vielfältige Weise auswerten und darstellen. Schritt-für-Schritt-Anleitungen mit zahlreichen Screenshots unterstützen Sie – von der Implementierung bis zur Anwendung.

Betrachten wir das folgende Beispiel. Wir haben zwei Aggregationsebenen. Die Ebene des Vertriebsleiters hat das Merkmal Produktgruppe sowie die Kennzahlen Betrag und Preis.
Aggregationsebene Vertrieb
Diese InfoObjekte sind in der Aggregationsebene des CFOs nicht verfügbar. Denn er plant auf einer aggregierten Ebene. Die Details wie Produktgruppe interessieren ihn nicht.
Aggregationsebene CFO
Nun wollen wir eine Query von der Aggregationsebene des Vertriebsleiters auf die Aggregationsebene des CFOs kopieren. Diese Query enthält die InfoObjekte, die in der Ebene des CFOs fehlen.
Query Vertrieb
Um die Kopie durchführen zu können, müssen wir den Quelltext des Bausteins anpassen. Dabei wollen wir nicht den Original Code von SAP hacken, also kopieren wir die gesamte Funktionsgruppe. In den Eigenschaften des Funktionsbausteins können Sie sehen, dass dieser zu der Funktionsgruppe RZIMPACT gehört.
Eigenschaften des Funktionsbausteins

Rufen Sie nun bitte die Transaktion SE80 (Object Navigator) auf und öffnen Sie die Funktionsgruppe RZIMPACT. Führen Sie einen Rechtsklick auf die Gruppe aus und wählen Sie bitte Kopieren aus dem Untermenü.
Funktionsgruppe kopieren

Vergeben Sie einen Namen für die Funktionsgruppe, zum Beispiel ZRZIMPACT. Klicken Sie bitte anschließend auf Kopieren. Danach werden Sie nach einem Transportauftrag gefragt. Da diese Änderung im Entwicklungssystem bleiben sollte, können Sie diese als lokales Objekt speichern.
Neue Funktionsgruppe

Nachdem die Funktionsgruppe angelegt wurde, werden die Funktionsbausteine kopiert. Vergeben Sie bitte Namen für die neuen Funktionsbausteine, zum Beispiel Z_COPY_QRY_TO_CUBE statt RSZ_I_COPY_QRY_TO_CUBE. Stellen Sie sicher, dass alle Bausteine ausgewählt sind. Klicken Sie danach erneut auf den Button Kopieren.
Funktionsbausteine umbennen

Öffnen Sie nun den Z_COPY_QRY_TO_CUBE Baustein. Scrollen Sie runter bis zum folgenden Befehl, in meinem Release bei der Zeile 410.:


* Map InfoObjects SOURCE <--> TARGET
PERFORM info_object_mapping

Kommentieren Sie bitte den folgenden Code aus:


  PERFORM info_object_mapping
      USING
        i_source_infocube
        i_target_infocube
        i_t_iobj_mapping
        l_th_ref_list
        l_ts_eltxref
        l_external_call
      CHANGING
        l_t_iobj_mapping
        l_t_cob_pro_source
        l_t_cob_pro_target  "MP N1800251
        l_t_comp_rename
        l_subrc
        e_t_msg.

  IF l_subrc = 1.
    RAISE canceled.
  ELSEIF l_subrc > 1.
    RAISE inherited_error.
  ENDIF.

Sie können die Tastenkombination STRG + , (Steuerung und Komma-Taste) nutzen oder den Weg über den Menüpfad HilfsmittelBlock/AblageKommentar-* einfügen wählen.
Der Funktionsbaustein sollte nun wie folgt aussehen.
Quelltext ändern
Aktivieren Sie nun bitte alle Objekte (Tastenkombination STRG+F3).
Alle Objekte aktivieren
Nun können Sie den Funktionsbaustein Z_COPY_QRY_TO_CUBE ausführen. Vergeben Sie bitte folgende Parameter:
I_SOURCE_INFOCUBE (Quell-InfoCube): Ihre Quelle
I_TARGET_INFOCUBE (Ziel-InfoCube): Ihr Ziel
I_DEFTP (Query-Komponente auswählen): REP (Queries)
I_COPY_REPDIR (Eigenschaften des Berichts): X (Eigenschaften kopieren)
Funktionsbaustein ausführen

Nun können Sie die Query wie gewohnt kopieren.
Query auswählen
Nachdem Sie einen technischen Namen für die Kopie vergeben wird die Query erfolgreich kopiert.
Kopie umbenennen
Die Query erscheint nun in dem Ziel-InfoProvider.
Query kopiert
Allerdings ist die Query noch fehlerhaft. Denn Sie enthält InfoObjekte, die in dem InfoProvider nicht verfügbar sind.
Query fehlerhaft
Entfernen Sie also bitte die „überflüssigen“ InfoObjekte aus der Query.
Query anpassen
Nun kann die Query wie gewohnt ausgeführt werden.
Query lauffähig

Wenn Sie statt der Backend Sicht das Benutzer Interface nutzen möchten, passen Sie auch den Funktionsbaustein Z_COPY_QRY_TO_CUBE_POPUP an. Dieser soll nun statt dem Original Funktionsbaustein RSZ_I_COPY_QRY_TO_CUBE den angepassten Baustein Z_COPY_QRY_TO_CUBE aufrufen. Aktivieren Sie bitte anschließend den Funktionsbaustein, um die Änderungen zu übernehmen.
Pop Up Baustein anpassen
Wenn Sie nun den Funktionsbaustein Z_COPY_QRY_TO_CUBE_POPUP aufrufen, erscheint das gewohnte Pop Up Fenster.
Pop Up kan genutzt werden
Und auch die Meldungen werden nun ganz normal, und nicht als Nachrichtennummer, angezeigt.
Protokollanzeige

Ich hoffe, dass dieser Beitrag Ihnen geholfen hat. Mehr Tipps und Tricks finden Sie in meinem neuen Buch Unternehmensplanung mit SAP BPC. Mit diesem Buch lernen Sie, SAP BPC für die Unternehmensplanung einzurichten, zu nutzen und zu erweitern. Dabei beantworte ich die zentralen Fragen von Projektteams, Beratern, IT und Anwendern – immer mit dem Blick auf die Anforderungen der Praxis.

Ihre User beklagen sich über langsame Berichte?

  • In meinem Newsletter lernen Sie, wie Sie Abhilfe schaffen.
  • Entdecken Sie die Möglichkeiten der Performanceoptimierung.
  • Praktische Anleitungen ermöglichen Ihnen schnelle Erfolge bei der Optimierung von SAP Systemen.
  • Viele Tipps und Tricks zu SAP BI Themen.
  • Holen Sie die maximale Performance aus Ihrem SAP BI!
  • Bei der Anmeldung zu meinem Newsletter erhalten Sie das Buch „High Performance SAP BI“ als Willkommensgeschenk.
Fordere SAP Performance Tricks an

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. Ich hasse Spam genau so wie du.

Falls Ihnen dieser Beitrag weitergeholfen hat, wäre es eine sehr nette Anerkennung meiner Arbeit wenn Sie z.B. Ihre Bücher über Amazon bestellen würden. Wenn Sie ein Produkt kaufen, erhalte ich dafür eine Provision. Für Sie ändert sich am Preis des Produktes gar nichts. Ich möchte mich an dieser Stelle jetzt schon für Ihre Unterstützung bedanken.

Bildquelle: Pexels, CC0 License

1 Kommentar

Trackbacks & Pingbacks

  1. […] InfoObjekt fehlt, schlägt die Kopie fehl. Zu viele InfoObjekte stellen jedoch kein Problem dar. In diesem Beitrag zeige ich Ihnen wie Sie das Problem lösen […]

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.