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
Incorporate the LinkedIn article 'Renaming of ABAP Artifacts – The Power
of abaplint & abapGit in ABAP Development': motivation (no package
manager, single global version per system), step-by-step guide based on
the abap2UI5-renamed template repository, and the ajson mirror as a
real-world example of renaming in practice.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J3CfpdPhr5mMXJGfmhCaLf
Copy file name to clipboardExpand all lines: docs/advanced/renaming.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,15 @@ The entire abap2UI5 project lives under the `z2ui5` namespace. You may need to r
7
7
- Different modules, e.g., `z2ui5_sd`, `z2ui5_mm`
8
8
- Custom namespaces, e.g., `/ZZZ/`, `/YYY/`
9
9
- Release-specific naming, e.g., `z2411`, `z2502`
10
+
- One installation per app, e.g., `z2ui5app1`, `z2ui5app2`
10
11
11
12
abap2UI5 works with the abaplint renaming feature and supports namespaces up to 9 characters, e.g., `zabap2ui5`.
12
13
14
+
#### Why Rename?
15
+
ABAP stacks have no package manager: every object pulled with abapGit is created globally, so a system can hold only one version of abap2UI5 — and every app in the system is forced to use it. Pulling the latest version can then break existing apps. Public API changes are kept to a minimum, but a constantly evolving project cannot avoid them entirely.
16
+
17
+
Renaming closes this gap. It is not a true package management system, but it lets you install abap2UI5 multiple times under different namespaces in the same system and upgrade each installation at its own pace. At the app level, you simply implement the renamed app interface — e.g., `z2ui5_sd_if_app` or `z2411_if_app` instead of `z2ui5_if_app`.
18
+
13
19
#### How It Works
14
20
[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:
15
21
@@ -24,8 +30,22 @@ abap2UI5 works with the abaplint renaming feature and supports namespaces up to
24
30
25
31
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
32
33
+
#### Step-by-Step Guide
34
+
The [abap2UI5-renamed](https://github.com/abap2UI5/abap2UI5-renamed) repository shows the full setup: a GitHub Action runs `abaplint abaplint_rename.json --rename` and commits the renamed artifacts back via pull request. Use it as a template for your own renaming repository:
35
+
36
+
1.**Fork** the [renaming repository](https://github.com/abap2UI5/abap2UI5-renamed)
37
+
2.**Configure your namespace** in `abaplint_rename.json` — set the old and new names in the rename patterns
38
+
3.**Run the GitHub Action** — open the Actions tab, enable workflows, and start the renaming job
39
+
4.**Merge the pull request** the job creates; your repository now contains all abap2UI5 artifacts under the new namespace
40
+
5.**Install with abapGit** — pull the renamed repository into your ABAP system
41
+
42
+
That's it — abap2UI5 now runs under your custom namespace, side by side with any other installation. Consider extending the GitHub Action to automate the process even further, e.g., pulling a fresh release on a regular schedule.
43
+
27
44
For a ready-made pipeline that builds a renamed release with your chosen add-ons included, see the [Builder](/advanced/builds).
28
45
46
+
#### Renaming in Practice: ajson
47
+
abap2UI5 itself relies on this feature: its JSON handling comes from the open-source project [ajson](https://github.com/sbcgua/ajson), which is integrated under the `z2ui5` namespace via renaming — so there are no collisions if you pull both abap2UI5 and ajson separately into the same system. A GitHub Action in the [mirror-ajson](https://github.com/abap2UI5/mirror-ajson) repository checks weekly for upstream changes and automatically creates a pull request with the latest ajson version renamed to `z2ui5`. abapGit bundles ajson under its own namespace the same way — renaming with abaplint also makes it possible to integrate open-source projects into each other.
48
+
29
49
#### Further Reading
30
50
-[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
51
-[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/)
0 commit comments