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.
Die Meldung mit dem "Bitte nummerischen Wert eingeben" ist vom System direckt.robin1at hat geschrieben:Hallo Ereglam!
Ja, danke. Das war es. Ups, sorry. Ja natürlich. Die Range funktion ...![]()
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
Code: Alles auswählen.
IF feld = 'xyz'.
 MESSAGE 'File not found.' TYPE 'E'.
ENDIF.