Files
abap-llm/tasks_gen/eval/G0133/faulty/m0_donor_check.func.abap

38 lines
1.0 KiB
ABAP

FUNCTION {{p}}donor_check
IMPORTING
iv_age TYPE i
iv_weight TYPE decfloat34
iv_hb TYPE decfloat34
iv_days_since_last TYPE i
RAISING
{{p}}cx_donor_check.
IF iv_age < 0 AND iv_weight < 0 OR iv_hb < 0 OR iv_days_since_last < 0.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'INVALID_INPUT'.
ELSEIF iv_age < 18.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'TOO_YOUNG'.
ELSEIF iv_age > 65.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'TOO_OLD'.
ELSEIF iv_weight < 50.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'UNDERWEIGHT'.
ELSEIF iv_hb < '12.5'.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'LOW_HB'.
ELSEIF iv_days_since_last < 56.
RAISE EXCEPTION TYPE {{p}}cx_donor_check
EXPORTING
iv_reason = 'TOO_SOON'
iv_retry_days = 56 - iv_days_since_last.
ENDIF.
ENDFUNCTION.