31 lines
1.1 KiB
ABAP
31 lines
1.1 KiB
ABAP
CLASS {{p}}tune_rates DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
|
PUBLIC SECTION.
|
|
TYPES ty_amount TYPE p LENGTH 8 DECIMALS 2.
|
|
TYPES:
|
|
BEGIN OF ty_rate,
|
|
piano_type TYPE c LENGTH 1,
|
|
base_fee TYPE ty_amount,
|
|
incl_minutes TYPE i,
|
|
minute_fee TYPE ty_amount,
|
|
END OF ty_rate.
|
|
TYPES tt_rate TYPE STANDARD TABLE OF ty_rate WITH EMPTY KEY.
|
|
CONSTANTS:
|
|
c_free_km TYPE i VALUE 10,
|
|
c_km_fee TYPE ty_amount VALUE '0.80'.
|
|
METHODS get_rates
|
|
RETURNING VALUE(rt_rate) TYPE tt_rate.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}tune_rates IMPLEMENTATION.
|
|
METHOD get_rates.
|
|
" U = upright, G = grand, D = digital, C = concert grand, S = studio
|
|
rt_rate = VALUE #(
|
|
( piano_type = 'U' base_fee = '89.00' incl_minutes = 60 minute_fee = '1.20' )
|
|
( piano_type = 'G' base_fee = '129.00' incl_minutes = 75 minute_fee = '1.50' )
|
|
( piano_type = 'D' base_fee = '69.00' incl_minutes = 45 minute_fee = '1.00' )
|
|
( piano_type = 'C' base_fee = '149.00' incl_minutes = 90 minute_fee = '1.80' )
|
|
( piano_type = 'S' base_fee = '99.00' incl_minutes = 60 minute_fee = '1.30' ) ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|