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

2.0 KiB

1. Goal

A maple syrup farm collects sap from its groves. The farm must store each sap delivery in one database table. Later programs and views read the deliveries from this table.

2. Open questions

None.

3. Context

  • The farm works with several groves. Each grove has a grove number.
  • One delivery belongs to exactly one grove and has exactly one delivery date.
  • The farm measures the sap in litres. The farm measures the sugar content of the sap in degrees Brix.
  • The farm pays the grove for each delivery. The payment is an amount in a currency.
  • All objects are in package $TMP.

4. Contract

  • Create the transparent database table {{P}}SYRUP in package $TMP.
  • The table has exactly these fields, in this order: client, delivery_id, grove_id, delivery_date, sap_liters, brix, quality_grade, payout, currency_code.

5. Business rules

  1. The table has the fields of the table below. The table below gives the data type, the length and the number of decimals of each field.

    Field Data type Length Decimals Key Not null
    client CLNT 3 - yes yes
    delivery_id CHAR 10 - yes yes
    grove_id CHAR 8 - no no
    delivery_date DATS 8 - no no
    sap_liters DEC 9 2 no no
    brix DEC 4 1 no no
    quality_grade NUMC 2 - no no
    payout CURR 15 2 no no
    currency_code CUKY 5 - no no
  2. client and delivery_id are the key fields. No other field is a key field.

  3. The key fields are not null.

  4. payout is an amount. The currency of payout is the value of currency_code.

  5. Two rows with the same client and the same delivery_id are not allowed.

6. Constraints

  • Release target: 8.16.
  • Coding standards: Clean ABAP.
  • Out of scope: no other objects.

7. Acceptance

  • The table is active and has no syntax error.
  • The hidden tests pass.
  • Write ABAP Unit tests in a global test class. Check the field properties with RTTI and check the table access with CL_OSQL_TEST_ENVIRONMENT.