SAP Tutorials Blog


 


BAdI implementation 


Repeat the previous steps and create another BAdI implementation to reflect division:

BAdI Definition: ZBADI_DEMO_ABAP_CALCULATOR


BAdI Implementation Name: ZBADI_IMPL_DEMO_ABAP_CALC_DIV


Implementing class: ZCL_DEMO_ABAP_CALCULATOR_DIV


CLASS zcl_demo_abap_calculator_div DEFINITION

  PUBLIC

  FINAL

  CREATE PUBLIC .


  PUBLIC SECTION.


    INTERFACES if_badi_interface .

    INTERFACES zif_demo_abap_calculator .

  PROTECTED SECTION.

  PRIVATE SECTION.

ENDCLASS.




CLASS zcl_demo_abap_calculator_div IMPLEMENTATION.

  METHOD zif_demo_abap_calculator~calculate.

    TRY.

        IF num1 = 0 AND num2 = 0.

          RAISE EXCEPTION TYPE cx_sy_zerodivide.

        ENDIF.


        result = |{ CONV decfloat34( num1 / num2 ) STYLE = SIMPLE }|.

      CATCH cx_sy_zerodivide.

        result = |Dividing { num1 } by { num2 } is not possible.|.

    ENDTRY.

  ENDMETHOD.

ENDCLASS.



Serkan AKKAVAK

Computer Engineer BSc

Head of SAP & Software Department

Contact : serkurumsal@yandex.com