Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
75
tasks_gen/train/G1951/reference/tenancy_checker.clas.abap
Normal file
75
tasks_gen/train/G1951/reference/tenancy_checker.clas.abap
Normal file
@@ -0,0 +1,75 @@
|
||||
CLASS {{p}}tenancy_checker DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
||||
PUBLIC SECTION.
|
||||
INTERFACES {{p}}if_tenancy_check.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS income_factor
|
||||
IMPORTING iv_employment TYPE {{p}}if_tenancy_check=>ty_employment
|
||||
iv_pets TYPE abap_bool
|
||||
RETURNING VALUE(rv_factor) TYPE i.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS {{p}}tenancy_checker IMPLEMENTATION.
|
||||
METHOD {{p}}if_tenancy_check~check.
|
||||
IF iv_rent <= 0.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-rent.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF iv_income <= 0.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-income.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF iv_persons < 1.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-persons.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF iv_persons > 2 * iv_rooms.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-capacity.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
IF iv_employment <> {{p}}if_tenancy_check=>c_employment-permanent
|
||||
AND iv_employment <> {{p}}if_tenancy_check=>c_employment-fixed
|
||||
AND iv_employment <> {{p}}if_tenancy_check=>c_employment-self.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-employment.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
DATA(lv_factor) = income_factor( iv_employment = iv_employment
|
||||
iv_pets = iv_pets ).
|
||||
IF iv_income < iv_rent * lv_factor.
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-ratio.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
rv_reason = {{p}}if_tenancy_check=>c_reason-ok.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD {{p}}if_tenancy_check~deposit.
|
||||
IF iv_rent <= 0.
|
||||
rv_deposit = 0.
|
||||
ELSEIF iv_pets = abap_true.
|
||||
rv_deposit = 3 * iv_rent.
|
||||
ELSE.
|
||||
rv_deposit = 2 * iv_rent.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD income_factor.
|
||||
CASE iv_employment.
|
||||
WHEN {{p}}if_tenancy_check=>c_employment-permanent.
|
||||
rv_factor = 3.
|
||||
WHEN {{p}}if_tenancy_check=>c_employment-fixed.
|
||||
rv_factor = 4.
|
||||
WHEN OTHERS.
|
||||
rv_factor = 5.
|
||||
ENDCASE.
|
||||
IF iv_pets = abap_true.
|
||||
rv_factor = rv_factor + 1.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
Reference in New Issue
Block a user