1.9 KiB
1.9 KiB
1. Goal
The chocolate factory "Cocoa Lane" produces chocolate bars in batches. The production team needs the quality totals of each product. A dashboard and an OData service read these totals. Therefore the calculation must be in the database, in a CDS view. The new view reuses the existing batch view.
2. Open questions
None.
3. Context
- The view entity {{P}}I_BATCH_QUALITY in package $TMP shows the production batches that produced bars. The production team already uses this view in a dashboard.
- The signature of {{P}}I_BATCH_QUALITY is not in this document. Read the view entity to see its elements and its source.
- The database table behind {{P}}I_BATCH_QUALITY is a seed object in package $TMP.
4. Contract
- Create the CDS view entity {{P}}I_PRODUCT_QUALITY in package $TMP.
- The new view reads from {{P}}I_BATCH_QUALITY. Do not change {{P}}I_BATCH_QUALITY.
- The view has these elements, with these names: PRODUCT (key), BATCH_COUNT, BARS_TOTAL, BARS_GOOD, BARS_SCRAP, YIELD_PCT.
- No authorization check (#NOT_REQUIRED).
5. Business rules
- Show one row for each product that has at least one batch in {{P}}I_BATCH_QUALITY.
- PRODUCT is the product code.
- BATCH_COUNT is the number of batches of the product.
- BARS_TOTAL is the sum of the total bars of these batches.
- BARS_GOOD is the sum of the good bars of these batches.
- BARS_SCRAP is the sum of the scrap bars of these batches.
- YIELD_PCT is BARS_GOOD as a percentage of BARS_TOTAL, with 2 decimal places. Example: 600 good bars out of 1000 total bars is 60.00.
6. Constraints
- Release target: 8.16 (SAP_BASIS 816).
- Coding standard: Clean ABAP.
- Out of scope: do not change {{P}}I_BATCH_QUALITY and {{P}}BATCH.
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.