Files
abap-llm/tasks_gen/train/G1949/spec.md
2026-10-05 22:08:59 +02:00

2.0 KiB

1. Goal

A falconry company sends birds of prey to airfields. The birds scare other birds away from the runways. The company needs one row for each site with the work that the birds did there. A dashboard and an OData service read this data. The calculation must be in the database, in a CDS view.

2. Open questions

None.

3. Context

  • Table {{P}}FALCON (deployment log), package $TMP. The table is active. This specification does not list the columns of the table. Read the table definition to find the column names.
  • One row of {{P}}FALCON is one deployment of a bird of prey at a site. The table stores these values for a deployment:
    • the site,
    • the date of the deployment,
    • the number of flight minutes,
    • the number of birds that flew,
    • the fee for one flight minute.

4. Contract

  • Create the CDS view entity {{P}}I_HAWK_SITE in package $TMP.
  • Elements, with these names:
    • SITE (key)
    • DEPLOYMENTS
    • TOTAL_MINUTES
    • TOTAL_BIRDS
    • TOTAL_FEE
  • No authorization check (#NOT_REQUIRED).

5. Business rules

  1. Show one row for each site that has at least one valid deployment.
  2. A deployment with zero flight minutes is cancelled. A cancelled deployment must not appear in the view and must not count in any element.
  3. DEPLOYMENTS is the number of valid deployments of the site.
  4. TOTAL_MINUTES is the sum of the flight minutes of the valid deployments of the site.
  5. TOTAL_BIRDS is the sum of the birds that flew in the valid deployments of the site.
  6. TOTAL_FEE is the sum of the fees of the valid deployments of the site. The fee of one deployment is the number of flight minutes multiplied by the fee for one flight minute. The result has 2 decimals.

6. Constraints

  • Release target: SAP_BASIS 8.16 (ABAP Platform 2025).
  • Use "define view entity".
  • Out of scope: do not change {{P}}FALCON.
  • Do not use SAP application module data.

7. Acceptance

  • The view is active and has no syntax error.
  • The hidden tests pass.
  • Write ABAP Unit tests with CL_CDS_TEST_ENVIRONMENT in a global test class.