Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,25 +42,6 @@ explicitly for this reason.
frozen builder — unless the page carries the migration banner. Examples are
the most-copied ABAP in the project; that gate is the reason the pages could
be migrated at all.
- **`missing-on-navigated-branch` is held at `hint` in `check-examples.mjs`.**
24 examples on 12 pages gate their display on `check_on_init( )` alone, which
is a genuine defect. The fix needs a `view_display( )` method extracted out of
the `IF` branch on each, and the prose on several pages walks through the code
as it stands — that is R-6, worked across the whole organisation. The entry
says so and names the condition for removing it.
- **The release number lives in three hand-maintained places, and a release
happens in another repository.** The nav bar in `config.mjs`, the *Version
status* sentence in `deprecations.md` and the newest `###` heading in
`changelog.md`. `check:version` holds them to each other and to the newest
release tag. It exists because 1.143.0 shipped at 12:20 and for the rest of
that day the deprecations page said "Not in 1.142.0 — `z2ui5_cl_ui5_view_builder`
arrives with the next release": the page a reader opens to ask whether they
may use the current builder told them no, hours after it shipped. When you
move the number, **read the prose around it** — a sentence like "arrives with
the next release" goes stale with it and no gate can see that.
Note `releases/latest` answers `1.143.0-702` much of the time: the framework
publishes the 7.02 downport minutes after each release. Same version, second
distribution — the script strips the suffix.
- **`llms.txt` is generated from the SIDEBAR, not from a directory walk.** A
page in no sidebar is reported as an orphan and published anyway. If you add
a page, add it to the sidebar or accept that nothing navigates to it.
Expand Down
2 changes: 1 addition & 1 deletion docs/configuration/ui5_versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ DATA(theme) = ui5-theme. " e.g. `sap_horizon`
The `gav` (group–artifact–version) field tells you which UI5 distribution is loaded: SAPUI5 ships the `com.sap.ui5` modules, OpenUI5 does not. Checking whether `gav` contains `com.sap.ui5` is the same logic the framework itself uses internally to detect the distribution. No custom control and no extra roundtrip are needed — the info is part of every request, so it already works in `check_on_init( )`:

```abap
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(ui5) = client->get( )-s_ui5.

Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/browser_interaction/focus.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ After processing an event, call `client->follow_up_action( )` with `cs_event-set
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/browser_interaction/keyboard_shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The `keyboard_shortcut` frontend event binds a key combination to a **named back
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

client->follow_up_action( val = client->cs_event-keyboard_shortcut
t_arg = VALUE #( ( `Ctrl+S` )
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/browser_interaction/scrolling.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_scrolling IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/browser_interaction/soft_keyboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ METHOD z2ui5_if_app~main.

DATA input TYPE string.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/device_capabilities/audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_sound IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down
4 changes: 2 additions & 2 deletions docs/cookbook/device_capabilities/barcode_scanning.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_focus IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down Expand Up @@ -126,7 +126,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_sound IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/device_capabilities/camera.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ENDCLASS.
CLASS z2ui5_cl_smp_app_306 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
4 changes: 2 additions & 2 deletions docs/cookbook/eml_cds_sql/abap_sql.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_sql IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

SELECT FROM sflight
FIELDS carrid, connid, fldate, price, currency
Expand Down Expand Up @@ -82,7 +82,7 @@ ENDCLASS.

Bind the search term with `_bind( )` and re-run the `SELECT` on every `SEARCH` event:
```abap
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

load_data( ).
render( ).
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/eml_cds_sql/cds.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_cds IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

SELECT FROM I_SalesOrder
FIELDS salesorder, salesordertype, salesorganization
Expand Down
6 changes: 3 additions & 3 deletions docs/cookbook/eml_cds_sql/draft_handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ CLASS z2ui5_cl_sample_draft_min IMPLEMENTATION.
METHOD z2ui5_if_app~main.
me->client = client.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
" 1. Open a draft so we can edit
MODIFY ENTITIES OF i_banktp ENTITY Bank EXECUTE Edit
FROM VALUE #( ( %key-BankCountry = bank_country
Expand Down Expand Up @@ -472,7 +472,7 @@ ENDMETHOD.
#### 9. The Event Map and the View
The dispatcher in `z2ui5_if_app~main` wires UI events to the methods above:
```abap
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `EDIT_TOGGLE` ).
on_event_edit_toggle( ).
Expand Down Expand Up @@ -531,7 +531,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_draft IMPLEMENTATION.
METHOD z2ui5_if_app~main.
me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `EDIT_TOGGLE` ).
on_event_edit_toggle( ).
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/eml_cds_sql/eml.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_eml_read IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

READ ENTITIES OF I_SalesOrderTP
ENTITY SalesOrder
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/event_navigation/routing.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Enable routing once per session with `client->set_nav_routing( )` — typically
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
client->set_nav_routing( ). " mode defaults to cs_nav_mode-keep
view_display( ).
ENDIF.
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/expert_more/follow_up_action.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ The `_generic` method creates a custom XML/HTML element — here an HTML `<scrip
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
14 changes: 7 additions & 7 deletions docs/cookbook/expert_more/lock.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ CLASS z2ui5_cl_sample_lock_1 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down Expand Up @@ -216,7 +216,7 @@ CLASS z2ui5_cl_sample_lock_2 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down Expand Up @@ -387,7 +387,7 @@ CLASS z2ui5_cl_sample_lock_3 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down Expand Up @@ -531,7 +531,7 @@ CLASS z2ui5_cl_sample_lock_4 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down Expand Up @@ -662,7 +662,7 @@ ENDCLASS.
#### 5. Stateful Session
For classic SAP GUI-like behaviour, switch the session to stateful and call the lock function module on init. The lock survives subsequent roundtrips as long as the session stays alive:
```abap
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

CALL FUNCTION `ENQUEUE_EVVBAK`
EXPORTING
Expand Down Expand Up @@ -744,7 +744,7 @@ CLASS z2ui5_cl_sample_lock_5 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down Expand Up @@ -945,7 +945,7 @@ CLASS z2ui5_cl_sample_lock_6 IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
on_init( ).
ELSEIF client->check_on_event( `SAVE` ).
on_event_save( ).
Expand Down
6 changes: 3 additions & 3 deletions docs/cookbook/expert_more/snippets.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ ENDCLASS.
CLASS z2ui5_cl_app_write_output IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

cl_demo_output=>begin_section( `My Report` ).
cl_demo_output=>write_data( sy-uname ).
Expand Down Expand Up @@ -191,7 +191,7 @@ ENDCLASS.
CLASS z2ui5_cl_app_table_basic IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DO 20 TIMES.
INSERT VALUE #( id = sy-index
Expand Down Expand Up @@ -265,7 +265,7 @@ ENDCLASS.
CLASS z2ui5_cl_app_table_sort IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DO 30 TIMES.
INSERT VALUE #(
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/expert_more/statefulness.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ No work process is pinned, no enqueue is held, no `SET/GET` parameters survive.
For private and on-premise systems, you can switch a running app to stateful mode. The same work process then handles every subsequent roundtrip of *this* user, and ABAP globals, locks, and open RFC connections survive between events:

```abap
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
client->set_session_stateful( ).
ENDIF.
```
Expand Down
4 changes: 2 additions & 2 deletions docs/cookbook/model/tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ ENDCLASS.
CLASS z2ui5_cl_sample_tab IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DO 100 TIMES.
INSERT VALUE #(
Expand Down Expand Up @@ -93,7 +93,7 @@ To make a table editable, use editable cell controls (e.g. `input`) — the bind
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DO 100 TIMES.
INSERT VALUE #(
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/popup_popover/popover.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To show a popover, call `client->popover_display` and pass the ID of the control
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/popup_popover/popup.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ A typical popup flow shows a normal view, opens a popup, and finally closes it.
```abap
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
2 changes: 1 addition & 1 deletion docs/cookbook/view/nested_views.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ DATA(nested) = z2ui5_cl_ui5_view_builder=>factory(
)->a( n = `text` v = `event`
)->a( n = `press` v = client->_event( `TEST` ) ).

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
client->view_display( view->stringify( ) ).
ENDIF.

Expand Down
4 changes: 2 additions & 2 deletions docs/get_started/full_example.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ The `main` method is a pure dispatcher — the same pattern as in [Hello World](
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
view_display( ).
ELSEIF client->check_on_event( ).
on_event( ).
Expand Down Expand Up @@ -357,7 +357,7 @@ CLASS zcl_app_full_example IMPLEMENTATION.
METHOD z2ui5_if_app~main.

me->client = client.
IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).
view_display( ).
ELSEIF client->check_on_event( ).
on_event( ).
Expand Down
4 changes: 2 additions & 2 deletions docs/get_started/hello_world.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ ENDCLASS.
CLASS zcl_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down Expand Up @@ -163,7 +163,7 @@ ENDCLASS.
CLASS zcl_app_hello_world IMPLEMENTATION.
METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
Expand Down
4 changes: 2 additions & 2 deletions docs/technical/cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ CLASS z2ui5_cl_demo_app_003 IMPLEMENTATION.

METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

SELECT FROM I_SalesOrder
FIELDS salesorder, salesorganization
Expand Down Expand Up @@ -95,7 +95,7 @@ CLASS z2ui5_cl_demo_app_004 IMPLEMENTATION.

METHOD z2ui5_if_app~main.

IF client->check_on_init( ).
IF client->check_on_init( ) OR client->check_on_navigated( ).

SELECT FROM vbak
FIELDS vbeln, vkorg
Expand Down
2 changes: 1 addition & 1 deletion docs/technical/concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ CLASS z2ui5_cl_app_partial_rerendering IMPLEMENTATION.

text = text && ` text`.

IF client->check_on_init( ) OR partly = abap_false.
IF client->check_on_init( ) OR client->check_on_navigated( ) OR partly = abap_false.
DATA(view) = z2ui5_cl_ui5_view_builder=>factory(
)->ele( n = `View` ns = `mvc`
)->a( n = `xmlns` v = `sap.m`
Expand Down
Loading