Files
abap-llm/tasks_gen/train/G1900/faulty/m0_if_parcel_fee.intf.abap

52 lines
1.4 KiB
ABAP

INTERFACE {{p}}if_parcel_fee PUBLIC.
TYPES ty_weight_g TYPE i.
TYPES ty_cents TYPE i.
TYPES ty_zone TYPE c LENGTH 1.
TYPES ty_reason TYPE c LENGTH 9.
CONSTANTS:
BEGIN OF c_zone,
home TYPE ty_zone VALUE '1',
national TYPE ty_zone VALUE '2',
europe TYPE ty_zone VALUE '3',
END OF c_zone.
CONSTANTS:
BEGIN OF c_reason,
ok TYPE ty_reason VALUE 'OK',
weight TYPE ty_reason VALUE 'WEIGHT',
zone TYPE ty_reason VALUE 'ZONE',
END OF c_reason.
CONSTANTS:
BEGIN OF c_limit,
min_weight TYPE ty_weight_g VALUE 1,
max_weight TYPE ty_weight_g VALUE 31500,
END OF c_limit.
CONSTANTS:
BEGIN OF c_surcharge,
per_step TYPE ty_cents VALUE 90,
express TYPE ty_cents VALUE 750,
END OF c_surcharge.
METHODS check_input
IMPORTING iv_weight_g TYPE ty_weight_g
iv_zone TYPE ty_zone
RETURNING VALUE(rv_reason) TYPE ty_reason.
METHODS base_fee
IMPORTING iv_zone TYPE ty_zone
RETURNING VALUE(rv_cents) TYPE ty_cents.
METHODS weight_surcharge
IMPORTING iv_weight_g TYPE ty_weight_g
RETURNING VALUE(rv_cents) TYPE ty_cents.
METHODS total_fee
IMPORTING iv_weight_g TYPE ty_weight_g
iv_zone TYPE ty_zone
iv_express TYPE abap_bool
RETURNING VALUE(rv_cents) TYPE ty_cents.
ENDINTERFACE.