ADT fallback: Accept headers for FUNC; G0189 accepted; regen2 results

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
This commit is contained in:
Kral
2026-10-03 16:31:03 +02:00
parent 428b3565b2
commit 7510131a7d
335 changed files with 12047 additions and 5545 deletions

View File

@@ -1,44 +1,37 @@
# 1. Goal
Show the harvest weight of each grape variety in an ALV list. The winery uses the
list to compare the varieties for a period.
A print shop prints jobs for its customers. The sales team needs a report that
shows, for each customer, the number of jobs and the revenue of a period.
# 2. Open questions
None.
# 3. Context
- Table {{P}}GRAPE exists in package $TMP. It contains data.
Fields: VARIETY (CHAR 4, key), NAME (CHAR 40).
- Table {{P}}HARVEST exists in package $TMP. It contains data.
Fields: HARVEST_ID (INT4, key), VARIETY (CHAR 4), HARVEST_DATE (DATS),
WEIGHT_KG (DEC 13,3).
- Table {{P}}PRTJOB exists in package $TMP. It contains data.
Fields: JOB_ID (INT4, key), CUSTOMER (CHAR 10), JOB_DATE (DATS),
SHEETS (INT4), AMOUNT (DEC 15,2).
# 4. Contract
- Create the executable program {{P}}VINEYARD_RPT in package $TMP.
- Create the executable program {{P}}PRINT_SUM in package $TMP.
- Selection screen:
- Parameter P_FROM, type DATS, mandatory: the first harvest date to include.
- Select-option S_VAR for the variety.
- Parameter P_FROM, type DATS, obligatory: the first job date to include.
- Select-option S_CUST for the customer.
- Show the result with CL_SALV_TABLE. The output table has these columns, with
these names: VARIETY, NAME, TOTAL_KG (the sum of WEIGHT_KG), HARVESTS (the
number of harvests).
these names: CUSTOMER, JOBS, SHEETS, REVENUE.
# 5. Business rules
1. Include a harvest only if HARVEST_DATE is on or after P_FROM and VARIETY is
in S_VAR. An empty S_VAR does not restrict the variety.
2. Show a variety only if it has an entry in {{P}}GRAPE. A variety with harvests
but without an entry in {{P}}GRAPE is not shown.
3. Show one line for each variety with at least one included harvest.
4. NAME is the name of the variety from {{P}}GRAPE.
5. Sort the lines by TOTAL_KG, the highest total first.
1. Include a job only if JOB_DATE is on or after P_FROM and CUSTOMER is in S_CUST.
2. Show one line for each customer that has at least one included job.
3. JOBS is the number of included jobs of the customer.
4. SHEETS is the sum of the SHEETS values of the included jobs of the customer.
5. REVENUE is the sum of the AMOUNT values of the included jobs of the customer.
6. Sort the lines by REVENUE, the highest revenue first. If two customers have
the same revenue, sort these two customers by CUSTOMER in ascending order.
# 6. Constraints
- Release target: 7.02. Use only ABAP syntax that is available in release 7.02.
Do not use syntax elements that were introduced in a later release. Examples of
syntax that you must not use: inline declarations, constructor expressions
(NEW, VALUE, CONV), string templates, table expressions, SQL expressions and
SQL aggregate functions, GROUP BY, UNION, the escape character @ in ABAP SQL,
WITH EMPTY KEY.
- Coding standards: Clean ABAP. Do not read the database inside a loop.
- Out of scope: do not change {{P}}GRAPE or {{P}}HARVEST.
- Release target: 7.02. Write the program in ABAP and ABAP SQL syntax that
release 7.02 supports. Do not use syntax that is newer than 7.02.
- Coding standards: Clean ABAP. Read the data with one database access.
- Out of scope: do not change {{P}}PRTJOB.
# 7. Acceptance
- The program is active and has no syntax error.