INTERFACE {{p}}if_air_freight PUBLIC. TYPES: ty_weight TYPE p LENGTH 9 DECIMALS 3, ty_volume TYPE p LENGTH 11 DECIMALS 3, ty_amount TYPE p LENGTH 13 DECIMALS 2, ty_category TYPE c LENGTH 10, ty_reason TYPE c LENGTH 12. TYPES: BEGIN OF ty_result, chargeable_weight TYPE ty_weight, freight TYPE ty_amount, dangerous_fee TYPE ty_amount, fuel_fee TYPE ty_amount, security_fee TYPE ty_amount, total_amount TYPE ty_amount, reason TYPE ty_reason, END OF ty_result. CONSTANTS: BEGIN OF c_category, general TYPE ty_category VALUE 'GENERAL', perishable TYPE ty_category VALUE 'PERISHABLE', valuable TYPE ty_category VALUE 'VALUABLE', END OF c_category. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', bad_weight TYPE ty_reason VALUE 'BAD_WEIGHT', bad_volume TYPE ty_reason VALUE 'BAD_VOLUME', bad_category TYPE ty_reason VALUE 'BAD_CATEGORY', too_heavy TYPE ty_reason VALUE 'TOO_HEAVY', END OF c_reason. METHODS price IMPORTING iv_weight TYPE ty_weight iv_volume TYPE ty_volume iv_category TYPE ty_category iv_dangerous TYPE abap_bool RETURNING VALUE(rs_result) TYPE ty_result. ENDINTERFACE.