Skip to content

09 Launchpad: full width instead of the letterbox (Z2UI5_CL_SMPS_APP_027) - #106

Merged
oblomov-dev merged 1 commit into
abap2UI5:mainfrom
christianguenter2:launchpad-full-width
Oct 26, 2026
Merged

oblomov-dev merged 1 commit into
abap2UI5:mainfrom
christianguenter2:launchpad-full-width

Conversation

@christianguenter2

@christianguenter2 christianguenter2 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

A sample for cs_event-set_app_full_width, the frontend action added in abap2UI5/abap2UI5#2953.

What it shows

Inside the launchpad an app is shown at a limited width with margins left and right (the letterbox) unless it asks for the full screen. A Fiori elements app asks in its manifest; an abap2UI5 app asks at runtime. Z2UI5_CL_SMPS_APP_027 is a 12-column table with a switch:

  1. On start the app calls follow_up_action( cs_event-set_app_full_width ) with X, and the table takes the whole width of the window.
  2. The switch toggles between that and the letterbox. Off sends the action without an argument: the backend drops a trailing empty argument, so "no argument" is how abap_false arrives, and the framework reads it as the letterbox.
  3. The page's sap.m.Shell is rendered with appWidthLimited = false. The sample's ABAP Doc says why: the Shell limits the width on its own, so without that the app stays boxed in however wide the launchpad lets it be.

Started standalone, the sample shows the same message box as Z2UI5_CL_SMPS_APP_481 to _483. It needs no configuration beyond a launchpad tile for abap2UI5. Some launchpads start every app at full width already; there the switch shows the letterbox when it is turned off.

The sample needs abap2UI5 newer than 1.148.0.

Changes

  • src/09/z2ui5_cl_smps_app_027.clas.abap and .clas.xml: the new sample, with ABAP Doc, @keywords and @summary
  • src/z2ui5_cl_smps_app_000.clas.abap: overview entry in t_launchpad
  • src/09/README.md: a sample table row, and 027 added to the samples that check check_launchpad_active
  • SAMPLES.md, catalogue.json and catalogue-derived.json: regenerated

How it was tested

  • abaplint and check:released-api fail on main until abap2UI5/abap2UI5#PR_NUMBER is merged, with the one finding Component "set_app_full_width" not found. Against the PR's branch: 0 issues on the whole repository (v757), and for src/09 also 0 issues at v740sp08 and at Cloud.
  • abap2ui5lint: 0 errors and 0 warnings for the new sample. The one hint left is the existing handler-without-event on Z2UI5_CL_SMPS_APP_026.
  • These checks pass: check:pin, check:overview, check:keywords, check:titles, check:abapdoc, check:samples-md, check:catalogue, check:derived, check:app-rules, check:atc and check:prose.
  • In a real launchpad (ABAP Platform 2025, SAP_UI 816, abap2UI5 and frontend built from the PR's branch): the table is 1,280 px wide with the switch off and 1,696 px, the full window, with it on; the shell received setApplicationFullWidth(false) and (true).

🤖 Generated with Claude Code

…027)

A wide table and a switch: on start the app asks the launchpad for its
whole width with follow_up_action( cs_event-set_app_full_width ) and X,
and the switch toggles between that and the letterbox (no argument). The
sap.m.Shell is rendered with appWidthLimited = false, which the sample
says, since it would box the app in on its own. Needs abap2UI5 newer
than 1.148.0 - the event is added in abap2UI5/abap2UI5 (pending).

Overview entry, package README, SAMPLES.md, catalogue.json and
catalogue-derived.json updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uu5dGm1HwqExPho5SgWZL1
@oblomov-dev
oblomov-dev merged commit 38cc07d into abap2UI5:main Oct 26, 2026
27 of 31 checks passed
@oblomov-dev

Copy link
Copy Markdown
Member

thanks

@christianguenter2
christianguenter2 deleted the launchpad-full-width branch October 26, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants