- 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>
1.9 KiB
1.9 KiB
1. Goal
Show every open order together with the name and country of its customer. A list report and an OData service read this data, so the data must be prepared in the database, in a CDS view entity.
2. Open questions
None.
3. Context
- Table {{P}}CUST (customer master), package $TMP. Key: CUST_ID (CHAR 10). Further fields: CUST_NAME (CHAR 40), COUNTRY (CHAR 3).
- Table {{P}}ORD (order header), package $TMP. Key: ORDER_ID (CHAR 10). Further fields: CUST_ID (CHAR 10), ORDER_DATE (DATS), STATUS (CHAR 1). STATUS is 'O' for an open order and 'C' for a closed order.
4. Contract
- Create the CDS view entity {{P}}I_ORDER in package $TMP.
- Elements, with these names: ORDER_ID (key), CUST_ID, ORDER_DATE, CUSTOMER_NAME, COUNTRY.
- Define an association named _Customer in {{P}}I_ORDER. The association has cardinality [0..1] and points to the customer master table {{P}}CUST. The association condition compares the CUST_ID of the order with the CUST_ID of the customer.
- Expose the association _Customer in the element list of {{P}}I_ORDER and read CUSTOMER_NAME and COUNTRY with path expressions through this association.
- The view entity has no authorization check (#NOT_REQUIRED).
5. Business rules
- {{P}}I_ORDER shows one row for each order with STATUS 'O'. An order with STATUS 'C' is not shown.
- CUSTOMER_NAME is the CUST_NAME and COUNTRY is the COUNTRY of the customer whose CUST_ID is the CUST_ID of the order.
- If an order has a CUST_ID for which no customer exists, the order is still shown. CUSTOMER_NAME and COUNTRY are then empty.
- ORDER_ID, CUST_ID and ORDER_DATE are the values of the order.
6. Constraints
- Release target: 7.58.
- Coding standards: Clean ABAP.
- Out of scope: do not change {{P}}CUST and {{P}}ORD.
7. Acceptance
- The view entity 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.