Classic reports — lists, pages and interactive reporting¶
Level: 201 · working knowledge
Status: stub — the model is here; the worked example is not yet.
One line: A classic report writes a list with WRITE, breaks it into pages with TOP-OF-PAGE, and reacts to a click with AT LINE-SELECTION and the HIDE area — a complete UI model from the 1990s that ALV replaced for display and that still explains how thousands of shipped reports behave.
The model¶
| Piece | Does |
|---|---|
WRITE, ULINE, SKIP, FORMAT, NEW-PAGE |
build the list |
TOP-OF-PAGE, END-OF-PAGE, LINE-COUNT, LINE-SIZE |
page structure, from the REPORT statement |
HIDE lv_field. |
remembers the field's value for this line, so a click can bring it back |
AT LINE-SELECTION |
fires on double-click; the HIDEd values of that line are restored |
AT USER-COMMAND |
fires on a toolbar button; sy-ucomm says which |
sy-lsind |
the list level — a click opens a detail list one level deeper, up to 20 |
SET PF-STATUS, SET TITLEBAR |
the toolbar and title of the list |
WRITE … AS CHECKBOX, HOTSPOT ON |
interactive elements on a line |
The list itself is a spool object: it can be printed, saved, sent by email, and read back from memory by another program (see SUBMIT).
Why it is still worth understanding¶
Because HIDE and sy-lsind are how drill-down was done for two decades, and because the WRITE formatting rules — right-justified numbers, the sign on the right, DDIC output lengths — are what a user of an old report expects. New reports use ALV; a maintainer of old ones needs this page.
What this page still needs¶
- [ ] a
snippets/report withHIDE,AT LINE-SELECTIONand a second list level - [ ] a recorded list showing the formatting rules, especially the trailing sign
- [ ] how the list appears in the spool of a background job
See also¶
WRITE— the statement, and its formatting- Report events — where each of these blocks fits
- ALV — the replacement
- Background jobs — the spool