Files
abap-llm/tasks_gen/eval/G0189/reference/customs_duty_old.func.abap

42 lines
799 B
ABAP

FUNCTION {{p}}customs_duty_old
IMPORTING
iv_value TYPE decfloat34
iv_country TYPE string
iv_category TYPE string
EXPORTING
ev_rate TYPE decfloat34
ev_duty TYPE decfloat34
EXCEPTIONS
invalid_value.
DATA lv_rate TYPE decfloat34.
IF iv_value < 0.
RAISE invalid_value.
ENDIF.
CASE iv_category.
WHEN 'FOOD'.
lv_rate = 5.
WHEN 'TEXTILE'.
lv_rate = 12.
WHEN 'MACHINE'.
lv_rate = 3.
WHEN OTHERS.
lv_rate = 0.
ENDCASE.
IF iv_country = 'CH' OR iv_country = 'DE' OR iv_country = 'FR'
OR iv_country = 'IT' OR iv_country = 'ES'.
lv_rate = 0.
ENDIF.
ev_rate = lv_rate.
ev_duty = round( val = iv_value * lv_rate / 100 dec = 2 ).
IF ev_duty > 0 AND ev_duty < 5.
ev_duty = 5.
ENDIF.
ENDFUNCTION.