Select statement inner Join mit Bedingung aus Teilstring

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

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Select statement inner Join mit Bedingung aus Teilstring

Beitrag von Romaniac (Specialist / 223 / 65 / 28 ) »
Hallo zusammen,

in der Zuordnungsnummer eines FI Beleges steht die Nummer eines CO Innenauftrages ohne führende Nullen. Ich würde gerne aus der Tabelle BSEG einen inner Join auf die AUFK machen. Geht sowas in einem Select oder muss ich die AUFK danach über die Itab nochmal nachlesen? Ich habe in den verfügbaren Funktionen für in den sql_func - Zeichenkettenfunktionen der F1 Hilfe durchgesehen aber nichts derartiges gefunden.

In etwa so dachte ich mir das:

Code: Alles auswählen.

    SELECT k~bukrs, k~belnr, k~gjahr, buzei, a~aufnr
      INTO TABLE @DATA(gt_fi_docs)
      FROM bkpf AS k
        INNER JOIN bseg AS s ON
      s~belnr = k~belnr
        INNER JOIN aufk as a on
      a~aufnr = '000' && s~zuonr(9)
Danke und Gruß,

Wolfgang
Geht nicht gibts nicht

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


Re: Select statement inner Join mit Bedingung aus Teilstring

Beitrag von Tron (Top Expert / 1327 / 35 / 333 ) »
Moin Wolfgang .
Mit einem klassischen Join wird das nicht funktionieren,
aber mit einem Datenbank View (SE11). Vorausgesetzt , das BSEG keine Clustertabelle mehr ist.
Ähnliches Problem ist NAST-Object Schlüssel mit einem Belegschlüssel zu Joinen,
Auch hier funktioniert nur der Datenbank View.
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: Select statement inner Join mit Bedingung aus Teilstring

Beitrag von black_adept (Top Expert / 4134 / 131 / 956 ) »
Moin Wolfgang,
wenn dein System hinreichend modern ist geht folgendes:

Code: Alles auswählen.

SELECT SINGLE bseg~dmbtr,
              aufk~aufnr, aufk~ktext
  FROM bseg JOIN aufk ON  concat( '0000',bseg~zuonr ) = aufk~aufnr
  WHERE bseg~bukrs = '1000'
    AND bseg~belnr = '9900005930'
  INTO @DATA(ls_data).
Wichtig: Das "concat" muss auf der linken Seite des ON-Konstrukt des Joins sein.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag (Insgesamt 3):
RomaniacTrontm987456

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Select statement inner Join mit Bedingung aus Teilstring

Beitrag von Romaniac (Specialist / 223 / 65 / 28 ) »
Moin Stefan,

sehr geil, vielen Dank, der Compiler hat schon mal nicht gemeckert! (Ist ein S4 System mit Release 755). Funktioniert auch nur wenn INTO die letzte Anweisung ist und ich habe noch ein SUBSTRING eingebaut damit die Gesamtlänge der Auftragsnummer auf 12 Stellen kommt:

Code: Alles auswählen.

    SELECT k~bukrs, k~belnr, k~gjahr, buzei, zuonr
      FROM bkpf AS k
        INNER JOIN bseg AS s ON
      s~belnr = k~belnr
        INNER JOIN aufk AS a ON
      concat( '000', SUBSTRING( s~zuonr,1,9 ) ) = a~aufnr
      WHERE k~bukrs  = @pa_bukrs
        AND k~gjahr  = @pa_gjahr
        AND k~belnr IN @so_belnr
        AND k~blart IN @so_blart
        AND s~hkont IN @so_hkont
        AND k~xblnr IN @so_belnr
        AND s~zuonr IN @gt_zuonr
        INTO TABLE @DATA(gt_fi_docs).
Jetzt such ich noch einen Testfall und dann hoffe ich dass das auch funktioniert.

Danke und Gruß,

Wolfgang
Geht nicht gibts nicht

Seite 1 von 1

Vergleichbare Themen

6
Antw.
4153
Views
Join Bedingung
von christof » 17.12.2014 19:00 • Verfasst in ABAP® für Anfänger
3
Antw.
2172
Views
zusammengesetzte Where-Bedingung bei inner join
von grossmic » 28.10.2009 11:05 • Verfasst in ABAP® für Anfänger
2
Antw.
1032
Views
Komplizierte Join Bedingung
von Nordlicht » 20.08.2014 15:10 • Verfasst in ABAP® für Anfänger
13
Antw.
5018
Views
Select-Statement
von Chilledkroete » 01.07.2013 12:23 • Verfasst in ABAP® für Anfänger
2
Antw.
1501
Views
Punktoperator im Select Statement?
von Tom_KN » 21.09.2006 10:11 • Verfasst in ABAP® Core

Ü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

IF mit AND und OR
vor 6 Tagen von GastX 6 / 7122
Meine Inbox
vor einer Woche von Rabea1103 1 / 5130
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 6271
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 11708

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

IF mit AND und OR
vor 6 Tagen von GastX 6 / 7122
Meine Inbox
vor einer Woche von Rabea1103 1 / 5130
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 6271
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 11708