Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
54
tasks_gen/train/G1121/spec.md
Normal file
54
tasks_gen/train/G1121/spec.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# 1. Goal
|
||||
Summarise the harvest of two growing rooms of a mushroom farm. The store keeper
|
||||
calls one function module for the two rooms. The function module reads the
|
||||
harvest records of the two rooms and returns the summary.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- Function group {{P}}FG_MUSH exists in package $TMP.
|
||||
- Table {{P}}HARVEST exists in package $TMP. It holds the harvest records of
|
||||
all growing rooms. Its fields are room_id, grade, batch_no and weight_kg. One
|
||||
record is the weight of one batch of one grade in one room.
|
||||
- The function module reads the harvest records of the two rooms from this
|
||||
table.
|
||||
|
||||
# 4. Contract
|
||||
- Create the function module {{P}}MUSH_HARVEST in function group {{P}}FG_MUSH.
|
||||
- Interface of {{P}}MUSH_HARVEST:
|
||||
IMPORTING iv_room_a TYPE string
|
||||
IMPORTING iv_room_b TYPE string
|
||||
EXPORTING ev_total_kg TYPE decfloat34
|
||||
EXPORTING ev_room_count TYPE i
|
||||
EXPORTING ev_top_grade TYPE char1
|
||||
EXCEPTIONS no_stock
|
||||
|
||||
# 5. Business rules
|
||||
1. A harvest record counts only if all of these conditions are true:
|
||||
- its room_id is not empty,
|
||||
- its room_id is equal to iv_room_a or to iv_room_b,
|
||||
- its grade is 'A', 'B' or 'C',
|
||||
- its weight_kg is greater than zero.
|
||||
2. A record that does not count is ignored. It does not cause an error.
|
||||
3. ev_total_kg is the sum of the weight_kg of all counting records. If no
|
||||
record counts, ev_total_kg is 0.
|
||||
4. ev_room_count is the number of different room_id values among the counting
|
||||
records. If no record counts, ev_room_count is 0.
|
||||
5. ev_top_grade is the grade with the highest sum of weight_kg among the
|
||||
counting records. If two grades have the same sum, ev_top_grade is the grade
|
||||
that comes first in alphabetical order. If no record counts, ev_top_grade is
|
||||
initial.
|
||||
6. If no record counts, the function module raises the exception NO_STOCK.
|
||||
7. If at least one record counts, the function module does not raise an
|
||||
exception.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: ABAP Platform 2025 (SAP_BASIS 816).
|
||||
- Coding standards: Clean ABAP. Keep the function module below 40 statements.
|
||||
- Out of scope: do not change table {{P}}HARVEST.
|
||||
|
||||
# 7. Acceptance
|
||||
- The function module 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