Select for all entries in itab_suchwerte

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

Select for all entries in itab_suchwerte

Beitrag von Anfänger (Specialist / 114 / 0 / 2 ) »
Hallo,
ich werde fast Wahnsinnig! :-(( Ich benötige das Buchungsdatum und das awkey aus der BKPF aus der BSEG und weitere Felder (siehe Types). Der Report soll ab einem bestimmten Datum, dass als Zeitstempel in einer Datenbank liegt nach bestimmten Kostenstellen bzw Auftragsnummern suchen. und als liste ausgeben, sowohl als Datei als auch über den Bildschirm. Die Anzahl der Kostenstellen/Auftragsnummern soll nicht begrenzt sein. Dashalb fülle ich eine Tabelle (itab_suchwerte), die die Felder Kostenstelle, Auftragsnummern und Belegnummern hat. Nach dem ich lenen musste, dass ein "inner join" mit diesen Tabellen nicht geht habe ich mir folgendes überlegt:
Ich habe jetzt Probleme mit meinem Select.
Ich bin auf eure Antworten gespannt.
Vielen Dank

Thomas

types: begin of ty_db_auslesen,
aufnr type bseg-aufnr, "Auftragsnr
kostl type bseg-kostl, "Kst
belnr type bseg-belnr, "Belegnummer
buzei type bseg-buzei, "Nummer der Buchungszeile
dmbtr type bseg-dmbtr, "Betrag in Hauswährung CURR13
shkzg type bseg-shkzg, "Soll haben kennzeichen
ebeln type bseg-ebeln, "Position des Einkaufbeleges
ebelp type bseg-ebelp, "Nummer der Buchungszeile
awkey type bkpf-awkey, "MM-Rechnungsnummer

end of ty_db_auslesen.

data: wa_db_auslesen type ty_db_auslesen.
data: itab_db_auslesen type table of ty_db_auslesen.
data: g_jahr type bseg-gjahr.

data: wa_suchwerte type zdynconn_zfssibel.
data: itab_suchwerte type table of zdynconn_zfssibel,
suche type zdynconn_zfssibel.
data: vorz(1) type c.
data: betrag(13) type c.




data text5(20) type c.
data:text6(20) type c.

start-of-selection.
"**************************************************************************************************************************************

"########## die WA_Suchwerte wird normalerweise durch ein Dympro gefüllt
"Selektion mit Hife von
wa_suchwerte-kst = '0000003300'.
wa_suchwerte-auftrnr = '000516001920'.
append wa_suchwerte to itab_suchwerte.
wa_suchwerte-kst = '0000006365'.
wa_suchwerte-auftrnr = ' '.
append wa_suchwerte to itab_suchwerte.

g_jahr = '2008'. "ab Geschäftsjahr 2009


clear wa_suchwerte.

"########## Hier mein erster Select über die BKPF alle relevanten Belegnummern werden rausgesucht.
"########## Dieses geht meines erachtens schon. Den Zeitstempel habe ich noch nicht realisiert

select belnr from bkpf into wa_suchwerte-belnr
where gjahr > g_jahr "## Daten nur ab relevanten Geschäftsjahr 2009
"AND BLDAT > TIMESTAMP. "## Muss noch durch Zeitstempel ergänzt werden
and ( bukrs = '0001' or bukrs = '0150'). "## Nur Buchungskreis 1 und 150
append wa_suchwerte to itab_suchwerte. "## anhängen der relevanten belnr an die ITAB-Suchwerte.
endselect.



"######### Hier wollte ich jetzt ein Selekt über die BSEG machen. Er sollte so aussehen, dass in der Where-Klausel
"######### eine (Kostenstelle oder eine Auftragsnummer) mit einer Belegnummer UND-Verknüpft dein soll. Macht er aber nicht.
"######### ABAP verknüpft sie mit oder (d.h. es kommen Kostenstelle und Auftragsnummern vor, die ich nicht in der ITAB_Suchwerte waren.


select * from bseg into corresponding fields of table itab_db_auslesen
for all entries in itab_suchwerte
where ( kostl = itab_suchwerte-kst or aufnr = itab_suchwerte-auftrnr ) .
AND belnr = itab_suchwerte-belnr.

Vi

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


Re: Select for all entries in itab_suchwerte

Beitrag von Thomas R. (Expert / 754 / 74 / 34 ) »
Hallo,
wenn Du in Deine interne Tabelle "itab_suchwerte" hinein schaust (Debugging) wirst Du Datensätze finden, in denen kst leer ist bzw. auftrn leer ist. Diese Bedingung trifft dann ziemlich sicher auch auf die Ergebniszeilen in Deinem Selekt zu, die Du in der Ergebnismenge nicht willst.

MfG
Thomas R.

Re: Select for all entries in itab_suchwerte

Beitrag von Anfänger (Specialist / 114 / 0 / 2 ) »
Hallo,
vielen Dank fur deine schnelle Antwort.
Ja, es ist richtig, es sind teilweise nicht alle Felder in der ITAB gefüllt. Ich dachte, dass er bei einem " Select for all entries in itab" sich jedes Feld einzelnt anschaut. Geht er zeilenweise vor? oder muss ich nur alle leeren Felder z.B. mit xxx füllen?

Am liebsten wäre mir aber eine Art Join.

Vieleicht hast du ja noch einen Tipp für mich.

Beste Grüße

Thomas

Re: Select for all entries in itab_suchwerte

Beitrag von Thomas R. (Expert / 754 / 74 / 34 ) »
Hallo Thomas,

die geringsten Änderungen an Deinem Selekt ergeben sich, wenn Du die KST- und Auftraginformationen NICHT in die Suchtab aufnimmst und direkt im Selekt auf die BSEG verwendest.

Beispiel:
lv_kst1 = '0000003300'.
lv_kst2 = '0000006365'.
lv_auf1 = '000516001920'.

*Dein Selekt über BKPF

select * from bseg into corresponding fields of table itab_db_auslesen
for all entries in itab_suchwerte
where belnr = itab_suchwerte-belnr
( kostl = lv_kst1 or kostl = lv_kst2 or aufnr = lv_auf1) .

Im Moment ist deine Konstruktion dann zwar nicht schön, müsste aber funktionieren (ungetestet).

MfG
Thomas R.

Re: Select for all entries in itab_suchwerte

Beitrag von Anfänger (Specialist / 114 / 0 / 2 ) »
Vielen Dank,
ich habe das jetzt so realisiert. :up:


Gruß
Thomas

Seite 1 von 1

Vergleichbare Themen

7
Antw.
5299
Views
select all entries in itab
von spot » 23.11.2004 17:15 • Verfasst in ABAP® für Anfänger
1
Antw.
1821
Views
SELECT mit FOR ALL ENTRIES
von Marduk » 30.09.2005 12:55 • Verfasst in ABAP® Core
1
Antw.
2227
Views
Select mit all entries !!!!!
von Apabtalker » 01.04.2010 12:55 • Verfasst in ABAP® für Anfänger
6
Antw.
3742
Views
Select for all entries Problem
von debianfan » 06.03.2018 18:39 • Verfasst in ABAP® für Anfänger
3
Antw.
2764
Views
Select Abfrage - For all Entries
von Cargo2 » 09.12.2016 10:56 • Verfasst in ABAP® Core

Ü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