Files
abap-llm/tasks_gen/train/G1941/spec.md
2026-10-05 22:08:59 +02:00

1.4 KiB

1. Goal

Show the green waste that each collection round delivered to the composting plant in an ALV list. The plant office uses the list to compare the rounds for a period.

2. Open questions

None.

3. Context

  • Table {{P}}GWASTE exists in package $TMP. It contains data. Fields: DELIVERY_ID (INT4, key), ROUND_ID (CHAR 6), WASTE_TYPE (CHAR 4), DELIV_DATE (DATS), WEIGHT_KG (DEC 15,2).

4. Contract

  • Create the executable program {{P}}COMPOST_SUM in package $TMP.
  • Selection screen:
    • Parameter P_FROM, type DATS, mandatory: the first delivery date to include.
    • Select-option S_ROUND for the collection round.
  • Show the result with CL_SALV_TABLE. The output table has these columns, with these names: ROUND_ID, TOTAL_KG (sum of WEIGHT_KG), DELIVERIES (number of deliveries), HEAVY (number of heavy deliveries).

5. Business rules

  1. Include a delivery only if DELIV_DATE is on or after P_FROM and ROUND_ID is in S_ROUND.
  2. Show one line for each round that has at least one included delivery.
  3. A delivery is heavy if WEIGHT_KG is 1000 kg or more.
  4. Sort the lines by TOTAL_KG, the highest total first.

6. Constraints

  • Release target: 8.16.
  • Coding standards: Clean ABAP. Read the data with one database access.
  • Out of scope: do not change {{P}}GWASTE.

7. Acceptance

  • The program is active and has no syntax error.
  • The hidden tests pass.
  • Write ABAP Unit tests as local test classes in the program.