Variante 1
* Summenbildung, abhängig von Spalte Soll/Haben
DATA: lv_bsid_sum type bsid-dmbtr.
SELECT SUM( CASE shkzg
* Haben
WHEN 'H' THEN dmbtr
* Soll, negieren für Subtraktion
WHEN 'S' THEN dmbtr * -1
END )
INTO @lv_bsid_sum
FROM bsid
WHERE bukrs = '0040'.
IF sy-subrc = 0.
* Summierten Wert ausgeben
WRITE: / lv_bsid_sum.
ENDIF.
Variante 2
* Summenbildung, abhängig von Spalte Soll/Haben
DATA: lv_bsid_sum type bsid-dmbtr.
SELECT SUM( CASE
* Haben
WHEN shkzg = 'H' THEN dmbtr
* Soll, negieren für Subtraktion
WHEN shkzg = 'S' THEN dmbtr * -1
END )
INTO @lv_bsid_sum
FROM bsid
WHERE bukrs = '0040'.
IF sy-subrc = 0.
* Summierten Wert ausgeben
WRITE: / lv_bsid_sum.
ENDIF.