45 lines
1.1 KiB
ABAP
45 lines
1.1 KiB
ABAP
CLASS {{p}}lift_check DEFINITION
|
|
PUBLIC
|
|
FINAL
|
|
CREATE PUBLIC.
|
|
|
|
PUBLIC SECTION.
|
|
TYPES:
|
|
BEGIN OF ty_lift_plan,
|
|
plan_id TYPE string,
|
|
crane_id TYPE string,
|
|
load_kg TYPE decfloat34,
|
|
capacity_kg TYPE decfloat34,
|
|
wind_kmh TYPE decfloat34,
|
|
END OF ty_lift_plan.
|
|
|
|
METHODS check_lift_plan
|
|
IMPORTING
|
|
iv_plan TYPE ty_lift_plan
|
|
RAISING
|
|
{{p}}cx_crane_error.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}lift_check IMPLEMENTATION.
|
|
METHOD check_lift_plan.
|
|
IF iv_plan-crane_id IS INITIAL.
|
|
RAISE EXCEPTION TYPE {{p}}cx_crane_error
|
|
EXPORTING
|
|
iv_msgno = '001'
|
|
iv_attr1 = iv_plan-plan_id.
|
|
ELSEIF iv_plan-load_kg <= iv_plan-capacity_kg.
|
|
RAISE EXCEPTION TYPE {{p}}cx_crane_error
|
|
EXPORTING
|
|
iv_msgno = '002'
|
|
iv_attr1 = iv_plan-plan_id
|
|
iv_attr2 = iv_plan-crane_id.
|
|
ELSEIF iv_plan-wind_kmh > 60.
|
|
RAISE EXCEPTION TYPE {{p}}cx_crane_error
|
|
EXPORTING
|
|
iv_msgno = '003'
|
|
iv_attr1 = iv_plan-plan_id.
|
|
ENDIF.
|
|
ENDMETHOD.
|
|
ENDCLASS.
|