Selection-Screens mit Daten aus vielen vers. Tabellen


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Selection-Screens mit Daten aus vielen vers. Tabellen

Beitragvon Legxis » 09.05.2018, 13:53

Ich habe einen Selection-Screen mit vielen Daten. Diese kann man allerdings nicht durch einen einzigen Join verbinden, so dass ich mich nun frage, wie ich alle Einschränkungen verarbeiten soll.

Code: Alles auswählen
SELECTION-SCREEN: BEGIN OF BLOCK param WITH FRAME TITLE text-001.
  SELECT-OPTIONS: s_ekorg FOR ekko-ekorg,         " Einkaufsorganisation
                  s_werks FOR ekpo-werks.         " Werk
  SELECTION-SCREEN SKIP.
  SELECT-OPTIONS: s_bedat FOR ekko-bedat,         " Belegdatum
                  s_bsart FOR ekko-bsart,         " Belegart
                  s_ebeln FOR ekpo-ebeln.         " Einkaufsbeleg
  SELECTION-SCREEN SKIP.
  SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,         " Vertriebsbeleg
                  s_bednr FOR ekpo-bednr.         " Bedarfsnummer
  SELECTION-SCREEN SKIP.
  SELECT-OPTIONS: s_lifnr FOR ekko-lifnr,         " Lieferant
                  s_idnlf FOR ekpo-idnlf,         " Lieferanten-Materialnummer
                  s_lbeln FOR likp-vbeln,         " Lieferungsnummer
                  s_wadat FOR likp-wadat.         " Planwarenausgang (Lieferdatum)
  SELECTION-SCREEN SKIP.
  SELECT-OPTIONS: s_matnr FOR ekpo-matnr,         " Material
                  s_matkl FOR ekpo-matkl.         " Warengruppe
  SELECTION-SCREEN: END OF BLOCK param.

Code: Alles auswählen
SELECT b~ebeln b~ebelp b~elikz b~loekz b~wepos b~aedat b~menge b~matnr b~txz01 b~werks b~zzkommission b~bednr b~banfn b~bnfpo b~ean11 b~ntgew b~brgew b~volum
    INTO CORRESPONDING FIELDS OF TABLE gt_outtab
    FROM ekko AS a
    INNER JOIN ekpo AS b ON b~ebeln = a~ebeln
  WHERE a~lifnr IN s_lifnr
    AND b~idnlf IN s_idnlf
    AND a~ekorg IN s_ekorg
    AND b~werks IN s_werks
    AND a~bedat IN s_bedat
    AND a~bsart IN s_bsart
    AND b~ebeln IN s_ebeln
    AND b~bednr IN s_bednr
    AND b~matnr IN s_matnr
    AND b~matkl IN s_matkl
  ORDER BY b~ebeln b~ebelp b~matnr b~werks b~zzkommission b~bednr b~banfn b~bnfpo.

Wie man hier sieht, beachte ich die Bedingungen von der Liefernummer und des Planwarenausgangs (aus LIKP) nicht, da ich nur EKKO und EKPO joinen kann (EBELP und VGPOS haben nicht dieselbe Länge).
Auch beachte ich die VBELN aus VBAK nicht.
Wenn ein Anwender also nur eine Auftragsnummer, Liefernummer oder Planwarenausgang eingibt, dann würde der SELECT die ganze EKKO/EKPO durchgehen und trotzdem nichts finden.

Wie schaffe ich es, dass alles verarbeitet wird und nicht nur die Bestelldaten aus EKKO/EKPO?
Ich bin Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support packages )
Legxis
ForumUser
 
Beiträge: 38
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 8 mal
Ich bin: Student/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Selection-Screens mit Daten aus vielen vers. Tabellen

Beitragvon Tron » 09.05.2018, 14:12

Moin.
Lies doch erst mal den Belegfluss (Tabelle VBFA) bzw. Baustein RV_FLOW / SD_DOCUMENT_FLOW_GET.
gruß Jens
Zuletzt geändert von Tron am 09.05.2018, 14:23, insgesamt 1-mal geändert.
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Tron
Expert
 
Beiträge: 929
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 165 mal
Ich bin: Entwickler/in

Re: Selection-Screens mit Daten aus vielen vers. Tabellen

Beitragvon Legxis » 09.05.2018, 14:16

Das geht nicht, da wir einen kundeneigenen Umweg haben, der manche Bestellungen ableitet. Diese findet man in der VBFA dann gar nicht.
Ich bin Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support packages )
Legxis
ForumUser
 
Beiträge: 38
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 8 mal
Ich bin: Student/in

Re: Selection-Screens mit Daten aus vielen vers. Tabellen

Beitragvon Tron » 09.05.2018, 15:01

... dann bleibt Dir wohl nichts anderes übrig , als mehrfach zu selektieren / joinen. :(
gruß Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Tron
Expert
 
Beiträge: 929
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 165 mal
Ich bin: Entwickler/in

Re: Selection-Screens mit Daten aus vielen vers. Tabellen

Beitragvon Legxis » 09.05.2018, 16:01

Im Moment prüfe ich am Ende, ob die Daten, die ich bisher verarbeitet habe auch wirklich in die Ausgabetabelle geschrieben werden sollen. Das funktioniert zwar, allerdings kann man es leicht kaputt machen. Wenn jemand nichts eingibt außer einer Liefernummer, dann würde der Select crashen.
Selbst wenn ich eine IF Bedingung schreibe, dass, wenn alles bis auf die Liefernummer (oder wadat) leer ist, zuerst LIKP durchsucht wird, dann wird es auch nicht besser. Denn der Select würde immernoch viel zu lange dauern, selbst wenn jemand die Einkauforganisation eingegeben hat. Aber wenn ich z.B. das Belegdatum OBLIGATORY mache, dann schränkt dass die Funktion des Reports sehr ein.
Ich bin Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support packages )
Legxis
ForumUser
 
Beiträge: 38
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 8 mal
Ich bin: Student/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Problem mit Select-Anweisung
Gestern von Crashday2707 2 Antw.
Drag&Drop not possible in SE80 (layout)
vor 2 Tagen von HH_ABAP 0 Antw.
Aus- oder Einblenden der Dynprofelder für bestimme Users
vor 3 Tagen von Wann 4 Antw.
gelöst Zufallszahlen
vor 3 Tagen von black_adept 9 Antw.
Customzing Standard-View V_024 austauschen
vor 3 Tagen von Brock! 0 Antw.

  Ähnliche Beiträge beta
Daten aus 2 Tabellen + Vergleich von Daten
15.10.2009, 06:02 von Thomas R. 9 Antw.
Daten aus zwei versch. Tabellen
02.03.2006, 16:42 von GERDLA 9 Antw.
Daten aus mehreren Tabellen auslesen
14.08.2007, 12:11 von MarkusW 22 Antw.
gelöst Daten aus mehreren Tabellen ausgeben
25.03.2014, 15:59 von thr-hn 6 Antw.
Daten zwischen internen Tabellen kopieren
24.05.2012, 09:30 von a-dead-trousers 3 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder