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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user