Bitte um Hilfe beim Select und den Where Klausel´n

Getting started ... Alles für einen gelungenen Start.
20 Beiträge • Vorherige Seite 2 von 2 (current)
20 Beiträge Vorherige Seite 2 von 2 (current)

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Robin,

richtig. Wenn Du eine leere ALV-Liste anzeigen willst, wenn zu den Bedingungen keine Belege existieren, kannst Du die Abfrage tatsächlich komplett weglassen.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

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


Beitrag von robin1at (Specialist / 190 / 0 / 0 ) »
Guten Morgen Ereglam!

Vielen vielen Dank für Deine Hilfe!!!

Genau das war es. Aber ein Problem habe ich leider immer noch.

Die Selektion funktioniert mit Land, Periode, Geschäftsjahr.

Gebe ich jetzt aber bei der Selektion Dienstleistungskennzeichen 2080 (nur ein einziger Satz vorhanden) ein, bringt das Programm alle Daten die es ausliest.

Kannst Du mir bitte sagen, wo da jetzt noch mein Fehler liegt?

Danke

Robin

Hier noch mein aktuelles Coding ...

Code: Alles auswählen.

START-OF-SELECTION.
*##################

* GUI-Titel anlegen

  SET TITLEBAR 'T_SOHA'.

  SELECT zdlkz bezeichnung
  FROM zdlkz_t INTO CORRESPONDING FIELDS OF TABLE itab_zdlkz_t
  WHERE zdlkz IN so_dlkz.

SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
                b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr
                        INTO CORRESPONDING FIELDS OF TABLE itab_sumla
                        FROM ( lfa1 AS a
                                 INNER JOIN bsak AS b
                                 ON a~lifnr = b~lifnr )
                                 WHERE bukrs IN ('1001')
                                 AND blart IN ('A1', 'A2', 'A3')
                                 AND land1 IN so_land
                                 AND gjahr = pa_gj
                                 AND monat IN so_perio.

SELECT a~lifnr a~land1 b~diekz b~belnr b~zuonr b~blart b~bukrs b~monat
                b~gjahr b~shkzg b~bschl b~dmbtr b~wrbtr
                     APPENDING CORRESPONDING FIELDS OF TABLE itab_sumla
                        FROM ( lfa1 AS a
                                 INNER JOIN bsik AS b
                                 ON a~lifnr = b~lifnr )
                                 WHERE bukrs IN ('1001')
                                 AND blart IN ('A1', 'A2', 'A3')
                                 AND land1 IN so_land
                                 AND gjahr = pa_gj
                                 AND monat IN so_perio.

* wa_soha-.... weil durch DATA Deklaration wa_soha

  LOOP AT itab_sumla INTO wa_soha.


    IF wa_soha-shkzg = 'H'.
      wa_soha-haben = wa_soha-dmbtr.
    ELSE.
      wa_soha-soll = wa_soha-dmbtr.
    ENDIF.

    wa_soha-soha = wa_soha-haben - wa_soha-soll.

* Spalten Vergleich

    IF wa_soha-zuonr = space.
      wa_soha-zdlkz = space.
    ELSE.
      READ TABLE itab_zdlkz_t INTO wa_zdlkz WITH KEY zdlkz =
      wa_soha-zuonr.
      IF sy-subrc = 0.
        wa_soha-zdlkz = wa_zdlkz-zdlkz.
        wa_soha-bezeichnung = wa_zdlkz-bezeichnung.
      ENDIF.
    ENDIF.


* Zähler für keine Einträge in DlKz

    IF wa_soha-zdlkz = space.
      wa_soha-zahler = 1.
    ELSE.
      wa_soha-zahler = 0.
    ENDIF.


    MODIFY itab_sumla FROM wa_soha TRANSPORTING soll haben soha zahler
    zdlkz bezeichnung.

  ENDLOOP.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo Robin,

in der Annahme, dass das Dienstleistungskennzeichen 'diekz' auch in der BSIK und BSAK finden läßt, musst Du schon die SELECT-OPTION so_dlkz auch in der WHERE-Bedingung von BSIK und BSAK prüfen: 'diekz IN so_dlkz'.
Woher soll sonst das System wissen, dass Du nur diese Sätze haben möchtest?

PS:
in Deinem aktuellen Coding wird mal wieder nichts gefunden, wenn Du kein Jahr eingibst.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von robin1at (Specialist / 190 / 0 / 0 ) »
Hallo Ereglam!

Ja, danke. Das war es. Ups, sorry. Ja natürlich. Die Range funktion ... :oops:

Weist Du zufällig, wo ich die Messages pflegen kann?

Wenn ich z.B. bei Geschäftsjahr einen Buchstaben eingebe, kommt sofort die Meldung:

"Bitte nummerischen Wert eingeben"

Ich möchte auch die anderen drei Select-Options so belegen.

Danke

Robin

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
robin1at hat geschrieben:Hallo Ereglam!

Ja, danke. Das war es. Ups, sorry. Ja natürlich. Die Range funktion ... :oops:

Weist Du zufällig, wo ich die Messages pflegen kann?

Wenn ich z.B. bei Geschäftsjahr einen Buchstaben eingebe, kommt sofort die Meldung:

"Bitte nummerischen Wert eingeben"

Ich möchte auch die anderen drei Select-Options so belegen.

Danke

Robin
Die Meldung mit dem "Bitte nummerischen Wert eingeben" ist vom System direckt.
Das System macht nämlich erstmal eine Prüfung, ob du einen richtigen Wert eingeben hast. So kannst du keine Buchstaben in Zahlenfelder reinschreiben.

Willst du sowas selber machen, dan gibts dafür das
"AT SELECTION-SCREEN."
Das ist ein Ereignis wie das START-OF-SELECTION.
Hier kannst abfragen einbauen wie z.B.

Code: Alles auswählen.

IF feld = 'xyz'.
 MESSAGE 'File not found.' TYPE 'E'.
ENDIF. 

Vergleichbare Themen

4
Antw.
1706
Views
Select - Frage zu einer Where-Klausel
von Stahle71 » 17.02.2016 07:21 • Verfasst in ABAP® für Anfänger
4
Antw.
3837
Views
Problem mit IN Klausel in SELECT Anweisung
von Silberwind » 06.06.2008 10:32 • Verfasst in ABAP Objects®
2
Antw.
1126
Views
Hilfe bei SELECT
von supermario73 » 31.01.2008 14:02 • Verfasst in ABAP® für Anfänger
4
Antw.
1451
Views
Hilfe bei SELECT
von treyfifty » 18.02.2016 13:57 • Verfasst in ABAP® für Anfänger
1
Antw.
1289
Views
Select-Options und F4 Hilfe
von guest » 25.10.2005 17:57 • 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
vor 54 Minuten von Bright4.5 1 / 24
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1688
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8292