Files
abap-llm/tasks_gen/train/G1934/spec.md
2026-10-05 22:08:59 +02:00

51 lines
2.0 KiB
Markdown

# 1. Goal
The campsite "Lakeside" must store the bookings of its pitches in a database
table. The reception desk, a nightly list and an OData service read this table,
so the structure of the table must be fixed.
# 2. Open questions
None.
# 3. Context
- The campsite rents numbered pitches to guests.
- A booking has a booking number. A booking number occurs only once.
- The campsite runs in one client. The table is client-dependent.
# 4. Contract
- Create the transparent table {{P}}PITCH in package $TMP.
- Fields:
- client (abap.clnt): the client. Key field.
- booking_id (abap.char(10)): the booking number. Key field.
- pitch_no (abap.numc(4)): the number of the rented pitch.
- guest_name (abap.char(30)): the name of the guest.
- arrival_date (abap.dats): the first night of the stay.
- departure_date (abap.dats): the day of departure.
- persons (abap.int4): the number of persons.
- power_hookup (abap.char(1)): 'X' when a power hookup is booked.
- rate_per_night (abap.dec(9,2)): the price for one night.
# 5. Business rules
1. One row of the table is one booking. The key of the table is client and
booking_id. A booking number occurs only once.
2. booking_id has 10 characters.
3. pitch_no has 4 characters. The characters are digits.
4. guest_name has 30 characters.
5. arrival_date and departure_date are dates. arrival_date is the first night
of the stay. departure_date is the day of departure.
6. persons is a whole number.
7. power_hookup has 1 character. The value is 'X' when the guest booked a power
hookup. Otherwise the value is empty.
8. rate_per_night has 9 digits and 2 decimals. It is the price for one night.
9. The table has exactly these 9 fields.
# 6. Constraints
- Release target: SAP_BASIS 816 (ABAP Platform 2025).
- Use Clean ABAP.
- Out of scope: no other objects.
# 7. Acceptance
- The table {{P}}PITCH is active and has no syntax error.
- The hidden tests pass.
- Write ABAP Unit tests in a global test class. Use CL_OSQL_TEST_ENVIRONMENT
for the database access.