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
abap2UI5 provides a collection of built-in popups with basic functionality, as demonstrated [here.](/development/popups) However, for more advanced popup requirements, this addon provides additional options, including:
8
+
abap2UI5 provides a collection of built-in popups for the most common requirements. For more advanced popup requirements, this addon provides additional popups, including:
Installing this project enables abap2UI5 to use class attributes typed at runtime.
5
+
abap2UI5 serializes your app instances to ensure stateless behavior in client communication. Unfortunately, the sap standard transformation features are limited, for example not supporting local types created at runtime. Fortunately the project S-RTTI fills this gap. Install it and make full use of dynamic popups, typing, and runtime-created apps.
Downporting the Source Code of abap2UI5 offers the possibilty to install this project on releases lower than ABAP 7.50. Check out [this blog post](https://www.linkedin.com/pulse/running-abap2ui5-older-r3-releases-downport-compatibility-abaplint-mjkle/) for more information.
3
+
abap2UI5 works out of the box with ABAP version 750. If you are on a lower release, you can install the downported repositories. <br>
4
4
5
-
All downported versions of abap2UI5 and addons can be found [here.](https://github.com/abap2UI5-downported/)
6
-
7
-
#### Manual Steps / Known Issues
8
-
Adjusted ABAP SQL to OpenSQL: Correct Position of where eg. "WHERE id = id." <br>
Renaming of abap2UI5 Artifacts allows multiple installations of this project in the same system. Check out [this blog article](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/) for further information and use cases.
3
+
Renaming of abap2UI5 Artifacts allows multiple installations of this project in the same system.
4
+
5
+
All renamed versions of abap2UI5 and its addons can be found here: <br>
Check out this blog article for further information: <br>
10
+
[Renaming of ABAP Artifacts - The Power of abaplint & abapGit in ABAP Development](https://www.linkedin.com/pulse/renaming-abap-artifacts-power-abaplint-github-actions-development-kqede/)
In Private and On-Premise 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 [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)
abap2UI5 offers flexible ways to manage authorization handling. It doesn’t include a built-in authorization mechanism, allowing developers to create their own solutions either at the service or application level.
4
+
5
+
### Service-Level Authorization
6
+
One of the easiest ways to manage access to different apps is by implementing checks within the HTTP handler. This approach allows the developer to restrict access to individual apps based on the APP_START parameter, directly in the ICF service handler class.
7
+
8
+
##### Example: Restricting Access Based on URL Parameters
9
+
In this example, we use the ICF handler class to control which apps can be accessed based on the APP_START parameter in the HTTP request. If an unauthorized app is requested, access is denied.
Alternatively, you can handle authorization within individual app classes. This approach is useful if you want to delegate authorization to each app, ensuring that it checks user permissions before performing any actions.
78
+
79
+
##### Example: Authorization Check in an App Class
80
+
In this method, each app is responsible for checking the user’s permissions, similar to how it's done in traditional SAP ABAP applications.
81
+
abap
82
+
```abap
83
+
CLASS z2ui5_cl_demo_app_001 DEFINITION PUBLIC.
84
+
PUBLIC SECTION.
85
+
INTERFACES z2ui5_if_app.
86
+
PROTECTED SECTION.
87
+
PRIVATE SECTION.
88
+
ENDCLASS.
89
+
90
+
CLASS z2ui5_cl_demo_app_001 IMPLEMENTATION.
91
+
92
+
METHOD z2ui5_if_app~main.
93
+
" Perform an authorization check before launching the app
94
+
AUTHORITY-CHECK OBJECT 'Z_APP_AUTH'
95
+
ID 'APP' FIELD 'Z2UI5_APP_001'.
96
+
97
+
IF sy-subrc <> 0.
98
+
" Authorization failed, deny access
99
+
RETURN.
100
+
ENDIF.
101
+
102
+
" Continue with app processing if authorized
103
+
" (App logic goes here)
104
+
ENDMETHOD.
105
+
106
+
ENDCLASS.
107
+
```
108
+
109
+
::: tip Information
110
+
If you don't implement authorization checks at the app level, make sure that end users cannot bypass service-level authorization checks by navigating between apps.
0 commit comments