Problem mit IN Klausel in SELECT Anweisung

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Problem mit IN Klausel in SELECT Anweisung

Beitrag von Silberwind (ForumUser / 2 / 0 / 0 ) »
Hallo zusammen... ich bin neu hier im Forum und hoffe man kann mir hier helfen, und ich poste diese Frage an der richtigen Stelle...

Mein Problem ist folgendes: Ich habe eine interne Tabelle(user_roles) mit Rollen beschrieben, die als Kriterium in eine Auswahl laufen soll.
Die Auswahl soll alle Gruppen, aus einer Zwischentabelle für Gruppen und Rollen, liefern, deren Rollen alle in der Rollentabelle sind.
So soll über die user_role Tabelle auf alle Gruppen geschlossen werden, die sich aus ihr ergeben.
dic. tabelle: group_map (group, role)
int. tabelle: user_roles(name)
Das ganze schaut derzeit ungefähr so aus...

Code: Alles auswählen.

SELECT group
  FROM group_map
  INTO CORRESPONDING FIELDS OF TABLE group_tab
  WHERE group NOT IN (
    SELECT group
    FROM group_map
    WHERE role NOT
   IN user_roles-name
  ).
Hier gibt es nun das Problem, das die IN Klausel so nicht aktzeptiert wird
(?falsche Zeilenstruktur?).

Wie ließe sich dies so, oder ähnlich realisieren?

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Schau dir mal in der Hilfe den Zusatz FOR ALL ENTRICE bei der WHERE-Bedingung an.

Oder du baust dir vorher eine RANGE zusammen.

Beitrag von ralf.wenzel (Top Expert / 3948 / 201 / 281 ) »
DeathGuardian hat geschrieben:FOR ALL ENTRICE
Outsch!!! ENTRIES!


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
ralf.wenzel hat geschrieben:
DeathGuardian hat geschrieben:FOR ALL ENTRICE
Outsch!!! ENTRIES!


Ralf
Hehe!
Ich weis schon wieso ich das bei der Autokorrektur drinnen hab. ;)

Beitrag von Silberwind (ForumUser / 2 / 0 / 0 ) »
ok... also ich hab beides mal ausprobiert, aber so recht kann ich noch nichts damit anfangen ;/

Code: Alles auswählen.

DATA: range_user_roles LIKE RANGE OF userl_roles-name.

SELECT group
  FROM group_map
  INTO CORRESPONDING FIELDS OF TABLE group_tab
  WHERE role IN range_user_roles 
  ).

Code: Alles auswählen.

SELECT group
  FROM group_map
  INTO CORRESPONDING FIELDS OF TABLE group_tab
  FOR ALL ENTRIES IN user_roles
  WHERE role = user_roles-name 
  ).
Hierbei werden mir alle Gruppen zurückgegeben... Genau versteh ich die Funktionsweise der RANGE Klausel zwar nicht, aber in der Rückgabe beider Varianten sind auch Gruppen, denen Rollen zugewiesen sind, die NICHT in der user_roles stehen

Die beiden Tabellen enthalten ungefähr diese Daten:

Code: Alles auswählen.

group_map
------------------------
|Gruppe   |Rolle       |
------------------------  
|Sportler |Springen    |
|Sportler |Werfen      |
|Aufsicht |Pfeifen     |
|Gast     |Anfeuern    |
------------------------

user_role
--------------
|Rolle       |
--------------  
|Anfeuern    |
|Werfen      |
--------------
Und nach meiner Abfrage möchte ich zurückbekommen, das der Benutzer mit diesen Rollen nur "Gast" ist.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2376
Views
Problem mit Select-Anweisung
von Crashday2707 » 19.05.2018 11:51 • Verfasst in ABAP® für Anfänger
4
Antw.
1962
Views
Select - Frage zu einer Where-Klausel
von Stahle71 » 17.02.2016 07:21 • Verfasst in ABAP® für Anfänger
19
Antw.
5517
Views
Bitte um Hilfe beim Select und den Where Klausel´n
von robin1at » 13.02.2006 13:27 • Verfasst in ABAP® für Anfänger
3
Antw.
1785
Views
Select-Anweisung
von phil1982 » 02.08.2007 08:30 • Verfasst in ABAP® für Anfänger
9
Antw.
6264
Views
Select-Anweisung
von ??? » 23.05.2005 10:22 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

line_exists evaluieren
Gestern von Radinator gelöst 6 / 163
Was zum Knobeln....
Gestern von a-dead-trousers 5 / 316

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

line_exists evaluieren
Gestern von Radinator gelöst 6 / 163
Was zum Knobeln....
Gestern von a-dead-trousers 5 / 316

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1501
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1413