# 1. Goal A paintball arena records each game round that is played on its fields. A round report and an OData service must show the same line for a round. Both use one line type. Create this line type as a DDIC structure. # 2. Open questions None. # 3. Context - The arena plays rounds on numbered fields. - A round has a round number, a play date, the number of the field, the name of the visiting team, the number of players, the number of paintballs that the team used, the fee of the round, and the referee. - The report and the OData service also show who edited the round last and on which date. - All objects are in package $TMP. # 4. Contract - Create the DDIC structure {{P}}GAME_ROUND in package $TMP. - Create the DDIC structure {{P}}EDIT_STAMP in package $TMP. - {{P}}GAME_ROUND has these fields, in this order: ROUND_ID, PLAY_DATE, FIELD_NO, TEAM_NAME, PLAYER_COUNT, PAINTBALLS, ROUND_FEE, REFEREE, LAST_EDITOR, LAST_EDIT_ON. - The fields LAST_EDITOR and LAST_EDIT_ON also exist on their own in {{P}}EDIT_STAMP. # 5. Business rules 1. {{P}}GAME_ROUND is a structure. It has exactly ten fields. 2. ROUND_ID is a character field. Its length is 10. 3. PLAY_DATE is a date field. Its type is DATS. 4. FIELD_NO is a numeric text field. Its length is 2. 5. TEAM_NAME is a character field. Its length is 20. 6. PLAYER_COUNT is an integer field. Its type is INT4. 7. PAINTBALLS is an integer field. Its type is INT4. 8. ROUND_FEE is a packed number. It has 9 digits and 2 decimal places. 9. REFEREE is a character field. Its length is 15. 10. LAST_EDITOR and LAST_EDIT_ON are the last two fields of {{P}}GAME_ROUND. 11. LAST_EDITOR is a character field. Its length is 12. 12. LAST_EDIT_ON is a date field. Its type is DATS. 13. {{P}}EDIT_STAMP is a structure. It has exactly two fields: LAST_EDITOR (character, length 12) and LAST_EDIT_ON (date, type DATS). 14. {{P}}GAME_ROUND contains the fields of {{P}}EDIT_STAMP at the end. The fields LAST_EDITOR and LAST_EDIT_ON must not be defined twice. # 6. Constraints - Release target: ABAP Platform 2025 (SAP_BASIS 816). - Coding standards: Clean ABAP. - Out of scope: no other objects in package $TMP. # 7. Acceptance - Both structures are active and have no syntax error. - The hidden tests pass. - Write ABAP Unit tests in a global test class. The tests check the two structures with RTTI.