52 lines
1.9 KiB
Markdown
52 lines
1.9 KiB
Markdown
# 1. Goal
|
|
A service company records its service jobs. The company needs one reusable line
|
|
type for a service job. The line type is a DDIC structure. The company also
|
|
needs a small base structure for the audit fields of its business objects.
|
|
|
|
# 2. Open questions
|
|
None.
|
|
|
|
# 3. Context
|
|
- Several programs and one OData service use the service job line type.
|
|
- The line type is a DDIC structure. It is not a database table.
|
|
- The base structure is a DDIC structure too.
|
|
- The company keeps the audit fields in the base structure, so that all of its
|
|
business objects use the same audit fields.
|
|
|
|
# 4. Contract
|
|
- Create the DDIC structure {{P}}SVC_BASE in package $TMP.
|
|
- Create the DDIC structure {{P}}SVC_JOB in package $TMP.
|
|
- Fields of {{P}}SVC_BASE, in this order:
|
|
- created_by : abap.char(12)
|
|
- created_on : abap.dats
|
|
- Fields of {{P}}SVC_JOB, in this order:
|
|
- created_by : abap.char(12)
|
|
- created_on : abap.dats
|
|
- job_id : abap.char(10)
|
|
- work_hours : abap.dec(5,2)
|
|
- calc_mode : abap.char(2)
|
|
- order_ref : abap.char(12)
|
|
- service_date : abap.dats
|
|
- part_count : abap.int4
|
|
- group_code : abap.char(4)
|
|
- net_value : abap.dec(13,2)
|
|
|
|
# 5. Business rules
|
|
1. {{P}}SVC_JOB has exactly the ten fields of the contract, in the given order.
|
|
2. The field names are the safe names of the contract. Do not use the words
|
|
hours, mode, order, date, count, group or value as a field name.
|
|
3. The data type and the length of every field are exactly as in the contract.
|
|
4. {{P}}SVC_BASE has exactly the two fields of the contract, in the given order.
|
|
5. The first two fields of {{P}}SVC_JOB have the same name, data type and length
|
|
as the two fields of {{P}}SVC_BASE.
|
|
|
|
# 6. Constraints
|
|
- Release target: 8.16.
|
|
- Coding standards: Clean ABAP.
|
|
- Out of scope: do not create database tables.
|
|
|
|
# 7. Acceptance
|
|
- The structures are active and have no syntax error.
|
|
- The hidden tests pass.
|
|
- Write ABAP Unit tests with RTTI in a global test class.
|