Files
abap-llm/tasks_gen/train/G1933/reference/if_pyro_order.intf.abap
2026-10-05 22:08:59 +02:00

51 lines
1.4 KiB
ABAP

INTERFACE {{p}}if_pyro_order PUBLIC.
TYPES ty_reason TYPE c LENGTH 12.
TYPES ty_zone TYPE c LENGTH 1.
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
TYPES BEGIN OF ty_order.
TYPES calibre_mm TYPE i.
TYPES zone_code TYPE ty_zone.
TYPES wind_kmh TYPE i.
TYPES start_hour TYPE i.
TYPES crowd_m TYPE i.
TYPES duration_min TYPE i.
TYPES END OF ty_order.
CONSTANTS:
BEGIN OF c_reason,
ok TYPE ty_reason VALUE 'OK',
calibre TYPE ty_reason VALUE 'CALIBRE',
zone TYPE ty_reason VALUE 'ZONE',
wind TYPE ty_reason VALUE 'WIND',
time TYPE ty_reason VALUE 'TIME',
distance TYPE ty_reason VALUE 'DISTANCE',
END OF c_reason.
CONSTANTS:
BEGIN OF c_limit,
max_wind_kmh TYPE i VALUE 30,
min_start_hour TYPE i VALUE 18,
max_start_hour TYPE i VALUE 23,
free_minutes TYPE i VALUE 10,
max_fee_euro TYPE i VALUE 5000,
END OF c_limit.
CONSTANTS:
BEGIN OF c_distance,
calibre_50 TYPE i VALUE 30,
calibre_75 TYPE i VALUE 45,
calibre_100 TYPE i VALUE 60,
calibre_150 TYPE i VALUE 90,
calibre_200 TYPE i VALUE 120,
END OF c_distance.
METHODS check_order
IMPORTING is_order TYPE ty_order
RETURNING VALUE(rv_reason) TYPE ty_reason.
METHODS calc_fee
IMPORTING is_order TYPE ty_order
RETURNING VALUE(rv_fee) TYPE ty_amount.
ENDINTERFACE.