SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
Hallo liebe Mitglieder,
vielleicht könnt Ihr mir weiterhelfen, die suche im Forum war bis jetzt erfolglos.

Ich möchte die Tabellen vbrp vbrk (Faktura-Tabellen) verketten und nicht nach dem Regulierer sonder nach der Kundennummer selektieren.
Habe versucht die Tabellen vbrp vbrk noch mit der vbak (kunnr) zu verketten aber leider ohne erfolg.

Eine Verkettung über
vbrp vbrk mit -> vbak via vbrk-aubel hat leider nicht funktioniert .


Habt Ihr eine Idee?

Code: Alles auswählen.

       VBRK~VBELN VBRK~FKART VBRK~VBTYP VBRK~VKORG VBRK~FKDAT
       VBRK~KUNRG VBRK~KUNAG
       VBRP~FKIMG VBRP~VRKME VBRP~FBUDA VBRP~NETWR VBRP~ARKTX
       VBRP~MATKL VBRP~AUFNR
       KNA1~NAME1
         FROM VBRK             AS VBRK

          JOIN VBRP            AS VBRP
          ON vbrp~vbeln = vbrk~vbeln

          JOIN kna1            AS kna1
          ON kna1~kunnr = vbrk~kunrg

          INTO CORRESPONDING FIELDS OF TABLE it_objekte
          WHERE
            AND vbrk~fkDAT     IN pa_fkdat
            AND vbrk~kunrg     IN pa_kunrg.

Viele Grüße
swonny

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Was ist denn der "Kunde" - Auftraggeber und Regulierer stehen doch schon in der VBRK - was brauchst du denn da noch?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von swonny (Specialist / 102 / 10 / 2 ) »
black_adept hat geschrieben:Was ist denn der "Kunde" - Auftraggeber und Regulierer stehen doch schon in der VBRK - was brauchst du denn da noch?
Hi black_adept,
stimmt, mach mal hat man Tomaten auf den Augen, :?
hab das nicht gesehen.
Grüße
swonny

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Ich würde auch nicht den Tabellennamen nochmal hinter AS wiederholen. Das bringt nichts und kann (in Deinem obigen Codebeispiel) ersatzlos weggelassen werden.

AS braucht man nur, wenn man den Tabellen innerhalb des WHERE-Blocks (bzw. ON-Blocks) andere Namen zukommen lassen möchte. Wirklich notwendig ist dies nur, wenn man dieselbe Tabelle mit sich selber per JOIN verknüpfen möchte, so dass der Name der Tabelle keine eindeutige Angabe mehr darstellen würde. Ein Beispiel dafür, wann man sowas tatsächlich in der Praxis brauchen kann, ist die direkte Bestimmung der Organisationseinheit einer Personalnummer aus der Personalnummer selbst (und zwar direkt aus dem OM mittels der Tabelle HRP1001, also ohne auf die Integration zu vertrauen)

(Hähä, es macht mir Spaß, euch mit HCM-Beispielen zu ärgern, wissend, dass hier fast nur SD/MM/FI-ler rumlaufen. :wink: )

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von Somani (ForumUser / 81 / 12 / 20 ) »
Das 'AS' verwende ich sehr oft auch wenn ich mit AddOn-Tabellen hantieren muss die sehr lang sind also /ADDON/TABLENAME AS TAB aus Bequemlichkeit :)

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Ja, das ist der einzige andere existierende Verwendungszweck. ich hatte ihn absichtlich nicht verraten, weil das Statement dadurch zwar kürzer, aber dennoch etwas schwerer verständlich wird und es sich insofern - wie Du schon selber einräumst - um eine reine Faulheitsmaßnahme handelt.

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
DeathAndPain hat geschrieben:Ja, das ist der einzige andere existierende Verwendungszweck.
Einspruch!
http://www.tricktresor.de/blog/untersch ... eintraege/

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von Somani (ForumUser / 81 / 12 / 20 ) »
ewx hat geschrieben:
DeathAndPain hat geschrieben:Ja, das ist der einzige andere existierende Verwendungszweck.
Einspruch!
http://www.tricktresor.de/blog/untersch ... eintraege/
Naja soviel anders ist der nested select auch nicht wie das was von DeathAndPain genannte Join-Beispiel :):
DeathAndPain hat geschrieben:[...] AS braucht man nur, wenn man den Tabellen innerhalb des WHERE-Blocks (bzw. ON-Blocks) andere Namen zukommen lassen möchte. Wirklich notwendig ist dies nur, wenn man dieselbe Tabelle mit sich selber per JOIN verknüpfen möchte, so dass der Name der Tabelle keine eindeutige Angabe mehr darstellen würde.[...][/i]
Zusätzlich ist aber noch zu sagen, dass wann immer möglich man sinvolle oder gar beschreibende aliase benutzen sollte. z.B. wenn die Tabelle LIKP in einem join für An- und Auslieferungen gelesen wird, so ist 'AS LIKP_J' und 'AS LIKP_7'' eine passende Variante. Finde ich besser wie LIKP1 und LIKP2 (vor allem wenn man aus Optimierungsgründen auf select * verzichtet und dadurch ein select-statement auch gerne mal 50+ Zeilen lang wird..)

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Somani hat geschrieben: Naja soviel anders ist der nested select auch nicht wie das was von DeathAndPain genannte Join-Beispiel :):
DeathAndPain hat geschrieben:[...] AS braucht man nur, wenn man den Tabellen innerhalb des WHERE-Blocks (bzw. ON-Blocks) andere Namen zukommen lassen möchte. Wirklich notwendig ist dies nur, wenn man dieselbe Tabelle mit sich selber per JOIN verknüpfen möchte, so dass der Name der Tabelle keine eindeutige Angabe mehr darstellen würde.[...][/i]
Das stimmt. Das ist das gleiche Beispiel.
Hatte ich übersehen... :(

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Formal gesehen hast Du recht, denn ein EXISTS ist kein JOIN, auch wenn der Unterschied geringfügig ist.

Was mich mal interessieren würde: In einem EXISTS-Block darf man ja meines Wissens nur SELECT * angeben. Bedeutet das, dass er da ebenso sinnlos wie performancefressend immer alle Spalten der Subtabelle liest, oder ist das nur eine Formalität, damit da ein syntaktisch vollständiges SELECT-Statement steht, und die Datenbank sucht sich eigenständig nur die Spalten, die sie für die WHERE-Bedingung braucht?

Re: SQL-Verkettung vbrp vbrk Selektion nach Kundennr

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
DeathAndPain hat geschrieben:Wirklich notwendig ist dies nur, wenn man dieselbe Tabelle mit sich selber per JOIN verknüpfen möchte, so dass der Name der Tabelle keine eindeutige Angabe mehr darstellen würde.
Es gibt noch mindestens einen weiteren, recht exotischen Fall, der auch zwingend einen Alias verlangt.

Man kann ja innerhalb einer Where-Bedingung auch andere Felder der gerade zu lesenden Tabelle zur Selektion heranziehen und muss dann den Tabellennamen mit ~ angeben ( Siehe hier).
Beispiel: Ein paar Tabellenfelder selektieren, wo Domänenname = Datenelementname ist:

Code: Alles auswählen.

  SELECT * UP TO 10 ROWS
    INTO TABLE gt_dd03l
    FROM dd03l
    WHERE domname = dd03l~rollname
      AND tabname LIKE 'T%'.
Wenn man nun mit dynamischen Selects arbeitet und der Tabellenname in einer Variablen p_tabname steht wird dass dann über (p_tabname) im SELECT verwendet. Und hier muss jetzt ein AS eingebaut werden um das obige Beispiel dynamisch aufzubauen, da hier der dynamische Tabellenname vor dem ~ nicht erlaubt ist.

Code: Alles auswählen.

  SELECT * UP TO 10 ROWS
    INTO TABLE gt_dd03l
    FROM (p_table) AS x
    WHERE domname = x~rollname
      AND tabname LIKE 'T%'.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

7
Antw.
9418
Views
Join KONV und VBRK
von Fredi » 11.07.2005 14:36 • Verfasst in ABAP® Core
6
Antw.
5598
Views
Beschreibungsfeld für die Auftragsart in VBRP
von vman » 27.06.2007 13:20 • Verfasst in ABAP® für Anfänger
9
Antw.
8857
Views
Frage zur Tabelle VBRP
von Mark33 » 06.03.2012 11:42 • Verfasst in ABAP® für Anfänger
2
Antw.
3903
Views
VBRP und Infosystem: Vorzeichen der Werte
von Slim_Chance » 05.01.2006 11:41 • Verfasst in Sales and Distribution
10
Antw.
3618
Views
Selektion
von christof » 30.10.2014 08:32 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 489
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1716
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 375
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 612

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
Gestern von tar 8 / 489
Daten an Tabelle binden
vor 2 Tagen von Bright4.5 3 / 1716
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 375
IT0024 Qualifikationen CP-ID
vor 3 Tagen von DeathAndPain 2 / 612

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 298
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3491
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 10034