Ansicht
Dokumentation
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.
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 )