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,43 @@
# 1. Goal
A security company bills its clients for guard shifts. The billing program calls
one function module for each shift. The function module calculates the fee of
the shift.
# 2. Open questions
None.
# 3. Context
- Function group {{P}}FG_GUARD exists in package $TMP.
- Function module {{P}}GUARD_SAMPLE exists in this function group. It is the
sample module. The billing program calls all shift modules with the same
interface.
# 4. Contract
- Create the function module {{P}}GUARD_FEE in function group {{P}}FG_GUARD.
- Use exactly the interface of {{P}}GUARD_SAMPLE: the same parameter names,
parameter kinds, types and exceptions.
# 5. Business rules
1. If iv_hours is less than or equal to 0, raise the exception INVALID_HOURS.
Do not change cv_fee.
2. Set ev_surcharge to false.
3. Shift type DAY: the fee is iv_hours multiplied by 25.50.
4. Shift type NIGHT: the fee is iv_hours multiplied by 25.50 multiplied by 1.25.
Set ev_surcharge to true.
5. Shift type HOLIDAY: the fee is iv_hours multiplied by 25.50 multiplied by
2.00. Set ev_surcharge to true.
6. Any other shift type: the fee is 0. Rules 7 and 8 do not apply.
7. For the shift types DAY, NIGHT and HOLIDAY, round the fee half up to 2
decimal places.
8. If the fee of rule 7 is less than 50.00, set the fee to 50.00.
# 6. Constraints
- Release target: 7.02. Use only syntax that release 7.02 supports.
- Package $TMP. Do not use transports.
- Out of scope: do not change {{P}}GUARD_SAMPLE.
- Do not use application tables.
# 7. Acceptance
- The function module {{P}}GUARD_FEE is active and has no syntax error.
- The hidden tests pass.
- Write ABAP Unit tests for the function module in a global test class.