Files
abap-llm/tasks_gen/train/G1913/faulty/m0_if_laundry_fee.intf.abap
2026-10-05 22:08:59 +02:00

85 lines
2.6 KiB
ABAP

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.