Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
58
tasks_gen/train/G1955/spec.md
Normal file
58
tasks_gen/train/G1955/spec.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 1. Goal
|
||||
A well-drilling company drills boreholes for farms and small businesses. The
|
||||
company needs one database table that stores every drilling job. A report and an
|
||||
OData service will read the jobs later. Therefore the table must be a
|
||||
transparent database table in the ABAP Dictionary.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- Package: $TMP.
|
||||
- No source table exists. Create the table from scratch.
|
||||
- One row of the table is one drilling job.
|
||||
|
||||
# 4. Contract
|
||||
- Create the transparent database table {{P}}WELL in package $TMP.
|
||||
- The table has these fields, with these names:
|
||||
client, job_id, site_name, drilled_on, depth_m, depth_unit, price,
|
||||
currency_code, permit_no, crew_size.
|
||||
- Key fields: client and job_id.
|
||||
|
||||
# 5. Business rules
|
||||
1. client is the client field. Data type abap.clnt. It is a key field and it is
|
||||
not null.
|
||||
2. job_id is the number of the drilling job. Data type abap.char(10). It is a
|
||||
key field and it is not null.
|
||||
3. site_name is the name of the drilling site. Data type abap.char(40).
|
||||
4. drilled_on is the date of the drilling. Data type abap.dats.
|
||||
5. depth_m is the drilled depth. Data type abap.dec(7,2). It is a quantity. The
|
||||
unit of measure of the quantity is the value of the field depth_unit of the
|
||||
same row.
|
||||
6. depth_unit is the unit of depth_m. Data type abap.unit(3).
|
||||
7. price is the price of the drilling job. Data type abap.dec(15,2). It is an
|
||||
amount. The currency of the amount is the value of the field currency_code of
|
||||
the same row.
|
||||
8. currency_code is the currency of price. Data type abap.cuky.
|
||||
9. permit_no is the permit number of the water authority. Data type
|
||||
abap.numc(8).
|
||||
10. crew_size is the number of workers on the drilling job. Data type
|
||||
abap.int4.
|
||||
11. Only client and job_id are key fields. All other fields are not key fields
|
||||
and can be empty. Two jobs on the same site are two rows with different
|
||||
job_id values.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: SAP_BASIS 816 (ABAP Platform 2025), client 001.
|
||||
- Create the table with a DDL source (define table ...). Do not use the classic
|
||||
Dictionary maintenance screens.
|
||||
- Coding standard: Clean ABAP. The table must be active and must have no syntax
|
||||
error.
|
||||
- Out of scope: do not create a CDS view, a report, a function module, or a
|
||||
business class in this task.
|
||||
|
||||
# 7. Acceptance
|
||||
- The table {{P}}WELL is active.
|
||||
- The hidden tests pass.
|
||||
- Write ABAP Unit tests for the table in a global test class in package $TMP.
|
||||
Use CL_OSQL_TEST_ENVIRONMENT as the test double.
|
||||
Reference in New Issue
Block a user