ich bin totaler ABAP Anfänger und habe folgende Aufgabenstellung:
Es gibt 2 Tabellen mit Prozessketten. In der ersten Tabelle steht unter anderem die Chain_ID in der zweiten Tabelle unter anderem die Beschreibung_ID der Kette.
Ich habe im SAP BI einen Datenfluss erstellt: Interne Tabelle mit Chain ID ==> DataSource ==> PSA ==> DSO 1 ==> DSO 2
Ich möchte nun in die Transformation zwischen DSO1 und DSO2 in die Endroutine eine Anweisung einbauen wo eine zweite Tabelle erstellt wird (entweder über Type oder Deklaration), dann über Select auf die interne Tabelle mit der Beschreibung_ID zugreifen und dann die benötigten Informationen in dem Loop über ein Read einfügen.
Am Ende möchte ich Quasi aus beiden Tabellen, eine Tabelle erstellen in der die Chain_ID und die Beschreibung_ID angezeigt werden.
Ich hoffe ihr könnt mir soweit folgen bzw ich habe mich verständlich ausgedrückt. Wie müsste ich diese Anweisung am besten formulieren?
Da müsste man wissen, wie jene beiden Tabellen genau definiert sind, insbesondere, auf welche Weise sie zusammenhängen (typischerweise in der Form, das ein Feld einer Tabelle Schlüsselfeld der anderen ist).
Die Anweisung, die Du suchst, wird dann vermutlich ein
SELECT Feldnamen INTO CORRESPONDING FIELDS OF TABLE GesuchteTabelle
sein, wobei Du in diesem SELECT die beiden Einzeltabellen mit einer passenden JOIN-Bedingung verknüpfst.
Ich möchte das ganze ohne JOIN lösen. Über den Datenfluss von DSO1 zu DSO2 wird die Spalte CHAIN_ID direkt befüllt. Die Spalte BeschreibungsID möchte ich mittels der Transformation befüllen. Dabei soll in der Transformation eine interne Standard Table erzeugt werden, die mit den Daten der Tabelle befüllt wird, in der die BeschreibungID abgelegt ist. Aus dieser temporären Tabelle möchte ich nur die Spalte mit der BeschreibungID in die Tabelle des DSO2 schreiben.
Das müsste möglich sein oder?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Mein Problem ist, dass im Resultpackage die Chain_ID eigentlich ein Datenobjekt namens PRZ_TN was ich als Merkmal im DSO angelegt habe. (Siehe Bild) Weil aber Chain_ID und und PRZ_TN verschiedene Datenelemente sind, wird die WHERE Anweisung nicht ausgeführt. Wie krieg ich das hin dass der Select ausgeführt wird? Meine Idee war eine weitere lokale Tabelle anzulegen, quasi ein Duplikat des Resultpackage wo die PRZ_TN den gleichen Typ wie die Chain_ID bekommt, sodass dann der Select nicht über das Result_Package prüft sondern über die neue Tabelle. Kann jemand helfen?