Stage 2 summary at 50 accepted trajectories

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Kral
2026-10-05 18:02:52 +02:00
parent 332fb4601d
commit 5bcd1bf9cd
1230 changed files with 77563 additions and 33 deletions

View File

@@ -0,0 +1,48 @@
# 1. Goal
Refactor the legacy report {{P}}SKI_LIFT_OLD in package $TMP. The report shows
the rides and the revenue of each lift of a ski resort for one season. The
operations team uses the report to compare the lifts. The behavior of the
report stays the same.
# 2. Open questions
None.
# 3. Context
- The executable program {{P}}SKI_LIFT_OLD exists in package $TMP. It is
active. The legacy code of this program is the specification of its
behavior.
- The table {{P}}SKIRIDE exists in package $TMP. It contains data.
Fields: RIDE_ID (INT4, key), LIFT_ID (CHAR 4), SEASON (CHAR 4),
TICKETS (INT4), FARE (DEC 15,2).
- One row of {{P}}SKIRIDE is one ride of one lift. FARE is the price of one
ticket of this ride.
# 4. Contract
- Refactor the executable program {{P}}SKI_LIFT_OLD in package $TMP. The name
stays the same.
- The selection screen stays the same:
- Parameter P_SEASON, type CHAR 4, mandatory.
- Select-option S_LIFT for the lift.
- Show the result with CL_SALV_TABLE. The output table has these columns, with
these names: LIFT_ID, RIDES, TICKETS, REVENUE.
# 5. Business rules
1. The behavior of the report stays the same. The legacy code in
{{P}}SKI_LIFT_OLD is the specification. Read the legacy code. Do not guess.
2. The selection screen, the filter, the totals and the sort order do not
change.
3. The report must stay fast when the table {{P}}SKIRIDE grows. Do not read the
same data more than one time.
4. The code must be easy to maintain.
# 6. Constraints
- Release target: 8.16.
- Coding standards: Clean ABAP. No method has more than 40 statements. No
database access in a loop.
- Out of scope: do not change {{P}}SKIRIDE and {{P}}SKI_SEED.
# 7. Acceptance
- The program is active and has no syntax error.
- The behavior is the same as the behavior of the legacy code.
- The hidden tests pass.
- Write ABAP Unit tests as local test classes in the program.