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
In Private and OnPremise scenarios abap2UI5 can also be used in stateful mode. Check out [sample 135](https://github.com/abap2UI5/samples/blob/main/src/z2ui5_cl_demo_app_135.clas.abap) or [sample 137.](https://github.com/abap2UI5/samples/blob/main/src/z2ui5_cl_demo_app_137.clas.abap)
3
+
In Private and OnPremise scenarios abap2UI5 can also be used in stateful mode. Check out `Z2UI5_CL_DEMO_APP_135` and `Z2UI5_CL_DEMO_APP_137`.
Copy file name to clipboardExpand all lines: docs/configuration/installation.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,25 +4,25 @@ outline: [2, 4]
4
4
5
5
# Installation
6
6
7
-
This project is compatible with most ABAP releases and language versions. As outlined in the Quickstart Guide, you can run the app directly through the HTTP handler:
7
+
As outlined in the Quickstart Guide, you can run the abap2UI5 amd its apps directly through an HTTP service:
8
8
{ width=70% }
9
9
10
-
10
+
This is the quickest and most programmatic approach; however, for productive usage, you have additional options.
11
11
12
12
### ABAP Standard
13
13
14
-
In `S/4 Private` or `S/4 On-Premise`systems you can just transport it as it is into production and use it. However it may be required to make this app accessible via BSP on-premise (leveraging the Fiori launchpad). Therefore you can install the abap2UI5frontend:
14
+
In `S/4 Private` or `S/4 On-Premise` it may be required to make this app accessible via BSP on-premise (leveraging the Fiori launchpad). Therefore you can install the [abap2UI5-frontend:](https://github.com/abap2UI5/frontend)
15
15
16
16
{ width=80% }
17
17
18
18
Check out this [section](/configuration/launchpad) for more details.
19
19
20
20
21
21
### ABAP Cloud
22
-
In `S/4 Public Cloud` or `BTP ABAP` without the authoriy `S_DEVELOP`you can not acces the HTTP endpoint, so this is not a valid scenario for producvive usage. Deploy therefor the cloud branch of the abap2UI5-frontend and maintain a new fiori launchpad:
22
+
In `S/4 Public Cloud` or `BTP ABAP Environment` without the S_DEVELOP authority, you cannot access the HTTP endpoint, making this scenario unsuitable for productive usage. Instead, deploy the cloud branch of the [abap2UI5-frontend](https://github.com/abap2UI5/frontend) and set up a new Fiori tile:
23
23
24
24
{ width=80% }
25
25
26
26
### R/3 Netweaver
27
27
28
-
For old `R/3 Netweaver` check out the [downport section.](/advanced/downporting)
28
+
For old `R/3 Netweaver` check out the [downport section.](/advanced/downporting)
Copy file name to clipboardExpand all lines: docs/configuration/security.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
# Security
2
2
3
3
### HTTP Endpoint
4
-
The framework is implemented as an HTTP handler. You create the HTTP handler and invoke the abap2UI5 API within it. End users can access abap2UI5 by calling the endpoint defined in your HTTP handler. Security is managed in the same way as with any other UI5 application.
4
+
The abap2UI5 framework operates as an HTTP handler. You create this HTTP handler and call the abap2UI5 API within it. End users can access abap2UI5 by calling the endpoint defined in your HTTP handler, with security managed similarly to any other UI5 application.
5
5
6
6
### Authorization
7
-
Authorization is managed at the ICF (Internet Communication Framework) node level. You have all options to maintain the of your icf node, changing isibilty , login procedure etc.
7
+
Authorization is managed at the ICF (Internet Communication Framework) node level. You have full control to configure your ICF node by adjusting visibility, login procedures, and other authorization settings.
8
8
9
9
### Authentication
10
-
Authentication is managed by the app developer. You have various options, on app level, node level etc. chout out more information here. You can configure which users or systems have access to your endpoint, ensuring that only authorized parties can interact with the framework[here.](/configuration/authorization)
10
+
Authentication settings are customizable by the app developer and can be managed at the application level or node level. For more information on configuring authentication for your endpoint, including user and system access control, refer to the details[here.](/configuration/authorization)
11
11
12
12
### Backend Code
13
-
abap2UI5 is delivered as Z-Code. Once installed, you "own" the code and can either use it as-is or modify it as necessary. However, to benefit from future updates, it is recommended not to alter the main code line directly.
13
+
abap2UI5 is delivered as Z-Code. Once installed, you "own" the code, allowing you to use or modify it as necessary. However, to benefit from future updates, it is recommended not to directly alter the main code line.
14
14
15
15
### Frontend Code
16
-
The frontend of the application is a Single Page Application (SPA) built using SAPUI5 or OpenUI5. The application is delivered from the HTTP endpoint upon the first request, following standard practices for modern web apps.
16
+
The frontend of the application is a Single Page Application (SPA) built using SAPUI5 or OpenUI5. It is delivered from the HTTP endpoint upon the first request, following best practices for modern web applications.
17
17
18
18
### Content-Security-Policy
19
19
To enhance security, abap2UI5 uses a Content Security Policy (CSP) by default. CSP helps prevent attacks like cross-site scripting (XSS) and data injection by restricting which resources the browser is allowed to load.
Copy file name to clipboardExpand all lines: docs/development/messages.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -128,7 +128,7 @@ METHOD z2ui5_if_app~main.
128
128
ENDMETHOD.
129
129
```
130
130
#### Uncatched Errors
131
-
What happens if errors are uncaught? In this case, the default HTTP handler exception output is used. The processing is interrupted and the user need to restart the browser. So only use this for unexpected behaviour:
131
+
What happens if errors are uncaught? In this case, the default HTTP handler exception output is used. The processing is interrupted and the user need to refresh the browser. So only use this for unexpected behaviour:
Copy file name to clipboardExpand all lines: docs/development/model.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,11 @@ outline: [2, 4]
3
3
---
4
4
# Model
5
5
6
-
there are three different ways to exchange data with the frontend.
6
+
There are three ways to exchange data with the frontend in abap2UI5.
7
7
8
-
#### OneWay Binding
8
+
#### One-Way Binding
9
9
10
-
If you just need to display data to the frontend, and now changes must be made, you just use oneway binding with the method `client->_bind`and the framework sends the data to the frontend and connects it with the view:
10
+
When you need to display data on the frontend without allowing any changes, use one-way binding. The `client->_bind`method sends the data to the frontend and connects it to the view:
11
11
```abap
12
12
CLASS z2ui5_cl_app_hello_world DEFINITION PUBLIC.
13
13
@@ -29,10 +29,10 @@ CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
29
29
ENDMETHOD.
30
30
ENDCLASS.
31
31
```
32
-
Same works for tables, trees are other deep data structures. Check out the samples repository and take a look to the table or tree samples.
32
+
This method also works for tables, trees, and other complex data structures. For more details, refer to the samples repository and explore the table or tree samples.
33
33
34
-
#### TwoWay Binding
35
-
If the user should be able top change the data, you habe to make sure that the data will also be updated in the ABAP backend. Therefor use two way binding and use the mehtod `client->_bind_edit`. After an event the framework will update the value in you abap class.
34
+
#### Two-Way Binding
35
+
If the user should be able to modify data, enable two-way binding to update data in the ABAP backend. Use the `client->_bind_edit` method so that after an event, the framework will synchronize the data with your ABAP class.
36
36
37
37
```abap
38
38
CLASS z2ui5_cl_app_hello_world DEFINITION PUBLIC.
@@ -63,12 +63,8 @@ CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
63
63
ENDCLASS.
64
64
```
65
65
66
-
::: tip **Data in Public Attributes**
67
-
Be aware that in both cases the binded data is public attribute in your class, because the framework needs to access it from outside. A bit like in the old pbo/pai screen days where the needed t be saved in global attributes too.
68
-
:::
69
-
70
66
#### Local Binding
71
-
If you only have access to the data locally but still want to bind it, you have the chance to use bind local. This is especcially helpful for value helps when no changes at the frontend are made and dont need to chenge the data in the app logic. the framework will imeediatley copy the data in the bind method and then sned it to the frontend:
67
+
When you only have local access to data but want to bind it for display (e.g., for a value help or lookup), use local binding. The `client->_bind_local` method copies the data and sends it to the frontend without impacting backend logic:
72
68
73
69
```abap
74
70
CLASS z2ui5_cl_app_hello_world DEFINITION PUBLIC.
@@ -82,7 +78,7 @@ CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
82
78
METHOD z2ui5_if_app~main.
83
79
84
80
DATA(lv_name) TYPE string.
85
-
81
+
86
82
client->view_display( z2ui5_cl_xml_view=>factory(
87
83
)->page( 'abap2UI5 - Hello World'
88
84
)->text( text = `My Text`
@@ -92,5 +88,8 @@ CLASS z2ui5_cl_app_hello_world IMPLEMENTATION.
92
88
ENDMETHOD.
93
89
ENDCLASS.
94
90
```
91
+
For an example of local binding in action, see the value help use case in `Z2UI5_CL_DEMO_APP_002`.
95
92
96
-
Check out the `Z2UI5_CL_DEMO_APP_002` to see the value help use case for local binding in action.
93
+
::: tip **Data in Public Attributes**
94
+
Be aware that you need to store your data in pubic attributes of your class when using One-Way or Two-Way binding, because the framework needs to access it from outside. This is similar to the PBO/PAI screen days, where data needed to be stored in global variables.
Copy file name to clipboardExpand all lines: docs/development/troubleshooting.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,18 +5,18 @@ outline: [2, 4]
5
5
# Troubleshooting
6
6
7
7
### Backend
8
-
Just set a breakpoint in your abap2UI5 app and debug your code. Check if the XML view is correctly generated and check if all events are triggerd in the backend.
8
+
Set a breakpoint in your abap2UI5 app to debug your code. Verify that the XML view is generated correctly and check that all events are triggered on the backend as expected.
9
9
10
10
### Frontend
11
-
At the frontend abap2UI5 is a normal UI5 app, all common tools and debug features can be used.
11
+
On the frontend, abap2UI5 behaves like a standard UI5 app, so you can use all typical tools and debugging features.
12
12
13
13
##### Debugging Tools
14
-
First press `ctrl+F12`and open the build in debugge tools of abap2UI5:
14
+
To begin, press `Ctrl+F12`to open the built-in debugger tools in abap2UI5
15
15

16
-
You can check the XML View and Data Model which is binded to the view.
16
+
Here, you can inspect the XML View and check the Data Model bound to the view.
17
17
18
18
##### UI5 Inspector
19
19
20
-
Another option is to use the defaule SAP debugger tools by using the [UI5 Inspector.](https://chromewebstore.google.com/detail/ui5-inspector/bebecogbafbighhaildooiibipcnbngo?hl=es)
20
+
Another useful option is SAP’s default debugging tool, the [UI5 Inspector.](https://chromewebstore.google.com/detail/ui5-inspector/bebecogbafbighhaildooiibipcnbngo?hl=es)
Copy file name to clipboardExpand all lines: docs/development/view.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
outline: [2, 4]
3
3
---
4
4
# View
5
-
Output is generated by importing an UI5 XML View into abap2UI5. Here is a basic example:
5
+
Output in abap2UI5 is generated by importing a UI5 XML View. Here’s a basic example:
6
6
7
7
```abap
8
8
METHOD z2ui5_if_app~main.
@@ -32,4 +32,6 @@ You can use any UI5 control available in the UI5 SDK. However, working with XML
32
32
33
33
ENDMETHOD.
34
34
```
35
-
Check the API of the class and use code completion to easily find the right controls and properties. Additionally, it’s recommended to explore the sample repository, where pre-written XML examples for most use cases are available for easy copy, paste, and adjustment to fit your needs. Currently, this setup is quite static; we’ll explore how to bind and exchange data in the next section.
35
+
Check the API of the class `Z2UI5_CL_XML_VIEW` and use code completion to easily find the right controls and properties. Additionally, it’s recommended to explore the sample repository, where pre-written XML examples for most use cases are available for easy copy, paste, and adjustment to fit your needs.
36
+
37
+
Currently, this setup is quite static; we’ll explore how to bind and exchange data in the next section.
0 commit comments