loop inkl. Select

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

loop inkl. Select

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Hallo zusammen,

ich möchte alle Customizing-Tabellen herausfinden, die das Feld Spras besitzen. Dies habe ich durch eine Abfrage auf dd02l und dd03l erreicht. Nun möchte ich herausfinden, welche Sprache(n) die jeweilige Customizing Tabelle enthält.

Hierzu möchte ich nun meine Tabelle mit den relevanten Customizing Tabellen loopen und auf jeden Datensatz einen Select-Befehl ausführen und das Ergebnis in eine 3.Tabelle schreiben. Leider kann man das Select-Statement nicht so wirklich Dynamisieren.

Hier mal der Code:

Datendef:

Code: Alles auswählen.

ypes: BEGIN OF ty_itab,
        tabname type dd02l-tabname, "Tabellenname
        contflag  type dd02l-contflag, " Tabellenart
        masterlang type dd02l-masterlang, "'Masterlanguage'
        fieldname type dd03l-fieldname, " Feldname
        comptype type dd03l-comptype, " Comptype
        End of ty_itab.
       
Types: BEGIN OF ty_spras,
        tabname type dd03l-tabname, "Tabellenname
        spras type tvakt-spras, "Sprachschlüssel  
        end of ty_spras.     

data lt_itab type TABLE OF ty_itab. "interne Tabelle aller Tabellen
data lt_spras type table of ty_spras. " interne Tabelle mit alle Sprachschlüsseln zu einer Tabelle .
Abfrage:

Code: Alles auswählen.

Select dd02l~tabname dd02l~contflag dd02l~masterlang dd03l~fieldname dd03l~comptype
  From dd02l LEFT outer join dd03l on dd02l~tabname = dd03l~tabname
    into CORRESPONDING FIELDS OF table lt_itab
        where ( dd02l~contflag = 'C' OR
              dd02l~contflag = 'G') AND
              dd02l~tabname in so_tab AND
              dd02l~masterlang in so_mlang.


DELETE lt_itab where fieldname <> 'SPRAS' .

loop at lt_itab ASSIGNING <z1>.
  
  Select * from <z1>-tabname into CORRESPONDING FIELDS OF TABLE lt_spras.
    
 endloop.   
<z1>-tabname sei kein bestandteil des dictionarys.

Hat jemand eine Idee?

Viele Dank im Voraus

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


Re: loop inkl. Select

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Versuch mal <z1>-tabname in Klammern zu setzen.

Gruß

Rata

Folgende Benutzer bedankten sich beim Autor Ratazong für den Beitrag:
Spookykid

Normale Menschen wundern sich, warum in der Welt so viel schief läuft.
Programmierer wundern sich, warum alles so gut funktioniert.

Re: loop inkl. Select

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
danke funktioniert!

Weitere Frage: Ich möchte noch den Tabellenname also <z1>-tabname neben jedem herausgefundenen Schlüssel in das Feld "tabname" der Tabelle lt_spras schreiben. Kann ich das schon während dem Select Befehl machen oder muss ich hierzu die Tabelle ein weiteres mal "loopen".

Ich möchte nachher die Sprachenschlüssel zusammenfassen und eventuell die Anzahl ausgeben. Kann ich das mit dem collect Befehl realisieren?

Re: loop inkl. Select

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »

Code: Alles auswählen.

loop at lt_itab ASSIGNING <z1>.

  Select * from (<z1>-tabname) into CORRESPONDING FIELDS OF TABLE lt_spras .


 loop at lt_spras ASSIGNING <z2>.

    <z2>-anz = '1'.

 endloop.

 collect lt_spras.
<z2>-tabname = ( <z1>-tabname ).
 endloop.
Ich habe nun die Sprachschlüssel zu jeder Customizing Tabelle extrahiert. Diese möchte ich nun zusammenfassen und deren Anzahl mir merken, Hierzu schreibe ich in jeden Datensatz "1" und möchte diese dann nach Sprachschlüssel zusammenfassen. Leider funktioniert das nicht.

Wie kann ich dem Collect Befehl den sagen, nach welcehn Kritierien er Zusammenfassen soll. In der Hilfe wird der Collect Befehl entweder mit einer wa kombiiniert oder in das Select Statement mit eingebaut.

Re: loop inkl. Select

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
COLLECT sollte innerhalb einer Schleife gemacht werden. Und am besten in eine neue interne Tabelle.

Gruß

Rata

Seite 1 von 1

Vergleichbare Themen

35
Antw.
3618
Views
SELECT + LOOP: Geschwindigkeit?
von foxtrot » 15.11.2019 13:25 • Verfasst in ABAP® für Anfänger
3
Antw.
2558
Views
Select im loop alternative
von kaufmann123 » 17.05.2018 10:04 • Verfasst in ABAP® für Anfänger
1
Antw.
5156
Views
Loop mit Select-Options in der Where-Bedingung
von made » 11.11.2005 09:12 • Verfasst in ABAP® für Anfänger
2
Antw.
3742
Views
Loop at screen auf Dynpro mit SELECT OPTIONS
von herr mb » 06.12.2012 15:00 • Verfasst in ABAP® Core
1
Antw.
728
Views

Über diesen Beitrag


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.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 134
Group Items auf einer Filterbar
vor 5 Wochen von Bright4.5 1 / 168