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/G1090/spec.md
Normal file
48
tasks_gen/train/G1090/spec.md
Normal 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.
|
||||
Reference in New Issue
Block a user