INTERFACE {{p}}if_kiln_quote PUBLIC. TYPES ty_reason TYPE c LENGTH 12. TYPES ty_kiln TYPE c LENGTH 4. TYPES ty_amount TYPE p LENGTH 7 DECIMALS 2. TYPES: BEGIN OF ty_load, kiln TYPE ty_kiln, pieces TYPE i, weight_kg TYPE i, glazed TYPE abap_bool, END OF ty_load. TYPES: BEGIN OF ty_quote, kiln TYPE ty_kiln, base TYPE ty_amount, weight TYPE ty_amount, glaze TYPE ty_amount, total TYPE ty_amount, reason TYPE ty_reason, END OF ty_quote. CONSTANTS: BEGIN OF c_kiln, small TYPE ty_kiln VALUE 'SMAL', medium TYPE ty_kiln VALUE 'MEDI', large TYPE ty_kiln VALUE 'LARG', END OF c_kiln. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', kiln TYPE ty_reason VALUE 'KILN', pieces TYPE ty_reason VALUE 'PIECES', weight TYPE ty_reason VALUE 'WEIGHT', END OF c_reason. CONSTANTS: c_base_small TYPE ty_amount VALUE '25.00', c_base_medium TYPE ty_amount VALUE '40.00', c_base_large TYPE ty_amount VALUE '60.00', c_weight_rate TYPE ty_amount VALUE '1.50', c_glaze_fee TYPE ty_amount VALUE '8.00', c_max_pieces TYPE i VALUE 40, c_max_weight TYPE i VALUE 120. METHODS check_load IMPORTING is_load TYPE ty_load RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS kiln_fee IMPORTING iv_kiln TYPE ty_kiln RETURNING VALUE(rv_fee) TYPE ty_amount. METHODS quote IMPORTING is_load TYPE ty_load RETURNING VALUE(rs_quote) TYPE ty_quote. ENDINTERFACE.