Files
abap-llm/tasks_gen/eval/G0151/reference/groom_fee.func.abap

45 lines
876 B
ABAP

FUNCTION {{p}}groom_fee
IMPORTING
iv_size TYPE string
iv_long_hair TYPE abap_bool
iv_weekend TYPE abap_bool
iv_channel TYPE string
EXPORTING
ev_skip TYPE abap_bool
CHANGING
cv_fee TYPE decfloat34
EXCEPTIONS
invalid_size.
DATA lv_base TYPE decfloat34.
ev_skip = abap_false.
CASE iv_size.
WHEN 'S'.
lv_base = '26.50'.
WHEN 'M'.
lv_base = '42.50'.
WHEN 'L'.
lv_base = '64.50'.
WHEN OTHERS.
RAISE invalid_size.
ENDCASE.
IF iv_channel = 'PARTNER'.
ev_skip = abap_true.
RETURN.
ENDIF.
cv_fee = lv_base.
IF iv_long_hair = abap_true.
cv_fee = cv_fee + round( val = lv_base * 15 / 100
dec = 2
mode = cl_abap_math=>round_half_up ).
ENDIF.
IF iv_weekend = abap_true.
cv_fee = cv_fee + 10.
ENDIF.
ENDFUNCTION.