Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# 1. Goal
|
|
Show the honey harvest of each apiary in an ALV list. The cooperative uses the
|
|
list to compare its member apiaries for the period that the selection screen
|
|
defines.
|
|
|
|
# 2. Open questions
|
|
None.
|
|
|
|
# 3. Context
|
|
- Table {{P}}HONEY exists in package $TMP. It contains data.
|
|
Fields: HARVEST_ID (INT4, key), APIARY (CHAR 10), FLOWER (CHAR 10),
|
|
HARVEST_DATE (DATS), WEIGHT (DEC 13,3).
|
|
|
|
# 4. Contract
|
|
- Create the executable program {{P}}HONEY_SUM in package $TMP.
|
|
- Selection screen:
|
|
- Parameter P_FROM, type DATS, mandatory: the first harvest date to include.
|
|
- Select-option S_APIARY for the apiary.
|
|
- Show the result with CL_SALV_TABLE. The output table has these columns, with
|
|
these names: APIARY, WEIGHT.
|
|
|
|
# 5. Business rules
|
|
1. Include a harvest only if HARVEST_DATE is on or after P_FROM and APIARY is
|
|
in S_APIARY.
|
|
2. Show one line for each apiary that has at least one included harvest.
|
|
3. The WEIGHT column is the sum of the weights of the included harvests of the
|
|
line.
|
|
4. Sort the lines by WEIGHT, the highest total first.
|
|
5. The period ends with P_FROM: include a harvest only if HARVEST_DATE is
|
|
before P_FROM.
|
|
|
|
# 6. Constraints
|
|
- Release target: ABAP Platform 2025 (SAP_BASIS 816).
|
|
- Coding standards: Clean ABAP. Read the data with one database access.
|
|
- Out of scope: do not change {{P}}HONEY.
|
|
|
|
# 7. Acceptance
|
|
- The program is active and has no syntax error.
|
|
- The list has the columns and the order that the business rules describe.
|
|
- Write ABAP Unit tests as local test classes in the program.
|