INTERFACE {{p}}if_trade_in PUBLIC. TYPES ty_value TYPE i. TYPES ty_brand TYPE c LENGTH 8. TYPES ty_grade TYPE c LENGTH 1. TYPES ty_reason TYPE c LENGTH 10. TYPES: BEGIN OF ty_result, amount TYPE ty_value, reason TYPE ty_reason, END OF ty_result. CONSTANTS: BEGIN OF c_brand, premium TYPE ty_brand VALUE 'PREMIUM', volume TYPE ty_brand VALUE 'VOLUME', budget TYPE ty_brand VALUE 'BUDGET', END OF c_brand, BEGIN OF c_grade, a TYPE ty_grade VALUE 'A', b TYPE ty_grade VALUE 'B', c TYPE ty_grade VALUE 'C', d TYPE ty_grade VALUE 'D', END OF c_grade, BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', brand TYPE ty_reason VALUE 'BRAND', grade TYPE ty_reason VALUE 'GRADE', age TYPE ty_reason VALUE 'AGE', mileage TYPE ty_reason VALUE 'MILEAGE', END OF c_reason. METHODS assess IMPORTING iv_brand TYPE ty_brand iv_grade TYPE ty_grade iv_age_months TYPE i iv_mileage TYPE i RETURNING VALUE(rs_result) TYPE ty_result. ENDINTERFACE.