What about using numeric?
CLASS lcl_calculator DEFINITION.
PUBLIC SECTION.
METHODS add IMPORTING i_op1 TYPE numeric i_op2 TYPE numeric RETURNING value(r_sum) TYPE i
RAISING cx_sy_conversion_overflow.
ENDCLASS. "lcl_calculator DEFINITION
CLASS lcl_calculator IMPLEMENTATION.
METHOD add.
TRY.
r_sum = i_op1 + i_op2.
CATCH cx_sy_arithmetic_overflow.
RAISE EXCEPTION TYPE cx_sy_conversion_overflow.
ENDTRY.
ENDMETHOD. "add
ENDCLASS. "lcl_calculator IMPLEMENTATION
DATA:
lo_calculator TYPE REF TO lcl_calculator,
l_result TYPE i.
START-OF-SELECTION.
TRY.
CREATE OBJECT lo_calculator.
l_result = lo_calculator->add(
i_op1 = 10000000000
i_op2 = 1 ).
WRITE:/ l_result.
CATCH cx_sy_conversion_overflow.
WRITE:/ 'Error'.
ENDTRY.