# 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.