You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: make guide pages self-contained instead of delegating to LinkedIn
The Launchpad, BTP Build Work Zone, Mobile Start, Downporting, and
Renaming pages consisted mostly of external LinkedIn article links.
Each page now carries its own guide content; the articles remain as
"Further Reading" at the bottom.
- launchpad: add Installation section and a Launchpad Features section
covering context detection (check_launchpad_active), dynamic tile
title (set_title_launchpad), startup parameters (t_comp_params), and
parameterized cross-app navigation incl. back navigation — all based
on the LP_01–LP_04 samples
- btp: explain the destination → connector app → Work Zone content
architecture and add the Work Zone setup steps; link SAP's own
Work Zone tutorials
- mobile_start: document the actual setup path (Work Zone content
mirrored into Mobile Start) instead of only linking out
- downporting: describe the automated abaplint-based downport pipeline
that generates the 702 branch
- renaming: show how the abaplint rename configuration works and that
CI guarantees renameability; cross-link the Builder
- use_cases: demote the blog link to Further Reading
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EC2cWJafPETwcMbh3NCsgH
Copy file name to clipboardExpand all lines: docs/advanced/downporting.md
+14-2Lines changed: 14 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,5 +14,17 @@ To install on an older system, use the `702` branch:
14
14
15
15
Some sample projects and other repositories also ship a downported version. Check whether a `702` branch is available.
16
16
17
-
#### Functionality
18
-
For more on the downport feature, see the blog post [Running abap2UI5 on older R/3 Releases](https://www.linkedin.com/pulse/running-abap2ui5-older-r3-releases-downport-compatibility-abaplint-mjkle).
17
+
#### How It Works
18
+
The `702` branch is not maintained by hand — it is **generated** from `main` by an automated GitHub Actions workflow on every change. The pipeline runs [abaplint](https://abaplint.org)'s downport rule (`abaplint --fix` with a 7.02 target configuration), which rewrites modern syntax into 7.02-compatible equivalents, for example:
19
+
20
+
- inline declarations `DATA(x) = ...` → separate `DATA` statements
A few small compatibility fix-ups follow (e.g. replacing exception types that don't exist on old releases), and the result is committed to the `702` branch. Because the transformation is fully automatic, the downported version stays feature-identical with `main` — you never wait for a manual backport.
26
+
27
+
The same mechanism runs in this project's CI (`npm run auto_downport`) to guarantee every change on `main` stays downportable.
28
+
29
+
#### Further Reading
30
+
Background article: [Running abap2UI5 on older R/3 Releases](https://www.linkedin.com/pulse/running-abap2ui5-older-r3-releases-downport-compatibility-abaplint-mjkle).
Copy file name to clipboardExpand all lines: docs/advanced/renaming.md
+18-5Lines changed: 18 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,22 @@ The entire abap2UI5 project lives under the `z2ui5` namespace. You may need to r
10
10
11
11
abap2UI5 works with the abaplint renaming feature and supports namespaces up to 9 characters, e.g., `zabap2ui5`.
12
12
13
-
#### Functionality
14
-
For more on renaming ABAP artifacts, see:
15
-
[Automagic standalone renaming of ABAP objects](https://community.sap.com/t5/application-development-blog-posts/automagic-standalone-renaming-of-abap-objects/ba-p/13499851)
13
+
#### How It Works
14
+
[abaplint](https://abaplint.org) can rename ABAP artifacts across a whole repository: you define rename patterns (old name → new name, including regular expressions) in an abaplint configuration, and `abaplint --rename` rewrites every class, interface, and reference consistently, writing the result to an output folder:
16
15
17
-
For more background, see the blog post:
18
-
[Renaming of ABAP Artifacts - The Power of abaplint and abapGit in ABAP Development](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/).
The renamed copy is a complete, installable abapGit project under your own namespace — install it side by side with the original, pin it to a release, or ship it inside your product. The abap2UI5 CI runs this transformation on every change (`npm run rename`, workflow `test_rename.yaml`) to guarantee the codebase stays renameable.
26
+
27
+
For a ready-made pipeline that builds a renamed release with your chosen add-ons included, see the [Builder](/advanced/builds).
28
+
29
+
#### Further Reading
30
+
-[Automagic standalone renaming of ABAP objects](https://community.sap.com/t5/application-development-blog-posts/automagic-standalone-renaming-of-abap-objects/ba-p/13499851)
31
+
-[Renaming of ABAP Artifacts — The Power of abaplint and abapGit in ABAP Development](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/)
Copy file name to clipboardExpand all lines: docs/configuration/btp.md
+28-5Lines changed: 28 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,20 @@ outline: [2, 4]
3
3
---
4
4
# BTP Build Work Zone
5
5
6
-
Embed your abap2UI5 apps into BTP services like SAP Build Work Zone. Full details:<br>
7
-
[**Installation & Configuration of BTP**](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-13-installation-lf1re/?trackingId=YQ0y%2Fq0y6Kw5PK8chNCbrw%3D%3D&lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BFGBWUSIZRzeRjUNKBFD0uA%3D%3D)<br>
8
-
[**Setup SAP Build Work Zone**](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-23-setup-ujdqe/?trackingId=vFwHvpI9oBk2igiz5P5CWA%3D%3D&lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BFGBWUSIZRzeRjUNKBFD0uA%3D%3D)<br>
6
+
Embed your abap2UI5 apps into BTP services like SAP Build Work Zone. The integration follows the usual BTP pattern for on-premise or cloud ABAP backends:
7
+
8
+
1.**Destination** — a BTP destination points to the HTTP service of the ABAP system that runs your abap2UI5 apps.
9
+
2.**Connector app** — a small standalone UI5 app from the [abap2UI5-addons](https://github.com/abap2UI5-addons) organization is deployed to BTP. It renders the abap2UI5 frontend and forwards every request through the destination to your ABAP backend.
10
+
3.**Work Zone content** — the connector app is added as content in SAP Build Work Zone and assigned to a page/role. Which abap2UI5 app a tile starts is controlled via the `app_start` parameter, so one deployed connector serves any number of app tiles.
11
+
12
+
All app logic stays in ABAP — nothing app-specific is deployed to BTP.
9
13
10
14
### Configuration
11
-
<br>
12
15
13
16
#### Destination
14
17
18
+
Create this destination in your BTP subaccount (**Connectivity → Destinations**):
19
+
15
20
- Name: `BACKEND_ABAP2UI5`
16
21
- Type: `HTTP`
17
22
- Description: abap2UI5 Destination
@@ -21,9 +26,11 @@ Embed your abap2UI5 apps into BTP services like SAP Build Work Zone. Full detail
21
26
- User: *(user)*
22
27
- Password: *(password)*
23
28
29
+
For on-premise systems without direct internet exposure, use Proxy Type `OnPremise` with the SAP Cloud Connector; for production, prefer a principal-propagation or SAMLAssertion setup over basic authentication.
30
+
24
31
#### Extra Properties
25
32
26
-
SAP Build Work Zone needs these properties to route requests correctly to your ABAP backend:
33
+
SAP Build Work Zone needs these additional properties to route requests correctly to your ABAP backend:
27
34
28
35
| Property | Value | Description |
29
36
|---|---|---|
@@ -32,3 +39,19 @@ SAP Build Work Zone needs these properties to route requests correctly to your A
32
39
| sap-client |*(your client number)*| The SAP system client to connect to (e.g., `001`) |
33
40
| WebIDEEnabled |`true`| Enables the destination for SAP Business Application Studio |
34
41
| WebIDEUsage |`odata_abap,dev_abap`| Declares supported protocols for development tools |
42
+
43
+
#### Work Zone Setup
44
+
45
+
1. Subscribe to **SAP Build Work Zone** (standard edition is sufficient) in your subaccount and open the **Site Manager**.
46
+
2. Deploy the connector app from the [abap2UI5-addons](https://github.com/abap2UI5-addons) organization to your subaccount's HTML5 application repository.
47
+
3. In the **Content Manager**, add the deployed app, assign it to a group and to the `Everyone` role (or your own role), and add it to a site page.
48
+
4. Pass the abap2UI5 app class to start via the `app_start` parameter in the tile/target configuration — one deployment, one tile per app class.
49
+
50
+
After that, the tile opens your abap2UI5 app inside the Work Zone shell; the same content is also picked up by [SAP Mobile Start](/configuration/mobile_start).
51
+
52
+
### Further Reading
53
+
The original article series with step-by-step screenshots:
54
+
-[Installation & Configuration of BTP](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-13-installation-lf1re/)
55
+
-[Setup SAP Build Work Zone](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-23-setup-ujdqe/)
56
+
57
+
SAP's own tutorials cover the generic Work Zone plumbing: [Configure SAP Build Work Zone](https://developers.sap.com/tutorials/spa-configure-workzone..html) and [Integrate Your Application with SAP Build Work Zone](https://developers.sap.com/tutorials/integrate-with-work-zone..html).
[**(3) Integration of KPIs**](https://www.linkedin.com/pulse/abap2ui5-host-your-apps-sap-fiori-launchpad-33-kpis-abap2ui5-uuxxe/) <br>
6
+
Embed your abap2UI5 apps into the SAP Fiori Launchpad (FLP) on S/4 On-Premise or Private Cloud. Each app appears as a regular tile; inside the Launchpad shell, abap2UI5 apps can set their title, read startup parameters, and participate in cross-app navigation like any other Fiori app.
7
+
8
+
### Installation
9
+
10
+
The Launchpad loads the abap2UI5 frontend from the UI5 ABAP repository of your system (as app `z2ui5`). Install the Launchpad connector from the [abap2UI5-addons](https://github.com/abap2UI5-addons) organization via abapGit — it ships the frontend app for the UI5 repository. After the import, check that the app index is up to date (see [Troubleshooting](#troubleshooting) below).
10
11
11
12
### Target Mapping
12
13
Use these parameters for target mapping in your Launchpad configuration. abap2UI5 uses the app's class name as the Semantic Object so each app gets its own navigation target — replace `Z2UI5_CL_MY_APP` with your app class:
@@ -16,14 +17,55 @@ Use these parameters for target mapping in your Launchpad configuration. abap2UI
16
17
- ID: `z2ui5`
17
18
- Parameter: `app_start / Z2UI5_CL_MY_APP`
18
19
19
-
### Cross App Navigation
20
-
Handle view changes and popups through the abap2UI5 backend as usual. But for navigation *between* apps in a Launchpad, use the Launchpad's own cross-app navigation instead of a backend roundtrip — this keeps browser navigation and history working:
20
+
### Launchpad Features
21
+
22
+
Inside your app, the client API gives you access to the Launchpad context. Runnable samples: `Z2UI5_CL_DEMO_APP_LP_01` to `Z2UI5_CL_DEMO_APP_LP_04` in the [samples repository](https://github.com/abap2UI5/samples).
23
+
24
+
#### Detect the Launchpad Context
25
+
`client->get( )-check_launchpad_active` tells you whether the app currently runs inside a Launchpad — useful to hide your own page header or to guard Launchpad-only features:
26
+
27
+
```abap
28
+
IF client->get( )-check_launchpad_active = abap_false.
29
+
client->message_box_display( `This feature needs the Launchpad.` ).
30
+
ENDIF.
31
+
```
32
+
33
+
#### Set the Tile Title Dynamically
34
+
Change the Launchpad shell title from ABAP at any time with the `set_title_launchpad` frontend event:
val = z2ui5_if_client=>cs_event-set_title_launchpad
39
+
t_arg = VALUE #( ( `My Dynamic Title` ) ) ).
40
+
```
41
+
42
+
#### Read Startup Parameters
43
+
Parameters from the target mapping (or the start URL) arrive as name/value pairs in `client->get( )-t_comp_params`:
44
+
45
+
```abap
46
+
DATA(lt_params) = client->get( )-t_comp_params.
47
+
DATA(lv_product) = VALUE #( lt_params[ n = `PRODUCT` ]-v OPTIONAL ).
48
+
```
49
+
50
+
#### Cross App Navigation
51
+
Handle view changes and popups through the abap2UI5 backend as usual. But for navigation *between* apps in a Launchpad, use the Launchpad's own cross-app navigation instead of a backend roundtrip — this keeps browser navigation and history working. Fire the `cross_app_nav_to_ext` event with the target intent (and optional parameters, here taken from a bound structure):
Copy file name to clipboardExpand all lines: docs/configuration/mobile_start.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,15 @@ outline: [2, 4]
3
3
---
4
4
# Mobile Start
5
5
6
-
SAP Mobile Start surfaces your abap2UI5 apps as tiles in the mobile launchpad. You configure this on BTP with an HTTP destination pointing to your ABAP system, similar to [BTP Build Work Zone](/configuration/btp). The step-by-step guide: [**Setup SAP Mobile Start**](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-33-setup-uzure/).
6
+
SAP Mobile Start surfaces your abap2UI5 apps as tiles in SAP's native mobile entry-point app (iOS/Android). No extra abap2UI5 development is needed — Mobile Start mirrors the content of your SAP Build Work Zone site.
7
+
8
+
### Setup
9
+
10
+
1. Complete the [BTP Build Work Zone](/configuration/btp) setup: destination to your ABAP system, deployed connector app, and the app added as Work Zone content.
11
+
2. Enable **SAP Mobile Start** for your Work Zone site (Site Settings) and connect the Mobile Start app on the device to the site — typically by scanning the QR code from the site's settings page.
12
+
3. Every abap2UI5 tile that is assigned to the user's role in Work Zone automatically appears in Mobile Start; tapping it opens the app in the mobile shell, rendered by the same ABAP backend.
13
+
14
+
Since abap2UI5 views are responsive UI5 controls, most apps work on phones as they are — check layouts with narrow screens in mind (see the [Device Model](/cookbook/model/device_model) page for adapting views to the device).
15
+
16
+
### Further Reading
17
+
The original article with step-by-step screenshots: [Setup SAP Mobile Start](https://www.linkedin.com/pulse/abap2ui5-integration-sap-business-technology-platform-33-setup-uzure/).
Copy file name to clipboardExpand all lines: docs/get_started/use_cases.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,6 @@ outline: [2, 4]
5
5
6
6
abap2UI5 fits many contexts, whether you work in a cloud-ready environment or with classic ABAP.
7
7
8
-
For a complete overview, see the [Use Cases blog post](https://www.linkedin.com/pulse/use-cases-abap2ui5-overview-abap2ui5-udbde/?trackingId=6iIX%2FNk%2BCT0%2B4JorQjpRSQ%3D%3D).
9
-
10
8
The sections below follow SAP's standard extensibility model. **On-stack** means the app runs inside your SAP system; **side-by-side** means it runs on a separate system (for example the BTP ABAP Environment) and calls your SAP system remotely. Within each approach, SAP defines three tiers by how "clean core" the extension is: **Tier 1** uses only released, upgrade-stable APIs; **Tier 2** wraps not-yet-released APIs behind your own released interface; **Tier 3** uses classic, unreleased APIs — maximum freedom, but less upgrade stability.
11
9
12
10
### On-Stack Extension
@@ -36,3 +34,6 @@ For more flexibility, build apps whose lifecycle is independent of your S/4 syst
36
34
### Software as a Service (SaaS)
37
35
With a Tier 1 side-by-side extension, you can connect a single abap2UI5 app to multiple S/4 systems. Use the same abap2UI5 code across customer tenants and remote systems for a real SaaS setup:
38
36
{ width=60% }
37
+
38
+
### Further Reading
39
+
Background article with additional scenarios: [Use Cases of abap2UI5 — an Overview](https://www.linkedin.com/pulse/use-cases-abap2ui5-overview-abap2ui5-udbde/).
0 commit comments