50 lines
1.4 KiB
ABAP
50 lines
1.4 KiB
ABAP
INTERFACE {{p}}if_kart_check PUBLIC.
|
|
TYPES ty_reason TYPE c LENGTH 12.
|
|
|
|
TYPES:
|
|
BEGIN OF ty_booking,
|
|
driver_name TYPE c LENGTH 20,
|
|
driver_age TYPE i,
|
|
laps TYPE i,
|
|
booking_time TYPE t,
|
|
END OF ty_booking.
|
|
|
|
TYPES tt_bookings TYPE STANDARD TABLE OF ty_booking WITH EMPTY KEY.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_reason,
|
|
ok TYPE ty_reason VALUE 'OK',
|
|
no_name TYPE ty_reason VALUE 'NO_NAME',
|
|
too_young TYPE ty_reason VALUE 'TOO_YOUNG',
|
|
too_old TYPE ty_reason VALUE 'TOO_OLD',
|
|
bad_laps TYPE ty_reason VALUE 'BAD_LAPS',
|
|
closed TYPE ty_reason VALUE 'ZLOSED',
|
|
too_many TYPE ty_reason VALUE 'TOO_MANY',
|
|
END OF c_reason.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_limit,
|
|
min_age TYPE i VALUE 12,
|
|
max_age TYPE i VALUE 75,
|
|
min_laps TYPE i VALUE 5,
|
|
max_laps TYPE i VALUE 30,
|
|
max_drivers TYPE i VALUE 8,
|
|
END OF c_limit.
|
|
|
|
CONSTANTS:
|
|
c_open_from TYPE t VALUE '090000',
|
|
c_open_to TYPE t VALUE '220000'.
|
|
|
|
METHODS check_booking
|
|
IMPORTING is_booking TYPE ty_booking
|
|
RETURNING VALUE(rv_reason) TYPE ty_reason.
|
|
|
|
METHODS check_group
|
|
IMPORTING it_bookings TYPE tt_bookings
|
|
RETURNING VALUE(rv_reason) TYPE ty_reason.
|
|
|
|
METHODS is_open
|
|
IMPORTING iv_time TYPE t
|
|
RETURNING VALUE(rv_open) TYPE abap_bool.
|
|
ENDINTERFACE.
|