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.