FUNCTION {{p}}museum_fee_old IMPORTING iv_visitor TYPE string iv_day TYPE string iv_size TYPE i iv_member TYPE abap_bool EXPORTING ev_fee TYPE decfloat34 ev_note TYPE string EXCEPTIONS invalid_input. DATA lv_base TYPE decfloat34. DATA lv_total TYPE decfloat34. IF iv_size <= 0. RAISE invalid_input. ENDIF. IF iv_visitor = 'ADULT'. lv_base = 12. ELSEIF iv_visitor = 'CHILD'. lv_base = 6. ELSEIF iv_visitor = 'SENIOR'. lv_base = 8. ELSEIF iv_visitor = 'STUDENT'. lv_base = 7. ELSEIF iv_visitor = 'FAMILY'. lv_base = 30. ELSE. RAISE invalid_input. ENDIF. IF iv_visitor = 'FAMILY'. IF iv_size <= 4. lv_total = 30. ELSE. lv_total = 30 + ( iv_size - 4 ) * 6. ENDIF. ELSE. lv_total = lv_base * iv_size. ENDIF. IF iv_day = 'SAT'. lv_total = lv_total * '1.2'. ELSEIF iv_day = 'SUN'. lv_total = lv_total * '1.2'. ENDIF. IF iv_member = abap_true. lv_total = lv_total - 10. IF lv_total < 0. lv_total = 0. ENDIF. ENDIF. IF iv_size >= 10. lv_total = lv_total * '0.9'. ENDIF. ev_fee = lv_total. IF iv_visitor = 'ADULT'. ev_note = 'Adult'. ELSEIF iv_visitor = 'CHILD'. ev_note = 'Child'. ELSEIF iv_visitor = 'SENIOR'. ev_note = 'Senior'. ELSEIF iv_visitor = 'STUDENT'. ev_note = 'Student'. ELSEIF iv_visitor = 'FAMILY'. ev_note = 'Family'. ENDIF. IF iv_member = abap_true. ev_note = ev_note && ' member'. ENDIF. IF iv_size >= 10. ev_note = ev_note && ' group'. ENDIF. ENDFUNCTION.