CLASS {{p}}salon_pricer DEFINITION PUBLIC FINAL CREATE PUBLIC. PUBLIC SECTION. INTERFACES {{p}}if_salon_price. PRIVATE SECTION. METHODS base_price IMPORTING iv_service TYPE {{p}}if_salon_price=>ty_service RETURNING VALUE(rv_price) TYPE {{p}}if_salon_price=>ty_amount. METHODS minimum_price IMPORTING iv_price TYPE {{p}}if_salon_price=>ty_amount RETURNING VALUE(rv_price) TYPE {{p}}if_salon_price=>ty_amount. ENDCLASS. CLASS {{p}}salon_pricer IMPLEMENTATION. METHOD {{p}}if_salon_price~price. IF iv_service = {{p}}if_salon_price=>c_service-cut AND iv_child = abap_true. rv_price = '12.00'. RETURN. ENDIF. rv_price = minimum_price( base_price( iv_service ) ). ENDMETHOD. METHOD base_price. CASE iv_service. WHEN {{p}}if_salon_price=>c_service-cut. rv_price = '42.00'. WHEN {{p}}if_salon_price=>c_service-colour. rv_price = '90.00'. WHEN {{p}}if_salon_price=>c_service-perm. rv_price = '95.00'. ENDCASE. ENDMETHOD. METHOD minimum_price. rv_price = nmax( val1 = iv_price val2 = '20.00' ). ENDMETHOD. ENDCLASS.