STRU and exception tasks accepted; G6 cascade fix, exception class mutants, RTTI unit notes
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
59
tasks_gen/train/G1903/spec.md
Normal file
59
tasks_gen/train/G1903/spec.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 1. Goal
|
||||
A stock report and an OData service must use the same line type for warehouse
|
||||
stock positions. Create the DDIC structure {{P}}STOCK_LINE and the DDIC
|
||||
structure {{P}}AUDIT_INFO in package $TMP.
|
||||
|
||||
# 2. Open questions
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
- The table {{P}}STOCK exists in package $TMP. Its columns are, in this order:
|
||||
MATERIAL (CHAR 18), PLANT (CHAR 4), NET_AMOUNT (DEC 9,2), CURRENCY (CHAR 5),
|
||||
CREATED_BY (CHAR 12), CREATED_ON (DATS). The key is CLIENT, MATERIAL and
|
||||
PLANT.
|
||||
- The table {{P}}STOCK is empty. Test data comes from test doubles.
|
||||
- {{P}}AUDIT_INFO is the audit part that other objects use, for example a
|
||||
change log view and a service. {{P}}STOCK_LINE must carry the same audit
|
||||
part.
|
||||
- Both structures are used as line types in ABAP SQL and in an OData service.
|
||||
|
||||
# 4. Contract
|
||||
- Create the DDIC structure {{P}}STOCK_LINE in package $TMP.
|
||||
Components, in this order: material (CHAR 18), plant (CHAR 4),
|
||||
net_amount (DEC 9,2), currency (CHAR 5), created_by (CHAR 12),
|
||||
created_on (DATS).
|
||||
- Create the DDIC structure {{P}}AUDIT_INFO in package $TMP.
|
||||
Components, in this order: created_by (CHAR 12), created_on (DATS).
|
||||
- {{P}}STOCK_LINE contains all six components itself. It does not use a DDIC
|
||||
include.
|
||||
|
||||
# 5. Business rules
|
||||
1. {{P}}STOCK_LINE has exactly six components.
|
||||
2. The components of {{P}}STOCK_LINE are, in this order: material, plant,
|
||||
net_amount, currency, created_by, created_on.
|
||||
3. material is a character field of 18 characters.
|
||||
4. plant is a character field of 4 characters.
|
||||
5. net_amount is a packed number with 9 digits and 2 decimal places.
|
||||
6. currency is a character field of 5 characters.
|
||||
7. created_by is a character field of 12 characters.
|
||||
8. created_on is a date field of type DATS.
|
||||
9. {{P}}AUDIT_INFO has exactly two components, in this order: created_by
|
||||
(CHAR 12) and created_on (DATS).
|
||||
10. Every component of {{P}}STOCK_LINE is elementary. {{P}}STOCK_LINE is a
|
||||
flat structure.
|
||||
11. The components created_by and created_on of {{P}}STOCK_LINE have the same
|
||||
data type and the same length as the components of {{P}}AUDIT_INFO.
|
||||
12. A row of {{P}}STOCK can be read into a work area of type {{P}}STOCK_LINE
|
||||
with ABAP SQL.
|
||||
|
||||
# 6. Constraints
|
||||
- Release target: SAP_BASIS 816 (ABAP Platform 2025).
|
||||
- Package $TMP. Do not use transports.
|
||||
- Coding standards: Clean ABAP. No ATC priority 1 or 2 findings.
|
||||
- Out of scope: do not change the table {{P}}STOCK.
|
||||
|
||||
# 7. Acceptance
|
||||
- Both structures are active and have no syntax error.
|
||||
- The hidden tests pass.
|
||||
- Write ABAP Unit tests with CL_OSQL_TEST_ENVIRONMENT in a global test class
|
||||
(for example {{P}}T16_TEST). The tests must prove rules 1 to 12.
|
||||
Reference in New Issue
Block a user