Example BADI-Implementation (BADI-Definition BADI_OLC_SETTL_RULE_DET_OPR METHOD if_ex_badi_olc_settl_rules_opr~get_operation_srd. * Business function switch /CUM/MAIN should be enabled for executing * of this code DATA: ls_tkb1a TYPE TKB1A, lv_yx TYPE XFELD VALUE 'X'. DATA: lr_def_srd TYPE REF TO cl_olc_settlement_rule_det_opr. * Read settlement profile of operation -> can be different from * customizing, when it had been changed manually within the order. CALL FUNCTION 'K_OBJECT_APROF_GET' EXPORTING I_OBJNR = is_afvgd-objnr IMPORTING E_TKB1A = ls_tkb1a EXCEPTIONS NOT_FOUND = 1 OTHERS = 2. IF SY-SUBRC IS INITIAL. IF ls_tkb1a-aprof = is_tkb1a-aprof. * ..nothing changed.... -> exit BADI EXIT. ELSE. CASE is_call_enviornment . WHEN 'WF'. WHEN 'CR'. lr_def_srd = cl_olc_settlement_rule_det_opr=>get_instance( ). CALL METHOD lr_def_srd->get_operation_srd EXPORTING is_call_enviornment = 'CR' is_caufvd = is_caufvd is_afvgd = is_afvgd is_tkb1a = ls_tkb1a IMPORTING e_error = e_error e_validfr_period = e_validfr_period e_validfr_year = e_validfr_year e_ursch = e_ursch e_aprof = e_aprof CHANGING et_pmdfu = et_pmdfu et_return = et_return. ENDCASE. ENDIF. ENDIF. ENDMETHOD.
© Copyright 2026 Paperzz