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 / 221 / 65 / 27 ) »
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 / 332 ) »
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 / 4098 / 128 / 941 ) »
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 / 221 / 65 / 27 ) »
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.
4035
Views
Join Bedingung
von christof » 17.12.2014 19:00 • Verfasst in ABAP® für Anfänger
2
Antw.
959
Views
Komplizierte Join Bedingung
von Nordlicht » 20.08.2014 15:10 • Verfasst in ABAP® für Anfänger
3
Antw.
2075
Views
zusammengesetzte Where-Bedingung bei inner join
von grossmic » 28.10.2009 11:05 • Verfasst in ABAP® für Anfänger
13
Antw.
4573
Views
Select-Statement
von Chilledkroete » 01.07.2013 12:23 • Verfasst in ABAP® für Anfänger
2
Antw.
1372
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

Programm anlegen mit Vorlage
vor 29 Minuten von DeathAndPain 2 / 4
IT0024 Qualifikationen CP-ID
vor 46 Minuten von DeathAndPain 2 / 273
BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Stunden von snooga87 1 / 9
Bedarfszusammenfassung "Einzelbedarfe"
vor 4 Stunden von harri 2 / 1205

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

Programm anlegen mit Vorlage
vor 29 Minuten von DeathAndPain 2 / 4
IT0024 Qualifikationen CP-ID
vor 46 Minuten von DeathAndPain 2 / 273
BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Stunden von snooga87 1 / 9
Bedarfszusammenfassung "Einzelbedarfe"
vor 4 Stunden von harri 2 / 1205

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 2 Stunden von snooga87 1 / 9
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3198
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9789