INTERFACE {{p}}if_laundry_fee PUBLIC. TYPES ty_item TYPE c LENGTH 7. TYPES ty_service TYPE c LENGTH 4. TYPES ty_reason TYPE c LENGTH 10. TYPES ty_quantity TYPE i. TYPES ty_amount TYPE p LENGTH 7 DECIMALS 2. TYPES ty_flag TYPE abap_bool. TYPES: BEGIN OF ty_order_line, item TYPE ty_item, service TYPE ty_service, quantity TYPE ty_quantity, express TYPE ty_flag, END OF ty_order_line. TYPES tt_order_line TYPE STANDARD TABLE OF ty_order_line WITH EMPTY KEY. CONSTANTS: BEGIN OF c_reason, ok TYPE ty_reason VALUE 'OK', item TYPE ty_reason VALUE 'ITEM', service TYPE ty_reason VALUE 'SERVICE', qty TYPE ty_reason VALUE 'QTY', END OF c_reason. CONSTANTS: BEGIN OF c_item, shirt TYPE ty_item VALUE 'SHIRT', trousers TYPE ty_item VALUE 'TROUS', suit TYPE ty_item VALUE 'SUIT', coat TYPE ty_item VALUE 'COAT', dress TYPE ty_item VALUE 'DRESS', curtain TYPE ty_item VALUE 'CURTAIN', END OF c_item. CONSTANTS: BEGIN OF c_service, wash TYPE ty_service VALUE 'WASH', dryc TYPE ty_service VALUE 'DRYC', iron TYPE ty_service VALUE 'IRON', mend TYPE ty_service VALUE 'MEND', END OF c_service. CONSTANTS: BEGIN OF c_price, shirt TYPE ty_amount VALUE '3.50', trousers TYPE ty_amount VALUE '5.00', suit TYPE ty_amount VALUE '12.00', coat TYPE ty_amount VALUE '14.50', dress TYPE ty_amount VALUE '8.00', curtain TYPE ty_amount VALUE '9.50', END OF c_price. CONSTANTS: BEGIN OF c_factor, wash TYPE i VALUE 100, dryc TYPE i VALUE 180, iron TYPE i VALUE 40, mend TYPE i VALUE 220, END OF c_factor. CONSTANTS c_max_qty TYPE ty_quantity VALUE 99. CONSTANTS c_bulk_min_qty TYPE ty_quantity VALUE 10. CONSTANTS c_bulk_discount TYPE i VALUE 10. CONSTANTS c_express_surcharge TYPE i VALUE 25. CONSTANTS c_min_fee TYPE ty_amount VALUE '5.00'. METHODS check_item IMPORTING iv_item TYPE ty_item iv_service TYPE ty_service iv_quantity TYPE ty_quantity RETURNING VALUE(rv_reason) TYPE ty_reason. METHODS calculate_fee IMPORTING iv_item TYPE ty_item iv_service TYPE ty_service iv_quantity TYPE ty_quantity iv_express TYPE ty_flag RETURNING VALUE(rv_fee) TYPE ty_amount. METHODS calculate_order IMPORTING it_lines TYPE tt_order_line RETURNING VALUE(rv_total) TYPE ty_amount. ENDINTERFACE.