Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
48
tasks_gen/train/G1142/spec.md
Normal file
48
tasks_gen/train/G1142/spec.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 1. Goal
|
||||
Refactor the legacy function module {{P}}HUT_FEE in function group {{P}}FG_HUT.
|
||||
The module calculates the fee of a stay in the alpine hut Alpenrose. The hut
|
||||
keeper calls the module for each booking. The behavior of the module must stay
|
||||
exactly the same. Improve the internal quality: remove the duplicated code,
|
||||
reduce the nesting depth, use meaningful names, replace the magic numbers with
|
||||
constants, and keep the module short and readable.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- Function group {{P}}FG_HUT exists in package $TMP.
|
||||
- Function module {{P}}HUT_FEE exists in this group. It is active and it is the
|
||||
legacy implementation of the hut fee.
|
||||
- The booking program of the hut calls {{P}}HUT_FEE. The call must not change.
|
||||
- The legacy source is the only description of the fee rules. Read it.
|
||||
|
||||
# 4. Contract
|
||||
- Refactor the existing function module {{P}}HUT_FEE in function group
|
||||
{{P}}FG_HUT. The name of the module stays the same.
|
||||
- The interface stays exactly the same:
|
||||
- importing iv_guest_type type string
|
||||
- importing iv_nights type i
|
||||
- importing iv_member type abap_bool
|
||||
- importing iv_breakfast type abap_bool
|
||||
- exporting ev_fee type decfloat34
|
||||
- exception invalid_nights
|
||||
- Do not add, remove, or rename a parameter. Do not add another exception.
|
||||
|
||||
# 5. Business rules
|
||||
The legacy implementation of {{P}}HUT_FEE is the specification of the business
|
||||
rules. The behavior must not change. Keep every rate, every discount, every
|
||||
special case, and every exception of the legacy source exactly as it is,
|
||||
including the rules for the guest types, for members, for breakfast, and for
|
||||
long stays.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: SAP_BASIS 816 (ABAP Platform 2025).
|
||||
- Coding standards: Clean ABAP. Keep {{P}}HUT_FEE below 40 statements. Do not
|
||||
produce an ATC priority 1 or priority 2 finding.
|
||||
- Out of scope: do not change function group {{P}}FG_HUT. Do not change the
|
||||
public interface of {{P}}HUT_FEE. Do not add a new function module.
|
||||
|
||||
# 7. Acceptance
|
||||
- {{P}}HUT_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.
|
||||
Reference in New Issue
Block a user