Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8652

Re: How to catch BCD_OVERFLOW error when passing value to formal parameter?

$
0
0

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.


Viewing all articles
Browse latest Browse all 8652

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>