48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# 1. Goal
|
|
Store the service jobs of a service company. The company records the work hours,
|
|
the calculation mode, the order number, the date, the part count, the group, and
|
|
the value of each job. The business domain uses concepts that collide with
|
|
reserved or SQL words. The contract therefore uses safe field names.
|
|
|
|
# 2. Open questions
|
|
None.
|
|
|
|
# 3. Context
|
|
- The table is in package $TMP.
|
|
- The table stores service jobs of the service company.
|
|
- The table has a client field as the first key field.
|
|
|
|
# 4. Contract
|
|
Create the database table {{P}}SVCJOB with these fields:
|
|
|
|
| Field name | Data type | Length | Decimals | Key |
|
|
|------------|-----------|--------|----------|-----|
|
|
| client | abap.clnt | 3 | 0 | X |
|
|
| job_id | abap.char | 10 | 0 | X |
|
|
| work_hours | abap.dec | 5 | 2 | |
|
|
| calc_mode | abap.char | 2 | 0 | |
|
|
| order_no | abap.char | 10 | 0 | |
|
|
| job_date | abap.dats | 8 | 0 | |
|
|
| part_count | abap.int4 | 10 | 0 | |
|
|
| job_group | abap.char | 4 | 0 | |
|
|
| job_value | abap.dec | 15 | 2 | |
|
|
|
|
# 5. Business rules
|
|
1. Use the field names exactly as given in the contract. Use lower case field
|
|
names in the table definition.
|
|
2. Do not use reserved words as field names. Reserved words include HOURS, MODE,
|
|
ORDER, DATE, COUNT, GROUP, and VALUE.
|
|
3. The key fields are client and job_id. No other field is a key field.
|
|
4. Use only built-in data types. Do not use data elements or domains.
|
|
5. The table must be active.
|
|
|
|
# 6. Constraints
|
|
- Release target: 8.16.
|
|
- Out of scope: none.
|
|
- Do not create other objects.
|
|
|
|
# 7. Acceptance
|
|
- The table is active and has no syntax error.
|
|
- The hidden tests pass.
|
|
- Write ABAP Unit tests for the table in a global test class.
|