Step F first pass: 81/92 accepted; budget floor 60 calls; rejected slots moved for regeneration

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 12:10:52 +02:00
parent d3250acfb8
commit 39769afce8
741 changed files with 40573 additions and 317 deletions

View File

@@ -0,0 +1,52 @@
# 1. Goal
The program {{P}}NEWS_DIST_OLD in package $TMP is the legacy distribution
report of a regional newspaper publisher. It shows, for a period, the copies
that each newsagent received and returned. The report works, but its source
does not meet the current quality standards of the company. Refactor the
source of {{P}}NEWS_DIST_OLD in place. The behavior of the program stays the
same.
# 2. Open questions
None.
# 3. Context
- The executable program {{P}}NEWS_DIST_OLD exists in package $TMP and is
active. Its source is the legacy code that you refactor.
- The tables {{P}}AGENT and {{P}}DELIV exist in package $TMP and contain data.
- Users run the program with the selection screen and read the ALV list.
# 4. Contract
- Object: the executable program {{P}}NEWS_DIST_OLD in package $TMP.
Refactor this program in place. Keep the name. Do not create a new program.
- Selection screen, unchanged:
- Select-option S_DATE for the delivery date.
- Select-option S_DIST for the district.
- The program shows the result with CL_SALV_TABLE, as before.
- The ALV list keeps these column names:
AGENT, NAME, DISTRICT, COPIES, RETURNED, RATE.
# 5. Business rules
The behavior of the program does not change. The legacy source of
{{P}}NEWS_DIST_OLD is the specification of the behavior. Read the source and
keep all of it:
- the filters of the selection screen,
- the set of lines of the list,
- the values of the columns,
- the sort order of the lines.
Do not change the result of the program.
# 6. Constraints
- Release target: 8.16.
- Coding standards: Clean ABAP.
- The refactored program has no database access inside a loop.
- No method of the program has more than 40 statements.
- The program has no ATC finding of priority 1 or 2.
- Write ABAP Unit tests as local test classes in the program.
- Out of scope: do not change the tables {{P}}AGENT and {{P}}DELIV.
Do not change the selection screen names and the ALV column names.
# 7. Acceptance
- {{P}}NEWS_DIST_OLD is active and has no syntax error.
- The result of the program is the same as before the refactoring.
- The hidden tests pass.
- The local test classes pass.