Pipeline controller: plan 2 (hard +, error +50 %), backlog throttle, 2 trajectory workers, stop rules, summaries every 50; budget reserve

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 13:35:54 +02:00
parent 1c4667a0fc
commit 13360292dd
781 changed files with 50211 additions and 22 deletions

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Wind turbine revenue'
define view entity {{P}}I_TURBINE
as select from {{p}}turbine as turbine
left outer join {{p}}wpark as park on park.park_id = turbine.park_id
association [0..1] to {{p}}wpark as _PARK on $projection.park_id = _PARK.park_id
{
key turbine.turbine_id as turbine_id,
turbine.park_id as park_id,
turbine.nominal_kw as nominal_kw,
turbine.yield_mwh as yield_mwh,
cast( turbine.yield_mwh * park.tariff as abap.dec(15,2) ) as revenue,
_PARK
}

View File

@@ -0,0 +1,41 @@
CLASS {{p}}turb_test DEFINITION PUBLIC FINAL CREATE PUBLIC
FOR TESTING DURATION SHORT RISK LEVEL HARMLESS.
PRIVATE SECTION.
CLASS-DATA go_env TYPE REF TO if_cds_test_environment.
CLASS-METHODS class_setup.
CLASS-METHODS class_teardown.
METHODS setup.
METHODS revenue_and_park FOR TESTING.
ENDCLASS.
CLASS {{p}}turb_test IMPLEMENTATION.
METHOD class_setup.
go_env = cl_cds_test_environment=>create( i_for_entity = '{{P}}I_TURBINE' ).
ENDMETHOD.
METHOD class_teardown.
go_env->destroy( ).
ENDMETHOD.
METHOD setup.
go_env->clear_doubles( ).
ENDMETHOD.
METHOD revenue_and_park.
DATA lt_park TYPE STANDARD TABLE OF {{p}}wpark WITH EMPTY KEY.
DATA lt_turb TYPE STANDARD TABLE OF {{p}}turbine WITH EMPTY KEY.
lt_park = VALUE #( ( park_id = 'A' park_name = 'Alpha Park' country = 'DE' tariff = '10.00' ) ).
lt_turb = VALUE #( ( turbine_id = 'X' park_id = 'A' nominal_kw = 100 yield_mwh = '5.00' ) ).
go_env->insert_test_data( lt_park ).
go_env->insert_test_data( lt_turb ).
SELECT SINGLE revenue FROM {{p}}i_turbine WHERE turbine_id = 'X' INTO @DATA(lv_revenue).
cl_abap_unit_assert=>assert_equals( exp = CONV decfloat34( '50.00' )
act = CONV decfloat34( lv_revenue ) ).
SELECT SINGLE \_PARK-park_name FROM {{p}}i_turbine
WHERE turbine_id = 'X' INTO @DATA(lv_name).
cl_abap_unit_assert=>assert_equals( exp = 'Alpha Park' act = lv_name ).
ENDMETHOD.
ENDCLASS.