1.9 KiB
1.9 KiB
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
- {{P}}SVC_JOB has exactly the ten fields of the contract, in the given order.
- 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.
- The data type and the length of every field are exactly as in the contract.
- {{P}}SVC_BASE has exactly the two fields of the contract, in the given order.
- 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.