Daten auslesen und verarbeiten * Select

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

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

Daten auslesen und verarbeiten * Select

Beitrag von Io ( / / 0 / 3 ) »
Hello!

Ich bin zur Zeit etwas ratlos.

Ich brauche diverse Daten, die in drei verschiedenen Tabellen stehen.

Einige der Daten benötige ich nur um Berechnungen durchzuführen, während ich andere, z. B. Texte, für die Ausgabe brauche.

Nun fehlt mir aber hier etwas die Logik;

1. Wie mache ich die Selects, mit denen ich alle zusammengehörigen Daten aus den drei Tabellen auslesen kann?
Wo speichere ich die Daten rein?

2. Wie läuft es mit der Verarbeitung?

Also, es soll Satz für Satz abgearbeitet werden, allerdings wollte ich alles in nur eine Tabelle speichern, sodass ich nicht so viele Loops im Programm habe.

Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt...
:-/

Grüße,
Io

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


Re: Daten auslesen und verarbeiten * Select

Beitrag von Gast ( / / 0 / 3 ) »
Io hat geschrieben: 1. Wie mache ich die Selects, mit denen ich alle zusammengehörigen Daten aus den drei Tabellen auslesen kann?
Wo speichere ich die Daten rein?

2. Wie läuft es mit der Verarbeitung?
select mit join Bedingung, damit kannst Du die Tabellen verknüpfen (Schlüsselfelder). Idealerweise so verknüpfen, daß du nur einen Select benötigst.

Beispiel aus der SAP-Docu:

Code: Alles auswählen.

PARAMETERS: p_cityfr TYPE spfli-cityfrom, 
            p_cityto TYPE spfli-cityto. 

DATA: BEGIN OF wa, 
         fldate TYPE sflight-fldate, 
         carrname TYPE scarr-carrname, 
         connid   TYPE spfli-connid, 
       END OF wa. 

DATA itab LIKE SORTED TABLE OF wa 
               WITH UNIQUE KEY fldate carrname connid. 

SELECT c~carrname p~connid f~fldate 
       INTO CORRESPONDING FIELDS OF TABLE itab 
       FROM ( ( scarr AS c 
         INNER JOIN spfli AS p ON p~carrid   = c~carrid 
                              AND p~cityfrom = p_cityfr 
                              AND p~cityto   = p_cityto ) 
         INNER JOIN sflight AS f ON f~carrid = p~carrid 
                                AND f~connid = p~connid ). 

LOOP AT itab INTO wa. 
  WRITE: / wa-fldate, wa-carrname, wa-connid. 
ENDLOOP. 
Den Select würde ich in eine interne Tabelle packen. Dann einen Loop über die interne Tabelle. Das müßte es dann gewesen sein. Im Grunde wie in obigem Beispiel.
Hoffe, das hilft Dir weiter.

Beitrag von Io ( / / 0 / 3 ) »
:?: Oh je... Das mit den Join blicke ich jetzt nicht so recht. Werde es aber gleich mal nachlesen.

Zur Zeit steht es so:

Select * from tabelle1 into i_tabelle1
where feld1 = '2'
etc.

Select * from tabelle2
where feld1 = tabelle1-feld1
etc.

Select * from tabelle3
where feld1 = tabelle1-fels1
etc.

Was da aber genau passiert, bzw. ob das was passiert weis ich nicht...
:(

Hm. Will soll ich es sagen...ich brauche aus den ganzen Tabellen mehrere Felder um Berechnungen zu machen. Damit ich nicht so viele Loops machen muss (da spielt meine Logik nicht mit) wollte ich alles irgendwie in eine interne Tabelle speichern, sodass ich alles in nur einem Loop abbilden kann.

Grüße Io

Beitrag von Gast ( / / 0 / 3 ) »
Io hat geschrieben::?: Hm. Will soll ich es sagen...ich brauche aus den ganzen Tabellen mehrere Felder um Berechnungen zu machen. Damit ich nicht so viele Loops machen muss (da spielt meine Logik nicht mit) wollte ich alles irgendwie in eine interne Tabelle speichern, sodass ich alles in nur einem Loop abbilden kann.

Grüße Io
Genau das kannst Du mit der Join-Verknüpfung machen. Poste doch mal Dein Coding (oder zumindest den Aufbau der Tabellen, d.h. die relevanten Schlüsselfelder), dann kann man Dir helfen, den join zusammenzubauen.

Beitrag von Io ( / / 0 / 3 ) »
Okay.
So sieht das Coding aus:


SELECT * FROM z902f INTO CORRESPONDING FIELDS OF TABLE i_z902f
WHERE ( bukrs IN s_bukrs
OR bukrs = buchungskreis )
AND abtei IN s_abtei
AND waogr IN s_waogr
AND gjahr = p_jahr.

SELECT SINGLE * FROM z902b
WHERE ( bukrs IN s_bukrs
OR bukrs = buchungskreis )
AND abtei = z902f-abtei
AND waogr = z902f-waogr
AND gjahr = z902f-gjahr.

SELECT SINGLE * FROM z9dbr
WHERE bukrs = z902f-bukrs
AND gjahr = z902f-gjahr.

Beitrag von Gast ( / / 0 / 3 ) »

Code: Alles auswählen.

SELECT c~felda p~feldb f~feldc 
       INTO CORRESPONDING FIELDS OF TABLE itab 
       FROM ( ( z902f AS c 
         INNER JOIN z902b AS p ON p~abtei  = c~abtei 
                              AND p~waogr = c~waogr 
                              AND p~gjahr  = c~gjahr ) 
         INNER JOIN z9dbr AS f ON f~abtei = c~abtei 
                                AND f~waogr = c~waogr). 
Nur mal so exemplarisch zusammengebastelt auf die Schnelle. Aber so in etwa kann man das machen. Zusätzlich kann man noch eine where-Bedingung angeben.
Deine itab mußt Du so definieren, daß dort die gewünschten Felder aus den 3 Tabellen vorhanden sind.
Alternativ kann man sich auch überlegen, einen View anzulegen (Transaktion SE11).

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3593
Views
Verkettete Liste auslesen/verarbeiten
von JetGum » 21.12.2007 09:19 • Verfasst in ABAP® Core
2
Antw.
2073
Views
Textdateien parallel auslesen u. verarbeiten
von kbit100 » 16.12.2015 11:42 • Verfasst in ABAP® für Anfänger
1
Antw.
3804
Views
ABAP Dump auslesen und weiter verarbeiten
von thosch » 08.08.2007 10:01 • Verfasst in ABAP® Core
8
Antw.
8816
Views
Daten aus interner Tabelle weiter verarbeiten
von RickJames87 » 17.08.2009 14:40 • Verfasst in ABAP® für Anfänger
4
Antw.
12827
Views
Werte im select mit IN verarbeiten
von kaim77 » 10.05.2013 12:32 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

Anonymous
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

LSMW-Problem
vor 10 Stunden von mazu gelöst 5 / 727
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 702

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

LSMW-Problem
vor 10 Stunden von mazu gelöst 5 / 727
ATC Finding in Smartforms
vor 4 Tagen von sap_enthusiast 2 / 702

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 77590
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 130688