Ansicht
Dokumentation

ABENDIVISION_ZERO_GUIDL - DIVISION ZERO GUIDL

ABENDIVISION_ZERO_GUIDL - DIVISION ZERO GUIDL

TXBHW - Original Tax Base Amount in Local Currency   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Division durch null

In allen bekannten Programmiersprachen ist eine Division durch null nicht erlaubt und führt zu einer Ausnahme. In ABAP ist das in der Regel auch so, mit einer Besonderheit: Die Ausnahme cx_sy_zerodivide wird nicht ausgelöst, wenn bei einer Division durch null der Dividend ebenfalls den Wert 0 hat. In diesem Fall liefert die Division in ABAP das Ergebnis 0.

Division durch null verhindern

Nutzen Sie nicht das Verhalten aus, dass ABAP eine Division durch null erlaubt, solange der Dividend selbst null ist.

Das Verhalten von ABAP ist willkürlich und entspricht nicht den Erwartungen eines Betrachters. Es soll daher nicht ausgenutzt werden. Entweder sind Divisionen durch null durch Vorbedingungen zu verhindern, oder die entsprechende Ausnahme ist für den Fall 0/0 explizit auszulösen.

Beispiel

Folgender Quelltext löst in jedem Fall eine Ausnahme aus, wenn der Divisor bei einer Division den Wert 0 hat.

IF divisor <> 0.
   result = dividend / divisor.
ELSE.
   RAISE EXCEPTION TYPE cx_sy_zerodivide.
ENDIF.






General Material Data   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 1317 Date: 20240523 Time: 152629     sap01-206 ( 31 ms )