Snapshot: new training tasks (balanced generation), docs
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
87
tasks_gen/train/G1916/spec.md
Normal file
87
tasks_gen/train/G1916/spec.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# 1. Goal
|
||||
|
||||
A rooftop solar installer checks a planned photovoltaic system before it sends a
|
||||
quotation. The quotation program works against one interface. The interface
|
||||
carries the request type, the reason codes, the limits and the check methods.
|
||||
|
||||
# 2. Open questions
|
||||
|
||||
None.
|
||||
|
||||
# 3. Context
|
||||
|
||||
- Package $TMP. The interface does not exist yet.
|
||||
- The quotation program fills a request, calls the check through the interface
|
||||
{{P}}IF_SOLAR_CHECK and reads the reason code.
|
||||
- The interface is the only object of this task.
|
||||
|
||||
# 4. Contract
|
||||
|
||||
- Create the interface {{P}}IF_SOLAR_CHECK in package $TMP.
|
||||
- The interface is global and public.
|
||||
- The interface contains exactly the types, the constants and the methods of
|
||||
section 5. Do not add other components.
|
||||
|
||||
# 5. Business rules
|
||||
|
||||
## 5.1 Types
|
||||
|
||||
1. TY_REASON is a character type of length 10. It carries one reason code.
|
||||
2. TY_ROOF is a character type of length 4. It carries one roof type.
|
||||
3. TY_REQUEST is a structure type with exactly these five components in this
|
||||
order:
|
||||
|
||||
| component | type | meaning |
|
||||
| ----------- | ------- | ------------------------------ |
|
||||
| roof_type | ty_roof | the kind of the roof |
|
||||
| roof_size | i | the roof size in square metres |
|
||||
| panel_count | i | the number of planned panels |
|
||||
| tilt_angle | i | the roof pitch in degrees |
|
||||
| battery_kwh | i | the battery capacity in kWh |
|
||||
|
||||
4. TT_REQUEST is a standard table of TY_REQUEST.
|
||||
5. TT_REASON is a standard table of TY_REASON.
|
||||
|
||||
## 5.2 Constants
|
||||
|
||||
6. C_REASON is a constant structure. Each component has the type TY_REASON and
|
||||
this value:
|
||||
|
||||
| component | value |
|
||||
| ----------- | ------- |
|
||||
| ok | OK |
|
||||
| empty_input | EMPTY |
|
||||
| roof_type | ROOF |
|
||||
| roof_size | SIZE |
|
||||
| panels | PANELS |
|
||||
| tilt | TILT |
|
||||
| battery | BATTERY |
|
||||
|
||||
7. C_ROOF_TILE is a constant of type TY_ROOF with the value TILE.
|
||||
8. C_ROOF_SLATE is a constant of type TY_ROOF with the value SLAT.
|
||||
9. C_ROOF_FLAT is a constant of type TY_ROOF with the value FLAT.
|
||||
10. C_MIN_PANELS is a constant of type i with the value 4.
|
||||
11. C_MAX_PANELS is a constant of type i with the value 60.
|
||||
12. C_MIN_TILT is a constant of type i with the value 5.
|
||||
13. C_MAX_TILT is a constant of type i with the value 60.
|
||||
14. C_MAX_BATTERY is a constant of type i with the value 20.
|
||||
|
||||
## 5.3 Methods
|
||||
|
||||
15. The method CHECK has the importing parameter IS_REQUEST of the type
|
||||
TY_REQUEST and the returning parameter RV_REASON of the type TY_REASON.
|
||||
16. The method CHECK_MANY has the importing parameter IT_REQUEST of the type
|
||||
TT_REQUEST and the returning parameter RT_REASON of the type TT_REASON.
|
||||
|
||||
# 6. Constraints
|
||||
|
||||
- Release target: ABAP Platform 2025 (SAP_BASIS 816).
|
||||
- Coding standards: Clean ABAP. No comment that restates the code.
|
||||
- Out of scope: do not create a class, a report, a function module or a
|
||||
database table for this task.
|
||||
|
||||
# 7. Acceptance
|
||||
|
||||
- The interface {{P}}IF_SOLAR_CHECK is active and has no syntax error.
|
||||
- The hidden tests pass.
|
||||
- Write your own ABAP Unit tests for the interface in a global test class.
|
||||
Reference in New Issue
Block a user