# 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.