SAP Jobsuche bei DV-Treff
bomy
  • bomy
  • SAP Forum - User Thema Starter
vor 18 Jahre

Hallo allerseits,

ich bin es wieder einmal. Ich habe mal wieder ein Problem, vielleicht kann mir von euch jemand helfen. Es geht um Mulitprovider. Ich habe einen angelegt und dieser enthält zwei Infocubes. Das Problem besteht darin, dass im ersten Infocube die Identifikationsnummer in dem Infoobjekt SA_XY und die selbe Identifikationsnummer im zweiten Infocube in das Infoobjekt SA_ZA gespeichert wurde. Wie kann ich nun dem Multiprovider "klar machen", dass SA_XY = SA_ZA ist, so dass ich Queries anlegen kann, die Daten aus beiden Infocubes enthalten und nicht nur aus einem.

Im Voraus vielen Dank.

Annegret

Förderer

fayence
vor 18 Jahre
Hy,

auf der Basis, daß Du in beiden Cubes zwei unterschiedliche InfoObjects hast, geht das nicht. Ein MultiCube ist kein 'klassischer' Join, über den Felder wahlweise zugeordnet werden könnten.

Für das, was Du vorhast, mußt Du das Datenmodell ändern:
- statt Cube lieber ODS-Objekte verwenden und darauf ein InfoSet erstellen (Join)
- das eine InfoObject aus dem einen Cube herausnehmen, löschen, und in beide Cubes ein und dasselbe einhängen
- das eine InfoObject als Referenz auf das erste anlegen ... dann können die beiden im MultiCube als ein zusammengehöriges Objekt identifiziert werden


Gruß
Thomas
bomy
  • bomy
  • SAP Forum - User Thema Starter
vor 18 Jahre
Hallo, vielen Dank für die Hilfe. So etwas ähnliches hatte ich mir schon gedacht. Nun habe ich das gleiche Infoobjekt in beiden Infocubes drinne und habe in dem Multiprovider für das Infoobjekt angegeben, dass es aus beiden Infocubes stammt. Trotzdem kann ich in der Query immer nur die Daten aus einem Infocube anzeigen lassen und nicht aus beiden gleichzeitig. Woran kann das nun noch liegen? Ich konnte leider kein ODS-Objekt anlegen, da der eine Infocube ein transaktionaler Infocube ist und ich für die Anwendung, die ich mache nur einen transaktionalen Infocube benutzen kann. Vielen Dank im Voraus. Annegret
fayence
vor 18 Jahre
Hy,

nun, um Dir genau zu antworten, müsste ich das genaue Datenmodell kennen.

In der Regel zeigt eine Query die Daten und InfoObjects) aus beiden beteiligten Providern an. Daher kann ich jetzt nur einige Fragen stellen, die Du vielleicht prüfen kannst:
- zeigt die Query alle InfoObjects aus beiden Cubes an ?
- was passiert, wenn Du auf einen Cube gezielt selektierst (es gibt ein technisches, neues IO in der Query, über die jeder Cube ausgewählt werden kann)
- liefern beide Cubes Daten (Query direkt dadrauf erstellen) ?
- Ist die Konfiguration des MultiProvider ok ?
- Auf welche Daten schränkst Du bei Queryaufruf ein ? Sind diese eingeschränkten Daten auch in beiden Cubes vorhanden ?
- Sind die Requests in beiden Cubes aktiv und reportingfähig ?
- Sind die selektierten Daten überhaupt in beiden Cubes vorhanden ?
(sorry für die letzte Frage ... aber Erfahrung lehrt *g*)

Weiter kann ich Dir auch nicht helfen - aber die Fragen bieten Dir eine Möglichkeit, gezielt nach möglichen Fehlerursachen zu suchen.

Gruß
Thomas
bomy
  • bomy
  • SAP Forum - User Thema Starter
vor 18 Jahre

Hallo,

vielen Dank erst einmal für die Mühe. Ich weiß, dass es nicht einfach ist, so auf Anhieb ein passende Anwort zu finden. Ich bin deine Fragen durchgegangen.

Ich denke das Problem liegt daran, dass der zweite Infocube aus zwei Source-Systemen gespeist wird und der erste Infocube (transaktional) nur aus einem. D.h. ich muss für den ersten Infocube das Source-System eingrenzen, aber in dem zweiten Infocube gibt es das Infoobjekt über das Source-System nicht. Ich habe die Transaktion RSRT aufgerufen und nachgeschaut was während des Query-Aufrufs passiert. Da das Infoobjekt für das Source-System im ersten Infocube nicht gefunden wird, bricht das System ab und es wird nichts angezeigt. Gibt es eine Möglichkeit, den Filter einzuschränken, so dass er nur für einen Infocube gilt?

Noch ein Zusatz: Schränke ich das System nicht ein, dann werden nur die Daten aus dem ersten Infocube angezeigt und in den zweiten Infocube springt das System gar nicht hinein. Falls es dir hilft, es wird als Meldung DBMAN 151 angegeben. Ich habe nirgends eine Erklärung für DBMAN 151 gefunden.

Viele Grüße und vielen Dank.
Annegret

fayence
vor 18 Jahre
Hy,

war in Urlaub, weshalb die Antwort etwas gedauert hat 🙂.

- Die Meldung DBMAN 15 kenne ich nicht. Auch das SAP NEt (wo Du ja selbst schon nachgeschaut hast) kennt diese Nummer für DBMAN nicht.
- Man kann nur in der Query des Multicubes auf einen InfoCube einschränken. Da gibt es ein neues InfoObject, welches dieses ermöglicht.
- Wenn in einer Query nur Daten eines einzigen der beiteiligten InfoCubes angezeigt werden, bedeutet dies in der Regel, daß entweder die Definition des MP nicht korrekt ist, die Selektion nicht ausreicht oder aber die Quelle (InfoProvider oder aber sogar das Quellsystem) die benötigten Daten nicht liefert. In dem Fall würde ich zuerst auf Ebene InfoProvider Queries erstellen, Daten ziehen und miteinander vergleichen. Passen diese und sind alle InfoObjects identisch, liegt's an der Definition des MP's. Passen die Daten nicht, sind entweder die Daten im Quellsystem krumm, werden auf dem Weg zum IP falsch geladen / modifiziert oder aber es werden Daten in einem MP miteinander verwoben, die nichts miteinander zu tun haben.

Nun wirst Du wieder suchen müssen. Tja, leider ist sowas immer mit viel Aufwand verbunden - und wirklich helfen kann da nicht wirklich jemand 🙂. Dennoch wünsche ich Dir, daß Du die Ursache findest.

Viele Grüße
Thomas
Benutzer, die gerade dieses Thema lesen