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,75 @@
CLASS {{p}}glasses_pricer DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .
PUBLIC SECTION.
TYPES ty_amount TYPE p LENGTH 9 DECIMALS 2 .
TYPES ty_lens TYPE c LENGTH 1 .
TYPES ty_coat TYPE c LENGTH 1 .
METHODS price
IMPORTING
iv_frame TYPE ty_amount
iv_lens TYPE ty_lens
iv_coat TYPE ty_coat
iv_qty TYPE i
RETURNING
VALUE(rv_price) TYPE ty_amount .
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS {{p}}glasses_pricer IMPLEMENTATION.
METHOD price.
DATA lv_qty TYPE i .
DATA lv_frame TYPE ty_amount .
DATA lv_lens TYPE ty_amount .
DATA lv_coat TYPE ty_amount .
DATA lv_total TYPE ty_amount .
lv_qty = iv_qty .
IF lv_qty > 100 .
lv_qty = 100 .
ENDIF .
IF lv_qty < 1 .
rv_price = 0 .
RETURN .
ENDIF .
lv_frame = iv_frame * lv_qty .
IF iv_lens = 'S' .
lv_lens = 40 .
ELSEIF iv_lens = 'B' .
lv_lens = 90 .
ELSEIF iv_lens = 'P' .
lv_lens = 150 .
ELSE .
lv_lens = 40 .
ENDIF .
lv_lens = lv_lens * lv_qty .
CASE iv_coat .
WHEN 'A' .
lv_coat = 25 .
WHEN 'B' .
lv_coat = 35 .
WHEN OTHERS .
lv_coat = 0 .
ENDCASE .
lv_coat = lv_coat * lv_qty .
lv_total = lv_frame + lv_lens + lv_coat .
IF lv_qty >= 3 .
lv_total = lv_total - lv_total * 10 / 100 .
ENDIF .
rv_price = lv_total .
ENDMETHOD .
ENDCLASS.

View File

@@ -0,0 +1,12 @@
REPORT {{p}}optic_quote_rpt.
DATA lo_pricer TYPE REF TO {{p}}glasses_pricer.
DATA lv_price TYPE {{p}}glasses_pricer=>ty_amount.
lo_pricer = NEW #( ).
lv_price = lo_pricer->price( iv_frame = CONV {{p}}glasses_pricer=>ty_amount( '120.00' )
iv_lens = 'P'
iv_coat = 'A'
iv_qty = 2 ).
WRITE: / 'Quotation:', lv_price.