42 lines
1.3 KiB
ABAP
42 lines
1.3 KiB
ABAP
INTERFACE {{p}}if_solar_check PUBLIC.
|
|
TYPES:
|
|
ty_reason TYPE c LENGTH 10,
|
|
ty_roof TYPE c LENGTH 4,
|
|
BEGIN OF ty_request,
|
|
roof_type TYPE ty_roof,
|
|
roof_size TYPE i,
|
|
panel_count TYPE i,
|
|
tilt_angle TYPE i,
|
|
battery_kwh TYPE i,
|
|
END OF ty_request,
|
|
tt_request TYPE STANDARD TABLE OF ty_request WITH EMPTY KEY,
|
|
tt_reason TYPE STANDARD TABLE OF ty_reason WITH EMPTY KEY.
|
|
|
|
CONSTANTS:
|
|
BEGIN OF c_reason,
|
|
ok TYPE ty_reason VALUE 'OK',
|
|
empty_input TYPE ty_reason VALUE 'EMPTY',
|
|
roof_type TYPE ty_reason VALUE 'ROOF',
|
|
roof_size TYPE ty_reason VALUE 'SIZE',
|
|
panels TYPE ty_reason VALUE 'PANELS',
|
|
tilt TYPE ty_reason VALUE 'TILT',
|
|
battery TYPE ty_reason VALUE 'BATTERY',
|
|
END OF c_reason,
|
|
c_roof_tile TYPE ty_roof VALUE 'TILE',
|
|
c_roof_slate TYPE ty_roof VALUE 'SLAT',
|
|
c_roof_flat TYPE ty_roof VALUE 'FLAT',
|
|
c_min_panels TYPE i VALUE 4,
|
|
c_max_panels TYPE i VALUE 60,
|
|
c_min_tilt TYPE i VALUE 5,
|
|
c_max_tilt TYPE i VALUE 60,
|
|
c_max_battery TYPE i VALUE 20.
|
|
|
|
METHODS check
|
|
IMPORTING is_request TYPE ty_request
|
|
RETURNING VALUE(rv_reason) TYPE ty_reason.
|
|
|
|
METHODS check_many
|
|
IMPORTING it_request TYPE tt_request
|
|
RETURNING VALUE(rt_reason) TYPE tt_reason.
|
|
ENDINTERFACE.
|