53 lines
1.4 KiB
ABAP
53 lines
1.4 KiB
ABAP
INTERFACE {{p}}if_cobbler PUBLIC.
|
|
TYPES ty_reason TYPE c LENGTH 10.
|
|
TYPES ty_service TYPE c LENGTH 4.
|
|
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
|
|
|
TYPES:
|
|
BEGIN OF ty_order,
|
|
service TYPE ty_service,
|
|
pairs TYPE i,
|
|
express TYPE abap_bool,
|
|
member TYPE abap_bool,
|
|
END OF ty_order.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_service,
|
|
heel TYPE ty_service VALUE 'HEEL',
|
|
sole TYPE ty_service VALUE 'SOLE',
|
|
seam TYPE ty_service VALUE 'SEAM',
|
|
polish TYPE ty_service VALUE 'POLI',
|
|
END OF c_service.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_reason,
|
|
ok TYPE ty_reason VALUE 'OK',
|
|
service TYPE ty_reason VALUE 'SERVICE',
|
|
pairs TYPE ty_reason VALUE 'PAIRS',
|
|
END OF c_reason.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_rule,
|
|
max_pairs TYPE i VALUE 12,
|
|
express_percent TYPE i VALUE 40,
|
|
member_percent TYPE i VALUE 10,
|
|
min_order TYPE ty_amount VALUE '8.00',
|
|
END OF c_rule.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_base_price,
|
|
heel TYPE ty_amount VALUE '12.50',
|
|
sole TYPE ty_amount VALUE '25.00',
|
|
seam TYPE ty_amount VALUE '8.00',
|
|
polish TYPE ty_amount VALUE '6.50',
|
|
END OF c_base_price.
|
|
|
|
METHODS check
|
|
IMPORTING is_order TYPE ty_order
|
|
RETURNING VALUE(rv_reason) TYPE ty_reason.
|
|
|
|
METHODS price
|
|
IMPORTING is_order TYPE ty_order
|
|
RETURNING VALUE(rv_price) TYPE ty_amount.
|
|
ENDINTERFACE.
|