ABAP SELECT OPTIONS ABFRAGE

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

ABAP SELECT OPTIONS ABFRAGE

Beitrag von IMBIT (ForumUser / 5 / 0 / 0 ) »
Hallo, ich bin ABAP-Anfänger und komme nicht weiter.
Ich habe eine Selektionsmaske erstellt mit den Feldern Kreditor, Artikel und Datum.
Ich möchte alle Werte im SELECT ausgegeben haben zu dem eingegebenen Kreditor.
Bei SELECT wird nichts gefunden (die Ausgabe ist hier nicht dabei, aber beim Setzen eines Breakpoints kann man schon feststellen, dass der SELECT nicht funktioniert/ nicht findet).

Code: Alles auswählen.

 

INITIALIZATION.

*Struktur für interne Tabelle
  TYPES: BEGIN OF l_s_kreditor,
          krednr LIKE LFA1-LIFNR,
          kredname LIKE LFA1-NAME1,
          matnr LIKE EKPO-MATNR,
          redat LIKE RBKP-REINDAT,
          budat LIKE RBKP-BUDAT,
          rmwwr LIKE RBKP-RMWWR,
  END OF l_s_kreditor.
*  TYPES: l_t_kreditor TYPE TABLE OF l_s_kreditor.

*Initialisierung interne Tabelle
DATA l_t_kreditor TYPE TABLE OF l_s_kreditor WITH HEADER LINE.

*Selection Kreditor
  DATA wa_LFA1 TYPE LFA1.
  SELECT-OPTIONS Kreditor FOR wa_LFA1-LIFNR.

*selection Materialnummer
  PARAMETERS: Artikel TYPE EKPO-MATNR.

*Selection DATUM TYPE d.
  DATA wa_RBKP TYPE RBKP.
  SELECT-OPTIONS Datum FOR wa_RBKP-BUDAT.


AT SELECTION-SCREEN.


START-OF-SELECTION.
*Main Select 

IF Kreditor IS NOT INITIAL AND Artikel IS INITIAL AND Datum IS INITIAL.
    SELECT    LFA1~LIFNR
              LFA1~NAME1
              EKPO~MATNR
              RBKP~REINDAT
              RBKP~BUDAT
              RBKP~RMWWR    INTO CORRESPONDING FIELDS OF TABLE l_t_kreditor
                            FROM RBKP

                            INNER JOIN LFA1
                            ON RBKP~LIFNR = LFA1~LIFNR
                            INNER JOIN EKKO
                            ON RBKP~LIFNR = EKKO~LIFNR
                            INNER JOIN EKPO
                            ON EKPO~EBELN = EKKO~EBELN 

WHERE LFA1~LIFNR = Kreditor.

Ich hoffe Ihr könnt mir helfen.
Gruß IMBIT

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


Re: ABAP SELECT OPTIONS ABFRAGE

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Moin,

so ich werfe die Antwort nochmal komplett um:
Versuch es mal so:

Code: Alles auswählen.

 SELECT    LFA1~LIFNR
              LFA1~NAME1
              EKPO~MATNR
              RBKP~REINDAT
              RBKP~BUDAT
              RBKP~RMWWR    INTO CORRESPONDING FIELDS OF TABLE l_t_kreditor
                            FROM LFA1

                            INNER JOIN RBKP
                            ON RBKP~LIFNR = LFA1~LIFNR
                            INNER JOIN EKKO
                            ON EKKO~LIFNR = LFA1~LIFNR
                            INNER JOIN EKPO
                            ON EKPO~EBELN = EKKO~EBELN 

WHERE LFA1~LIFNR = Kreditor.
Gruß,
der Matze

Re: ABAP SELECT OPTIONS ABFRAGE

Beitrag von IMBIT (ForumUser / 5 / 0 / 0 ) »
Danke für die schnelle Antwort.

Ich habe einen Fehler gefunden, statt

Code: Alles auswählen.

WHERE LFA1~LIFNR = Kreditor.
muss stehen:

Code: Alles auswählen.

WHERE LFA1~LIFNR IN Kreditor.
Mit deiner Lösung habe ich leider das Problem, dass alle Felder bis auf LIFNR und NAME1 ausgegeben werden.

Ich habe schon alles mögliche probiert, aber diese beiden Werte überträgt er einfach nicht in die interne Tabelle.

Könnte das an den Joins liegen?

Danke!
IMBIT

Re: ABAP SELECT OPTIONS ABFRAGE

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

dein gefundener "Fehler" ist nur dann ein Fehler, wenn du mehr als einen Lieferanten selektieren willst. Wenn du nur genau einen selektierst, klappt das auch.

Und das er die Felder nicht füllt liegt an deiner Feldnamendeklaration für die Struktur. Dort benennst du die Felder LIFNR und NAME1 um. und durch den Selektionszusatz "INTO CORRESPONDING FIELDS OF TABLE" werden nur gleiche Felder übertragen. Benenn also die entsprechenden Felder in deiner Struktur um und alles klappt.

Als Tipp für die Zukunft: du machst dir das Leben als Programmierer wesentlich angenehmer, wenn du vorgegebene Feldnamen nicht ständig neu erfindest. Wenn du als die Lieferantennummer willst, heißt das Feld einfach immer LIFNR. Ist in sofern auch besser, da andere Programmierer, die dein Coding später mal bearbeiten müssen/wollen direkt wissen um welche Felder es sich handelt. :)
Gruß,
der Matze

Re: ABAP SELECT OPTIONS ABFRAGE

Beitrag von IMBIT (ForumUser / 5 / 0 / 0 ) »
Ah, das würde erklären, warum die anderen funktionieren.

Ich kann es leider erst wieder am nächsten Mittwoch testen, da ich vorher keinen Zugang zum System habe.

Vielen Dank und ich melde mich nach dem Test wieder :)

Gruß
IMBIT

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3800
Views
SELECT - Options & SELECT Abfrage
von Mavrix » 14.05.2007 08:41 • Verfasst in ABAP® für Anfänger
9
Antw.
6163
Views
Verhalten von select-options in ABAP OO
von Spookykid » 12.07.2011 14:55 • Verfasst in ABAP Objects®
0
Antw.
2262
Views
select-options depend on select-options.
von dragospirnut1 » 19.07.2017 09:54 • Verfasst in ABAP® Core
4
Antw.
18636
Views
Select nach Parameter & Select-Options
von doeme » 10.07.2012 16:37 • Verfasst in ABAP® für Anfänger
10
Antw.
6646
Views
2 Select-Options zu einem für Select zusammenfügen
von manuk » 23.03.2005 11:02 • 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

Daten an Tabelle binden
Gestern von Bright4.5 1 / 511
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2146
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8742