Files
abap-llm/tasks_gen/eval/G0015/spec.md
Kral 5de5e2851c Generator: pilot analysis and fixes; G0002-G0021 tasks; handover notes merged
- Static bundle checks (name length, seed type, reserved words, contract test classes,
  testclasses_file), local abaplint parser check before SAP, max_tokens, robust JSON parse
- Runner: G2 for CDS views with parameters, contract_check detail in report
- G0020 and G0013 fixed by review and revalidated (oracle 100, null 0)
- Pilot results in docs/faz1-tasarim.md 11e; handover notes merged into CLAUDE.md and docs

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 05:04:23 +02:00

1.6 KiB

1. Goal

Show the open invoice amounts for each customer in an ALV list. The accounting team uses the list to find the customers that owe money and to see how much of the money is overdue.

2. Open questions

None.

3. Context

  • The table {{P}}BILL exists in package $TMP. It contains data. Fields: BILL_ID (INT4, key), CUSTOMER (CHAR 10), DUE_DATE (DATS), AMOUNT (DEC 15,2), PAID (CHAR 1).
  • PAID is 'X' if the customer paid the invoice. PAID is ' ' if the invoice is still open.

4. Contract

  • Create the executable program {{P}}BILL_AGE in package $TMP.
  • Selection screen:
    • Parameter P_DATE, type DATS, mandatory: the date that you compare with the due date.
    • Select-option S_CUST for the customer.
  • Show the result with CL_SALV_TABLE. The output table has these columns, with these names: CUSTOMER, OPEN_COUNT, OPEN_AMOUNT, OVERDUE_AMOUNT.

5. Business rules

  1. Include an invoice only if PAID is not 'X' and CUSTOMER is in S_CUST.
  2. Show one line for each customer that has at least one included invoice.
  3. OPEN_COUNT is the number of included invoices of the customer.
  4. OPEN_AMOUNT is the sum of AMOUNT of the included invoices of the customer.
  5. OVERDUE_AMOUNT is the sum of AMOUNT of the included invoices of the customer whose DUE_DATE is before P_DATE.
  6. Sort the lines by OPEN_AMOUNT, the highest amount first.

6. Constraints

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

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.