Bezeichnung der Referenzbewegungsart (SREFBEW aus TZB06) in SELECT-Anweisung

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

Bezeichnung der Referenzbewegungsart (SREFBEW aus TZB06) in SELECT-Anweisung

Beitrag von iR0gue (ForumUser / 2 / 0 / 0 ) » 8. Okt 2019 11:32

Hallo zusammen,

ich hänge nun seit Längerem an einem Problem für mein Programm. In mehreren SELECT-Anweisungen befülle ich eine Struktur und anschließend interne Tabelle, welche als ALV-Grid ausgegeben wird. Zu den Spalten gehören unter anderem die Bewegungsart (SBEWART) und die entsprechende Bezeichnung (XBEWART). SBEWART befindet sich in TZB06 und XBEWART in TZB0T. Für die Bezeichnung der Referenzbewegungsart (SREFBEW) gibt es soweit ich weiß kein eigenes Feld. So sah die ursprüngliche SELECT aus:

SELECT tzb06~bukrs, tzb06~sbewart, xbewart, tzb06~srefbew
FROM tzb06 JOIN tzb0t ON tzb06~sbewart = tzb0t~sbewart
WHERE...
INTO @gs_selection
ENDSELECT.

Diese SELECT würde ich nun gerne so aufteilen, dass der erste SELECT bukrs, sbewart und xbewart beinhaltet und der zweite die srefbew und die entsprechende Bezeichnung. Wie komme ich jedoch an die Bezeichnung der Referenzbewegung? Vielen Dank im Voraus!


Re: Bezeichnung der Referenzbewegungsart (SREFBEW aus TZB06) in SELECT-Anweisung

Beitrag von schick (ForumUser / 49 / 5 / 13 ) » 10. Okt 2019 14:39

Hi,
warum willst du den SELECT trennen? Wenn es dir nur darum geht die Bezeichnung zur Referenzbewegungsart zu lesen kannst du die Tabelle auch einfach ein zweites mal in den JOIN mit aufnehmen.
Das könnte in etwa so aussehen:

Code: Alles auswählen.

TYPES:
  BEGIN OF ty_bewart,
    bukrs    TYPE tzb06-bukrs,
    sbewart  TYPE tzb06-sbewart,
    srefbew  TYPE tzb06-srefbew,
    xbewart1 TYPE tzb0t-xbewart,
    xbewart2 TYPE tzb0t-xbewart,
  END OF ty_bewart.

DATA:
  t_bewart TYPE STANDARD TABLE OF ty_bewart.    

SELECT 
  tzb06~bukrs,
  tzb06~sbewart,
  tzb06~srefbew,
  text1~xbewart,
  text2~xbewart
  FROM tzb06
  INNER JOIN tzb0t      AS text1 ON text1~sspras  EQ 'DE'
                                AND text1~sbewart EQ tzb06~sbewart
  LEFT OUTER JOIN tzb0t AS text2 ON text2~sspras  EQ 'DE'
                                AND text2~sbewart EQ tzb06~srefbew
  INTO TABLE @t_bewart
  "WHERE 
  .
Ohne Garantie da grad kein System zur Hand.

Re: Bezeichnung der Referenzbewegungsart (SREFBEW aus TZB06) in SELECT-Anweisung

Beitrag von iR0gue (ForumUser / 2 / 0 / 0 ) » 15. Okt 2019 13:24

Hallo, erst einmal danke für deine Antwort!
Ich bin wie gesagt ein Anfänger in ABAP und ich habe mir sagen lassen, dass das ganze auch ohne zusätzliche JOINs möglich ist, indem ich die SELECTs trenne. Mit anderen Worten, es ist Teil der Aufgabe das Ganze mit mehreren SELECTs zu machen. Falls es da irgendeine Möglichkeit gibt, würde ich mich freuen. Ansonsten versuche ich mit dem bereits vorgeschlagenen weiterzuarbeiten.

Seite 1 von 1

Aktuelle Forenbeiträge

Web Service Restful API
vor 11 Stunden von Tron 2 / 32
Entwurfsmuster in ABAP / OO
vor 2 Tagen von Maximus 16 / 2132
VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
Rabax Fehlermeldung
vor 2 Tagen von zzcpak 2 / 84
Aufgabe Programm/- Tabellenerstellung
vor 2 Tagen von SaskuAc 3 / 84

Unbeantwortete Forenbeiträge

VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
HANA Audit Trail
vor einer Woche von JohnLocklay 1 / 97
Halber Tag Urlaub
vor einer Woche von SO4SAP 1 / 61
Funktionsbausteine BAPI_INCOMINGINVOICE*****
vor einer Woche von Rabea1103 1 / 70
S4/HANA in der Cloud / 14 Tage Trial
vor 3 Wochen von Tron 1 / 101