Spalten vergleich über Select

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

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

Spalten vergleich über Select

Beitrag von Circ (ForumUser / 6 / 2 / 0 ) »
Hallo,

in der Tabelle DD03L stehen alle Tabellen mit ihren Feldnamen.
Stellt euch ein Programm vor:
Dynpro 1: Eingabe einer beliebigen Tabelle.
Dynpro 2: Ausgabe aller Felder dieser Tabelle zum Ankreuzen.
Dynpro 3: Ausgabe aller Tabellen aus der DD03L, welche alle angekreuzten Felder der angegeben Tabelle in sich tragen.

Nach Dynpro 2 haben wir eine interne Tabelle mit allen Felder aus der ausgewählten Tabelle, welche selektiert werden sollen.
Nun brauche ich eine Abfrage auf die DD03L, welche mir als Ergebnis eine Tabelle liefert in welcher alle Tabellennamen mit den passen Feldern enthalten sind.
Schwierigkeit: Pro Feld gibt es ein Tabelleneintrag.

Beispiel: Gesucht werden CARRID und CONNID aus allen Tabellen. Als Beispiel liste ich die SFLIGHT, SBOOK und SCARR auf.

Aufbaue DD03L

SFLIGHT --> CARRID
SFLIGHT --> CONNID
SBOOK --> CARRID
SBOOK --> CONNID
SCARR --> CARRID
SCARR --> CARRNAME

Als Ergebnis erwarte ich jetzt die Tabellen SFLIGHT und SBOOK. SCARR hat das Feld CONNID nicht und fällt somit raus.

Es ist kein Problem über ein längere Verarbeitungslogik dieses Problem zu lösen, jedoch suchen wir eine schnelle, kurze, performante Lösung.
Ein Beispiel hierfür waren mehrere ineinander dynamisch aufgebaute Selects. Jedoch wird dies erst unter SAP6.4 unterstützt.
Ebenfalls gibt es mit dem Befehlt DELETE die Möglichkeit duplikate zu löschen. Kann man auch nicht Duplikate löschen?

Dank und Gruß
Circ

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


Re: Spalten vergleich über Select

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »

Code: Alles auswählen.

DATA gs_dd03l TYPE dd03l.

DATA gt_tables TYPE STANDARD TABLE OF tabname.
DATA lv_table  TYPE tabname.
DATA lv_anzahl TYPE i.

PARAMETERS     p_tabnm2 LIKE gs_dd03l-tabname DEFAULT 'V%'.
SELECT-OPTIONS s_fields FOR  gs_dd03l-fieldname.

START-OF-SELECTION.

  DATA lv_fields TYPE i.
  lv_fields = lines( s_fields ).

  SELECT COUNT( * ) dd03l~tabname FROM dd03l
    INNER JOIN dd02l  on dd03l~tabname = dd02l~tabname
    INTO (lv_anzahl, lv_table)
   WHERE dd02l~tabname   LIKE p_tabnm2
     and dd02l~tabclass = 'TRANSP'
     AND fieldname IN s_fields
    GROUP BY dd03l~tabname
    HAVING COUNT( * ) = lv_fields.
    WRITE: / lv_table.
  ENDSELECT.
Schittebön...
Das Ganze noch mit einer Suchhilfe garniert, die ein Feld P_TABNAM abfragt, so dass nur die Felder dieser Tabelle angezeigt werden und fertich.
Z.B. REUSE_ALV_POPUP_TO_SELECT um mehrere Felder markieren zu können.

/edit: Bei Selektion nach Datenelement funktioniert die Methode natürlich nicht, da die Datenelemente im Gegensatz zum Feldnamen mehrmals in einer Tabelle vorkommen können.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
Circ


Re: Spalten vergleich über Select

Beitrag von Circ (ForumUser / 6 / 2 / 0 ) »
Schankedön,

aber das funzt leider nicht so wie es soll.

Gebe ich sflight als Tabelle und CARRID, CONNID als Feldname ein, wird mir als Ergebnis nur die SFIGHT ausgegeben. Jedoch ist das Feld ebenfalls in der SBOOK, SCARR etc enthalten. Ich möchte alle Tabellen, welche diese Felder besitzen.

Re: Spalten vergleich über Select

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Die Tabelle definiert nur den Suchbereich!! Damit das System nicht über alle 80.000 Tabellen sucht.
Wenn du da SFLIGHT eingibst, ist es richtig, wenn auch nur SFLIGHT gefunden wird... ;)

Re: Spalten vergleich über Select

Beitrag von Circ (ForumUser / 6 / 2 / 0 ) »
Thx... genau das brauche ich.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2422
Views
Select Spalten (Keys)
von Gast » 30.09.2004 12:50 • Verfasst in ABAP® Core
2
Antw.
4956
Views
SELECT mit spalten addieren und GROUP BY
von mawi » 29.05.2007 15:53 • Verfasst in ABAP® für Anfänger
2
Antw.
3306
Views
Select Count über mehrere Spalten
von DonBosca » 17.10.2005 09:30 • Verfasst in ABAP® für Anfänger
1
Antw.
2443
Views
Vergleich JSP / BSP
von Tserva » 07.11.2006 21:50 • Verfasst in Java & SAP®
6
Antw.
3932
Views
string vergleich
von dimes » 22.05.2006 09:28 • 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

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.