DATA lt_mwdat TYPE TABLE OF RTAX1U15. CALL FUNCTION 'CALCULATE_TAX_FROM_GROSSAMOUNT' EXPORTING i_bukrs = lv_bukrs i_mwskz = lv_mwskz * I_TXJCD = ' ' i_waers = lv_waers i_wrbtr = lv_wrbtr * IMPORTING * E_FWNAV = * E_FWNVV = * E_FWSTE = * E_FWAST = TABLES t_mwdat = lt_mwdat EXCEPTIONS bukrs_not_found = 1 country_not_found = 2 mwskz_not_defined = 3 mwskz_not_valid = 4 account_not_found = 5 different_discount_base = 6 different_tax_base = 7 txjcd_not_valid = 8 not_found = 9 ktosl_not_found = 10 kalsm_not_found = 11 parameter_error = 12 knumh_not_found = 13 kschl_not_found = 14 unknown_error = 15 OTHERS = 16. IF sy-subrc <> 0 OR lt_mwdat IS INITIAL. RAISE EXCEPTION TYPE zcx_xxx EXPORTING textid = zcx_xxx=>zcx_xxx msgv1 = SWITCH #( sy-subrc WHEN 1 THEN 'BUKRS_NOT_FOUND ' WHEN 2 THEN 'COUNTRY_NOT_FOUND' WHEN 3 THEN 'MWSKZ_NOT_DEFINED' WHEN 4 THEN 'MWSKZ_NOT_VALID' WHEN 5 THEN 'ACCOUNT_NOT_FOUND' WHEN 6 THEN 'DIFFERENT_DISCOUNT_BASE' WHEN 7 THEN 'DIFFERENT_TAX_BASE' WHEN 8 THEN 'TXJCD_NOT_VALID' WHEN 9 THEN 'NOT_FOUND' WHEN 10 THEN 'KTOSL_NOT_FOUND' WHEN 11 THEN 'KALSM_NOT_FOUND' WHEN 12 THEN 'PARAMETER_ERROR' WHEN 13 THEN 'KNUMH_NOT_FOUND' WHEN 14 THEN 'KSCHL_NOT_FOUND' WHEN 15 THEN 'UNKNOWN_ERROR' ) mtype = 'E'. ENDIF.