ABAP Mehrfachselektion

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

ABAP Mehrfachselektion

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Hallo zusammen,

ich bin Student ander Dualen Hochschule!
Mein Projekt welches ich gerade betreue handelt um die automatische Verlustfreie WIP Ermittlung + Buchung!

Kurze Erläuterung:

Ich selektiere mir die WIP-Relevanten Aufträge von der Tabelle BSIS.

Folgende Felder werden hier für genutzt:

TYPES: BEGIN OF type_bsis,
hkont TYPE bsis-hkont,
bukrs TYPE bsis-bukrs,
blart TYPE bsis-blart,
shkzg TYPE bsis-shkzg,
zuonr TYPE bsis-zuonr,
buzei TYPE bsis-buzei,
belnr TYPE bsis-belnr,
dmbtr TYPE bsis-dmbtr,
END OF type_bsis.

Nach dem ich diese Daten habe, ermittliche die Zwischensumme aller Aufträge (Es können auch mehrere Aufträge vorhanden sein, welche zusammengefasst werden, die Summe der Aufträge welche nun 0 sind werden nicht berücksichtigt..

Nach dem dies geschehen ist, möchte ich mit den Aufträgen, welche jetzt noch vorhanden sind, eine weitere Select-Abfrage starten. ( MOVE wa_stdpr-zuonr TO wa_afpo-aufnr. )

SELECTION-SCREEN BEGIN OF BLOCK sel2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_aufnr FOR afpo-aufnr,
s_matnr FOR afpo-matnr,
s_dauat FOR afpo-dauat DEFAULT 'PP01'.
SELECTION-SCREEN END OF BLOCK sel2.


Meine Frage geht dahin, damit ich nicht ganz sicher weiß wie ich aus einer internen Tabelle die einezlen Daten auslesen kann, und für die Selection wieder an der richtigen stelle einlesen kann.

Code:

FORM aktuelle_preise_ermitteln.

REFRESH i_afpo.

LOOP AT i_stdpr INTO wa_stdpr.
MOVE wa_stdpr-zuonr TO wa_afpo-aufnr.


SELECT aufnr matnr dauat FROM afpo INTO (wa_afpo-aufnr, wa_afpo-matnr, wa_afpo-dauat)

WHERE aufnr = wa_afpo-aufnr
AND matnr IN s_matnr
AND dauat IN s_dauat.

APPEND wa_afpo TO i_afpo.


ENDSELECT.
ENDLOOP.


ENDFORM. "aktuelle_preise_ermitteln


Für eure Hilfe bin ich sehr dankbar!

Gruß SAP-Thomas

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


Re: ABAP Mehrfachselektion

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo Thomas,

du hast eine interne Tabelle gefüllt und möchtest die Werte für eine zweie Selektion nutzen, um die Daten in eine zweite interne Tabelle zu füllen. Habe ich dich richtig verstanden? Falls ja, dann schau dir die Hilfe für SELECT an, speziell den Zusatz FOR ALL ENTRIES IN, dieser macht genau das was du haben möchtest.

auf dein Beispiel bezogen würde es in etwa so aussehen:

Code: Alles auswählen.


check i_stdpr is not initial. "<-- wichtig, sonst selektierst du ggf. zu viel

select aufnr matnr dauat from afpo 
appending table i_afpo
for all entries in i_stdpr
where aufnr = i_stdpr-zuonr
AND matnr IN s_matnr
AND dauat IN s_dauat.

und das alles ohne LOOP, MOVE, SELECT sowie APPEND ;-)

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
SAP-Thomas

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: ABAP Mehrfachselektion

Beitrag von a-dead-trousers (Top Expert / 4298 / 214 / 1146 ) »
Alexander D. hat geschrieben:... schau dir die Hilfe für SELECT an, speziell den Zusatz FOR ALL ENTRIES IN, dieser macht genau das was du haben möchtest...
Man sollte nur darauf achten, dass die Tabelle die bei FOR ALL ENTRIES verwendet wird:
- Nicht leer ist
- Keine doppelten Einträge enthält (bezogen auf die Felder, auf die im WHERE zugegriffen wird)

Im ersten Fall würden nämlich dann immer ALLE Einträge aus der Datenbank selektiert werden, egal ob es sonst noch Einschränkungen gibt.
Im zweiten Fall kann es aufgrund der internen Verarbeitung des FOR ALL ENTRIES zu einem ungünstigen Laufzeitverhalten kommen.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
SAP-Thomas

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ABAP Mehrfachselektion

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
Punkt eins sollte auf jeden Fall beachtet werden, daher habe ich in dem Beispiel auch ein CHECK vor dem SELECT verwendet. Es wird aber auch in der Hilfe darauf hingewiesen:
Enthält die interne Tabelle itab keine Einträge, so wird dies wie eine fehlende WHERE-Bedingung cond behandelt und es werden alle Zeilen (im aktuellen Mandanten) selektiert.
Punkt zwei lässt sich (je nach Programmlogik) nicht immer vermeiden

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
SAP-Thomas

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: ABAP Mehrfachselektion

Beitrag von a-dead-trousers (Top Expert / 4298 / 214 / 1146 ) »
Alexander D. hat geschrieben:Punkt zwei lässt sich (je nach Programmlogik) nicht immer vermeiden
Copy, Sort, Delete ;)
Mach ich inzwischen schon aus Gewohnheit. Auch bei ganz "kleinen" Abfragen. Könnt ja mal was größeres draus werden :P

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
SAP-Thomas

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: ABAP Mehrfachselektion

Beitrag von SAP-Thomas (ForumUser / 15 / 10 / 0 ) »
Vielen Dank für die Antworten!
Habe das so umgesetzt und es funktioniert!

Danke!

Seite 1 von 1

Vergleichbare Themen

8
Antw.
2025
Views
Mehrfachselektion
von christof » 18.09.2014 14:24 • Verfasst in ABAP® für Anfänger
10
Antw.
7157
Views
Mehrfachselektion
von Orestes » 18.08.2011 16:00 • Verfasst in ABAP® für Anfänger
6
Antw.
3199
Views
Auf Mehrfachselektion prüfen
von Fistandantilus » 23.07.2013 12:29 • Verfasst in ABAP® für Anfänger
8
Antw.
4806
Views
MB51 - Mehrfachselektion
von Ulrich B. » 15.07.2016 09:31 • Verfasst in ABAP® für Anfänger
3
Antw.
1255
Views
Schleife bei Mehrfachselektion - SAP Query
von BerndSchweiger » 04.12.2017 10:56 • Verfasst in ABAP® für Anfänger

Ü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

Aktuelle Forenbeiträge

Passwörter speichern
Gestern von ewx gelöst 4 / 44
Massenpflege Customer
Gestern von Thomas R. gelöst 18 / 13972
Abstimmschlüssel ändern
vor 2 Tagen von FS1895 1 / 34

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

Passwörter speichern
Gestern von ewx gelöst 4 / 44
Massenpflege Customer
Gestern von Thomas R. gelöst 18 / 13972
Abstimmschlüssel ändern
vor 2 Tagen von FS1895 1 / 34

Unbeantwortete Forenbeiträge

Abstimmschlüssel ändern
vor 2 Tagen von FS1895 1 / 34
Application-Log, SLG1 Meldungstext
vor 3 Wochen von chhe001 1 / 689
Transporte sind verschwunden
vor 3 Wochen von Abapriest69 1 / 407