Cluster-Tabelle ist JOIN nicht erlaubt


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Cluster-Tabelle ist JOIN nicht erlaubt

Beitragvon cuncon » 20.10.2017, 11:05

Hallo Zusammen,

ich habe einen select Befehl geschrieben und die 3 Tabellen vbrk, vbrp und konv sollen gejoint werden. Nun habe ich eine Fehlemeldung bekommen:

Für Pool-Tabelle, Clauster-Tabellen und Projektions-Views ist JOIN nicht erlaubt: "KONV"

Gibt es eine Transparente Tabelle für Konditionen ähnlich wie konv? Ich habe die transparente Tabelle kondp gesehen und die ist nicht ähnlich wie TB konv.

Mein SELECT sieht folgende aus:

SELECT a~vbeln a~fkdat a~fkart b~matnr a~kunrg a~kunag c~kschl
INTO CORRESPONDING FIELDS OF TABLE gt_output
FROM ( ( vbrk AS a
INNER JOIN vbrp AS b ON a~vbeln = b~vbeln
)
INNER JOIN konv AS c ON a~knumv = c~knumv
)
WHERE a~vbeln IN s_vbeln
AND a~fkdat IN s-fkdat
AND a~s_fkart IN s_fkart
AND b~matnr IN s_matnr
AND a~kunrg IN s_kunrg
AND a~kunag IN s_kunag
AND c~kschl IN s_kschl.

Kann jemand mir helfen?

Ich bedanke mich für jede Antwort.

cuncon
Zuletzt geändert von cuncon am 22.10.2017, 07:48, insgesamt 2-mal geändert.
cuncon
ForumUser
 
Beiträge: 17
Registriert: 18.10.2017, 21:03
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Cluster-Tabelle KONV ist JOIN nicht erlaubt

Beitragvon DeathAndPain » 20.10.2017, 15:21

Pool-Tabellen sind seltsame Objekte. Meines Wissens will die SAP auch von denen weg und hat schon so einige davon auf transparente Tabellen umgestellt (habe ich zumindest mal gehört). Tatsächlich ist auf unserem 7.50-System die KONV eine transparente Tabelle.

Was Deinen Fall angeht, so sehe ich aber kein großes Problem, denn Du hast die Tabelle KONV ja sowieso nicht in Deinen Selektionskriterien. Ehrlich gesagt sehe ich überhaupt nicht so recht, wozu Du die KONV überhaupt brauchst, denn weder bei den von Dir gelesenen Feldern noch bei Deiner WHERE-Bedingung spielt sie eine Rolle. Durch den JOIN mit dieser Tabelle kannst Du allenfalls Ergebnisse ausfiltern, bei denen in der VBRK ernsthaft KNUMV-Werte stehen, die es in der KONV gar nicht gibt. Umgekehrt sehe ich allerdings die Gefahr, dass Du Dir Kreuzprodukte einhandelst, dass Du also die gleichen Suchergebniszeilen mehrfach bekommst, nämlich für jede Konditionsposition in der KONV, die zu Deinem KNUMV passt, denn der Primärschlüssel der KONV ist ja nicht nur KNUMV.

Wenn Du das dennoch machen möchtest, dann musst Du halt zunächst den SELECT ohne die KONV machen und anschließend einen LOOP über Deine Ergebnistabelle gt_output machen und für jede Zeile (oder per "FOR ALL ENTRIES IN") einen Einzel-SELECT auf die KONV machen. Der ist ja bei Pooltabellen erlaubt; nur JOIN geht nicht. Mit anderen Worten, Du musst an dieser Stelle das machen, was für Leute normal ist, die mit JOINs nicht umgehen können (und ich bin geneigt zu sagen, das ist die Mehrheit der mir bekannten Entwickler).

Für diese Nachricht hat DeathAndPain einen Dank bekommen :
cuncon
DeathAndPain
Specialist
 
Beiträge: 266
Registriert: 05.05.2006, 10:14
Dank erhalten: 65 mal
Ich bin: Entwickler/in

Re: Cluster-Tabelle ist JOIN nicht erlaubt

Beitragvon cuncon » 23.10.2017, 20:34

vielen Dank für die sehr gute Antwort. Du hast völlig recht. Ich sehe jetzt die Redundanz und muss anders machen.

cuncon
cuncon
ForumUser
 
Beiträge: 17
Registriert: 18.10.2017, 21:03
Dank erhalten: 0 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
gelöst Protokoll vergangener RFC Aufrufe
vor 16 Stunden von Dele 3 Antw.
BREAK-POINT-IDs verwenden
vor 15 Stunden von ralf.wenzel 2 Antw.
MEREQ001 Zusatzfelder ausblenden
vor 3 Tagen von SAP4Echo 0 Antw.
gelöst Z Tabelle Key Feld ändern
vor 3 Tagen von DeathAndPain 3 Antw.
gelöst Funktionsbaustein EXIT_SAPLCORF_404 in Transaktion COR6N
vor 20 Stunden von SAP_ENTWICKLER 2 Antw.

  Ähnliche Beiträge beta
gelöst Als Arbeitsbereich ist eine interne Tabelle nicht erlaubt
02.03.2017, 10:18 von Tanega 2 Antw.
gelöst Inner Join funktioniert nicht
15.05.2014, 14:03 von Bugfix13 6 Antw.
Arbeitsbereich nicht lang genug bei INNER JOIN
03.02.2012, 16:32 von Thomas R. 1 Antw.
gelöst Feld wird im Join nicht gefüllt
14.12.2016, 12:07 von Barney 3 Antw.
Mini Basis System nur localhosr erlaubt????
06.12.2005, 14:22 von ewx 4 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

Feedback ...?

Was können wir verbessern? Hinterlasse deine Kontaktdaten, wenn du eine direkte Antwort möchtest.

... Absenden!