Skip to content

Commit 7f31624

Browse files
authored
Update dx.md
1 parent 6fbc703 commit 7f31624

File tree

1 file changed

+23
-19
lines changed

1 file changed

+23
-19
lines changed

docs/technical/dx.md

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Why this is great for developers:
2626
- Minimal boilerplate
2727
- Fully abapGit-ready
2828

29-
This simplicity also inspired the entry point for abap2UI5 apps. For a simple output you don't need more than this:
29+
This simplicity also inspired the entry point for abap2UI5 apps. For simple output, you don't need more than this:
3030
```abap
3131
CLASS zcl_app_ui5 DEFINITION PUBLIC CREATE PUBLIC .
3232
PUBLIC SECTION.
@@ -39,14 +39,12 @@ CLASS zcl_app_ui5 IMPLEMENTATION.
3939
ENDMETHOD.
4040
ENDCLASS.
4141
```
42-
43-
What abap2UI5 adds:
44-
- Runs in the browser, no ADT needed
45-
- With UI5 Frontend, its conform to SAP Fiori Design guidelines
42+
What abap2UI5 adds is the ability to run in the browser without ADT, using a UI5 frontend that fully adheres to SAP Fiori design guidelines — and is ready to be shown to your consultant colleagues right away.
4643

4744
### Input Handling Inspired by Selection Screens
4845

49-
Inputting data was never a big topic for ABAP developers, just create a report and `parameters` and `select-options`give you a UI fro free. Although this term was not used at that time, you get with 4 lines of code an app which today is called `fullstack` application:
46+
Input handling was never a challenge in classic ABAP — just define a REPORT with PARAMETERS and SELECT-OPTIONS, and the UI is generated automatically. Although the term didn’t exist back then, this gave you a "fullstack" app in just a few lines:
47+
5048
```abap
5149
REPORT zre_app_input.
5250
PARAMETERS pa_arbgb TYPE t100-arbgb DEFAULT 'MDG_TR'.
@@ -55,10 +53,11 @@ START-OF-SELECTION.
5553
```
5654
Why this is great for developers:
5755
- Rapid prototyping with minimal code
58-
- Built-in input functionaity and events
56+
- Built-in input handling and event processing
5957
- Fullstack behavior with no setup
6058

61-
abap2UI5 mirrors this classic selection logic but browser based. Just use the class `z2ui5_cl_xml_view` to create simple views and exchange data with the client via `_bind_edit` methods:
59+
abap2UI5 mirrors this classic selection screen behavior in the browser. Use Z2UI5_CL_XML_VIEW to define simple views and exchange data with the client using _bind_edit methods:
60+
6261
```abap
6362
CLASS zcl_app_input DEFINITION PUBLIC CREATE PUBLIC.
6463
PUBLIC SECTION.
@@ -82,11 +81,11 @@ CLASS zcl_app_input IMPLEMENTATION.
8281
ENDMETHOD.
8382
ENDCLASS.
8483
```
85-
It is easy to test: reload the page, enter input, press the button while everything is still in a single class — no external UI tooling needed.
84+
Easy to test: reload the page, enter input, and press the button — all within a single class and without any external UI tooling.
8685

8786
### Table Output like ALV
8887

89-
Table output is one of the most used features for ABAP developers, and using ALV for that is just iconic. `CL_SALV_TABLE` helped make tabular output effortless:
88+
Table output is one of the most commonly used features by ABAP developers, and ALV is an iconic tool in this context. CL_SALV_TABLE makes generating tabular output straightforward:
9089

9190
```abap
9291
REPORT zre_app_alv.
@@ -109,7 +108,7 @@ Why this is great for developers:
109108
- No external annotations or CDS needed
110109
- Ideal for admin tools and quick overviews
111110

112-
abap2UI5 creates outputs completely based an internal tables, no ddictionry artifacts are needed, no designtime definitions have to be made. just throw the actual table into the binding use a ui5 table control to display the data:
111+
abap2UI5 follows a similar pattern. Just bind the internal table to a UI5 table control — no dictionary artifacts or design-time definitions needed:
113112

114113
```abap
115114
CLASS zcl_app_alv DEFINITION PUBLIC.
@@ -143,11 +142,14 @@ CLASS zcl_app_alv IMPLEMENTATION.
143142
ENDMETHOD.
144143
ENDCLASS.
145144
```
146-
From here it is just a small step to make it even more dynamic and create everything with RTTI at runtime. Just how it is done with the newer (but still old now) SALV. While the ALV onbly works with sapgui, these snippets are the exttrem quick way to bring your table into your browser.
145+
146+
From here, it's just a small step to generate everything dynamically using RTTI — similar to modern SALV techniques (but still old now). And unlike SALV, this runs in the browser.
147+
147148

148149
### Classic Popups, Modern Events
149150

150-
How often have you been to transaction `SE37` and search with `POPUP_TO*` for a popup matching wxactly what you need. yes function modules are old but still very often used and extremely practicable, giving you some event logic with just a serveal lines of code. Lets take a look the the `POPUP_TO_CONFIRM`:
151+
Anyone who has browsed SE37 for POPUP_TO_* knows the charm of classic ABAP popups. Function modules like POPUP_TO_CONFIRM are simple yet powerful:
152+
151153
```abap
152154
REPORT zre_app_alv.
153155
@@ -167,11 +169,12 @@ CASE event.
167169
ENDCASE.
168170
```
169171
Why this is great for developers:
170-
* event logic at a central place
171-
* easy to understand program flow
172-
* popups are encapsulated in abap code and can be reused
172+
* Centralized event logic
173+
* Simple and readable program flow
174+
* Fully encapsulated and reusable
175+
176+
abap2UI5 provides a similar experience, enabling apps to call each other and encapsulate dialog logic in reusable classes:
173177

174-
abap2UI5 offers a matching approach giving you the chance to create multiple apps, which can call each other. Encapsulate your popup funcitonality in a separated class and call it whenever you want. Check these snippet mimicing the popup to confirm:
175178
```abap
176179
CLASS zcl_app_alv_event DEFINITION PUBLIC.
177180
PUBLIC SECTION.
@@ -200,11 +203,12 @@ CLASS zcl_app_alv_event IMPLEMENTATION.
200203
ENDMETHOD.
201204
ENDCLASS.
202205
```
203-
Browsr based roundtrip need a sligthly different program flow but the approach is still close and should feel familiar for ABAP developers.
206+
207+
While browser-based roundtrips require slightly different flow control, the overall approach remains intuitive for ABAP developers.
204208

205209
### More
206210

207-
Besides these Code Snippets, the Over-the-wire approach with a backend-only development gives us a few additonal advantages.
211+
Besides the code snippets shown above, the Over-the-Wire approach of abap2UI5 — based entirely on backend development — offers several additional advantages.
208212

209213
##### Zero-Setup Deployment
210214

0 commit comments

Comments
 (0)