55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# 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.
|