Skip to content

Commit 9440a5d

Browse files
Merge branch 'sap-tutorials:main' into main
2 parents fc59244 + d7d42b6 commit 9440a5d

File tree

274 files changed

+2689
-675
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

274 files changed

+2689
-675
lines changed

.reuse/dep5

Lines changed: 0 additions & 30 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Default templates for SAP open source repositories, including LICENSE, .reuse/de
66

77
## To-Do
88

9-
In case you are the maintainer of a new SAP-toturials open source project, these are the steps to do with the template files:
9+
If you are the maintainer of a new SAP-toturials open source project, these are the steps to do with the template files:
1010

1111
- Check if the default license (Apache 2.0) also applies to your project. A license change should only be required in exceptional cases. If this is the case, please change the [license file](LICENSE).
1212
- Enter the correct metadata for the REUSE tool. See our [wiki page](https://wiki.wdf.sap.corp/wiki/display/ospodocs/Using+the+Reuse+Tool+of+FSFE+for+Copyright+and+License+Information) for details how to do it. You can find an initial .reuse/dep5 file to build on. Please replace the parts inside the single angle quotation marks < > by the specific information for your repository and be sure to run the REUSE tool to validate that the metadata is correct.

REUSE.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version = 1
2+
SPDX-PackageName = "abap-core-development"
3+
SPDX-PackageSupplier = "julie.plummer@sap.com"
4+
SPDX-PackageDownloadLocation = "<https://github.com/sap-tutorials/abap-core-development"
5+
SPDX-PackageComment = "The code in this project may include calls to APIs (\"API Calls\") of\n SAP or third-party products or services developed outside of this project\n (\"External Products\").\n \"APIs\" means application programming interfaces, as well as their respective\n specifications and implementing code that allows software to communicate with\n other software.\n API Calls to External Products are not licensed under the open source license\n that governs this project. The use of such API Calls and related External\n Products are subject to applicable additional agreements with the relevant\n provider of the External Products. In no event shall the open source license\n that governs this project grant any rights in or to any External Products,or\n alter, expand or supersede any terms of the applicable additional agreements.\n If you have a valid license agreement with SAP for the use of a particular SAP\n External Product, then you may make use of any API Calls included in this\n project's code for that SAP External Product, subject to the terms of such\n license agreement. If you do not have a valid license agreement for the use of\n a particular SAP External Product, then you may only make use of any API Calls\n in this project for that SAP External Product for your internal, non-productive\n and non-commercial test and evaluation of such API Calls. Nothing herein grants\n you any rights to use or access any SAP External Product, or provide any third\n parties the right to use of access any SAP External Product, through API Calls."
6+
7+
[[annotations]]
8+
path = "**"
9+
precedence = "aggregate"
10+
SPDX-FileCopyrightText = "2022 SAP SE or an SAP affiliate company and abap-core-development contributors"
11+
SPDX-License-Identifier = "CC-BY-4.0"

tutorials/abap-custom-ui-bas-connect-s4hc/abap-custom-ui-bas-connect-s4hc.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ auto_validation: true
44
time: 20
55
tags: [ tutorial>beginner, topic>cloud, tutorial>license, products>sap-business-technology-platform, products>sap-business-application-studio ]
66
primary_tag: topic>abap-extensibility
7-
author_name: Ulrike Liebherr
8-
author_profile: https://github.com/Liebherr
7+
author_name: Peter Persiel
8+
author_profile: https://github.com/peterpersiel
99
---
10-
<!--DONE with E1Y-->
10+
<!--DONE with E1Y (https://dlm.wdf.sap.corp/launchpad/portal/#/Search/e1y -> https://my300098.s4hana.ondemand.com/ and btp trial -->
1111
# Connect SAP Business Application Studio and SAP S/4HANA Cloud System
1212
<!-- description --> For key user extensibility connect SAP Business Application Studio and an SAP S/4HANA Cloud system using SAML assertion authentication to develop custom UIs.
1313

@@ -21,7 +21,7 @@ author_profile: https://github.com/Liebherr
2121

2222
**Additional Infos**
2323
> - If you want to create a custom SAP Fiori app with developer extensibility check out [Develop an SAP Fiori App to Trigger Purchase Requisitions API](https://developers.sap.com/group.sap-fiori-app-purchase-req.html)
24-
> - Tutorial last updated with SAP S/4HANA Cloud Release 2302
24+
> - Tutorial last checked for feasibility with SAP S/4HANA Cloud Release 2408
2525
2626
**Prerequisites for SAP BTP customer account**
2727

@@ -71,24 +71,24 @@ Although this tutorial describes the flow with a trial account, the sequence is
7171

7272
| Field Name | Value
7373
| :------------- | :-------------
74-
| Name | **`<YOUR_SYSTEMS_ID>_SAML_ASSERTION`**
75-
| Type | **`HTTP`**
76-
| Description | **`SAML Assertion Destination to SAP S/4HANA Cloud system <YOUR_SYSTEMS_ID>`**
77-
| URL | In the SAP S/4HANA Cloud system, navigate to the **Communication Systems** app and copy the **Host Name** from **Own SAP Cloud System** = `Yes`<div>![Own System Host Name in Communication Systems App](s4hc-cs-own-system-host-name.png)</div> and paste it with prefix `https://` for example `https://my12345-api.s4hana.ondemand.com.`
78-
| Proxy Type | **`Internet`**
79-
| Authentication | **`SAMLAssertion`**
80-
| Audience | Enter the URL of your system and remove `-api`, for example `https://my12345.s4hana.ondemand.com`.
74+
| `Name` | **`<YOUR_SYSTEMS_ID>_SAML_ASSERTION`**
75+
| `Type` | **`HTTP`**
76+
| `Description` | **`SAML Assertion Destination to SAP S/4HANA Cloud system <YOUR_SYSTEMS_ID>`**
77+
| `URL` | In the SAP S/4HANA Cloud system, navigate to the **Communication Systems** app, click the **Own SAP Cloud System** button, copy the **Host Name** <div>![Own System Host Name in Communication Systems App](s4hc-cs-own-system-host-name.png)</div> and paste it with prefix `https://` for example `https://my12345-api.s4hana.ondemand.com.`
78+
| `Proxy Type` | **`Internet`**
79+
| `Authentication` | **`SAMLAssertion`**
80+
| `Audience` | Copy and paste the `OAuth 2.0 SAML2 Audience` from the **Own SAP Cloud System**.
8181
| `AuthnContextClassRef` | **`urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession`**
8282

8383
Select **New Property** and maintain the following **Additional Properties** and values.
8484

8585
| Field Name | Value | Remark
8686
| :------------- | :------------- | :-------------
87-
| HTML5.DynamicDestination | **`true`** |&nbsp;
88-
| HTML5.Timeout | **`60000`** | value stated in milliseconds. 60000 equals 1 minute. Required as deployment needs longer than the standard of 30 seconds.
87+
| `HTML5.DynamicDestination` | **`true`** |&nbsp;
88+
| `HTML5.Timeout` | **`60000`** | value stated in milliseconds. 60000 equals 1 minute. Required as deployment needs longer than the standard of 30 seconds.
8989
| `WebIDEEnabled` | **`true`** |&nbsp;
9090
| `WebIDEUsage` | **`odata_abap,dev_abap`** |&nbsp;
91-
| `nameIDFormat` | **`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`** | Required in case your subaccount sends the e-mail address as SAML Subject Name Identifier for authentication (configured as **Subject Name Identifier** in its SAP Cloud Identity Service Application, see [Tutorial: SAP Business Technology Platform Neo Environment](abap-custom-ui-trust-settings)), although SAP S/4HANA Cloud system expects user login by default. **That is the case with a trial Account.** This also requires the e-mail address to be maintained for SAP S/4HANA Cloud system business users.
91+
| `nameIDFormat` | **`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`** | Required in case your subaccount sends the e-mail address as SAML Subject Name Identifier for authentication (configured as **Subject Name Identifier** in its SAP Cloud Identity Service Application, see [Tutorial: Set Up Trust Between SAP Cloud Identity Services and SAP BTP Cloud Foundry Environment](abap-custom-ui-trust-cf)), although SAP S/4HANA Cloud system expects user login by default. **That is the case with a trial Account.** This also requires the e-mail address to be maintained for SAP S/4HANA Cloud system business users.
9292

9393
8. Make sure that the **Use default JDK truststore** checkbox is ticked.
9494

tutorials/abap-custom-ui-bas-develop-s4hc/abap-custom-ui-bas-develop-s4hc.md

Lines changed: 59 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ auto_validation: true
44
time: 25
55
tags: [ tutorial>beginner, topic>cloud, tutorial>license, products>sap-business-technology-platform, products>sap-business-application-studio ]
66
primary_tag: topic>abap-extensibility
7-
author_name: Ulrike Liebherr
8-
author_profile: https://github.com/Liebherr
7+
author_name: Peter Persiel
8+
author_profile: https://github.com/peterpersiel
99
---
1010

1111
# Develop a Custom UI for an SAP S/4HANA Cloud System
@@ -25,7 +25,7 @@ author_profile: https://github.com/Liebherr
2525
**Additional Info**
2626
> - This tutorial illustrates all the needed steps to build a UI with all SAPUI5 options in SAP Business Application Studio, test it, and get it into the SAP S/4HANA Cloud system. If you only require a generated UI and maybe adapting it with restricted options within the SAP S/4HANA Cloud system (in-app-extensibility) check out [Generate the UI for a Custom Business Object and grant Access](abap-extensibility-cbo-ui-generation) and [Adapt the UI of a Business Object](abap-extensibility-cbo-ui-adaptation)
2727
> - If you want to create a custom SAP Fiori app with developer extensibility check out [Develop an SAP Fiori App to Trigger Purchase Requisitions API](https://developers.sap.com/group.sap-fiori-app-purchase-req.html)
28-
> - Tutorial last updated with SAP S/4HANA Cloud Release 2302
28+
> - Tutorial last checked for feasibility with SAP S/4HANA Cloud Release 2408
2929
3030
---
3131

@@ -62,21 +62,22 @@ SAP Business Application Studio offers UI generators with a wizard approach to c
6262

6363
![Open Dev Space](bas-dev-space-open.png)
6464

65-
3. Go to **View > Command Palette...**.
65+
3. Click the three lines on top of the navigation to open **View > Command Palette...**.
6666

6767
![Open "Find Command"](bas-command-palette.png)
6868

69-
4. Search for command **Fiori: Open Application Generator** and select it.
69+
4. Search for command **>Fiori: Open Application Generator** and execute it.
7070

7171
![search and choose "Fiori: Open Application Generator" command](bas-command-palette-fiori-app-gen.png)
7272

7373

7474

75-
### Select floorplan
75+
### Select UI Project Template
7676

77-
For **Template Type**, select the default **SAP Fiori** (1), choose **List Report Page** (2) as **Floorplan** and click **Next** (3).
77+
As UI project template choose **List Report Page** (1) and click **Next** (2).
7878

79-
![UI Wizard: Floorplan Selection](bas-appgen-floorplan-sel.png)
79+
<!--border-->
80+
![UI Wizard: UI Project Template Selection](bas-appgen-floorplan-sel.png)
8081

8182

8283
### Select Data Source
@@ -98,6 +99,7 @@ During the **Data Source and Service Selection** step, you define which system a
9899

99100
In this step you define the root node for your UI in the OData service.
100101

102+
<!--border-->
101103
![UI Wizard: Select Entity](bas-appgen-entity-sel.png)
102104

103105
1. As **Main Entity**, select the custom business object root node `YY1_BONUSPLAN`.
@@ -109,6 +111,7 @@ In this step you define the root node for your UI in the OData service.
109111

110112
In this step, you set project attributes and choose to add further optional configurations.
111113

114+
<!--border-->
112115
![UI Wizard: Set Project Attributes](bas-appgen-proj-attrs.png)
113116

114117
1. Define a **Module name**, which will later be the folder name of the UI Project and - in combination with optional namespace - the application ID in SAP S/4HANA Cloud system. Example: `bonusplans`
@@ -126,6 +129,7 @@ In this step, you set project attributes and choose to add further optional conf
126129

127130
In this step, you define where you want the UI project to be deployed to as a runnable application.
128131

132+
<!--border-->
129133
![UI Wizard: Configure Deployment Settings](bas-appgen-deploy-config.png)
130134

131135
1. Leave the default `ABAP` as **target** platform and as **Destination** the one you have created earlier (see [Connect SAP Business Application Studio and SAP S/4HANA Cloud system](abap-custom-ui-bas-connect-s4hc)).
@@ -146,6 +150,7 @@ npx fiori add deploy-config
146150

147151
The SAP Fiori launchpad (FLP) configuration is required to embed your application as a tile into the FLP.
148152

153+
<!--border-->
149154
![UI Wizard: Configure FLP settings](bas-appgen-flp-config-finish.png)
150155

151156
1. Set a **Semantic Object**, for example `bonusplan`
@@ -161,21 +166,22 @@ The UI project is now being generated and dependencies are being installed. This
161166

162167
![Installation toast on bottom Right](bas-appgen-installing-after-finish.png)
163168

164-
Once the generation finished a pop up appears to ask if and how to open it. Choose **Open Folder**
169+
Once the generation finished a pop up appears to ask if and how to open it. Choose **Add project to workspace**
165170

166-
![Open project folder pop up](bas-appgen-open-folder-after-finish.png)
171+
<!--border-->
172+
![Add project to workspace pop up](bas-appgen-open-folder-after-finish.png)
167173

168174
>Note that you can also configure the launchpad later via the command line interface by using the following command:
169175
```Shell/Bash
170176
npx fiori add flp-config
171177
```
172178

173179

174-
### Open UI project folder
180+
### Open UI project folder (optional)
175181

176-
In case your SAP Business Application Studio's explorer does not show the project, do the following.
182+
In case your SAP Business Application Studio's explorer does not show the project, do the following.
177183

178-
1. To view the newly created project in the explorer, select **Open Folder**.
184+
1. To view the newly created project in the explorer with all features, select **Open Folder**.
179185

180186
![Choose Open Folder Option](bas-open-folder.png)
181187

@@ -189,22 +195,46 @@ In case your SAP Business Application Studio's explorer does not show the projec
189195

190196
In this step, you can test the UI with the preview functionality.
191197

192-
1. Right-click the project folder and choose **Preview Application** from the context menu.
198+
1. After Opening the project, Business Application Studio also opens an **Application Info** tab. In its **What you can do** section click the **Preview Application** tile.
193199

200+
<!--border-->
194201
![Start Preview](bas-preview-start.png)
195202

203+
> Note that in case there is no Application Info tab you can open it from the context menu of the project
204+
>
205+
> <!--border-->
206+
> ![Open Application Info tab](bas-open-appl-info.png)
207+
196208
2. Select the `start` option, which will perform a preview based on the configured data source system, retrieve real data and enable you to create, edit and delete data in that system.
197209

210+
<!--border-->
198211
![Choose start preview option](bas-preview-system-data.png)
199212

200213
A terminal is opened that automatically executes the underlying command.
201214

215+
<!--border-->
202216
![At preview opening terminal](bas-preview-terminal.png)
203217

204218
Once the command has reached the required state, a new browser tab with the preview is opened.
205219

220+
> Alternatively to Preview from Application Info tab, you can open a terminal for your project by right-clicking it and choosing **Open in Integrated Terminal** from the context menu.
221+
>
222+
>![Open Project in Integrated Terminal](bas-open-project-in-terminal.png)
223+
>
224+
> In the `cli` (command line interface) terminal, enter the following command:
225+
>
226+
>```Shell/Bash
227+
>npm run start
228+
>```
229+
>
230+
><!--border-->
231+
>![Enter preview command in cli](bas-cli-enter-preview-command.png)
232+
>
233+
>Press return.
234+
206235
3. To view existing entries, select **GO** or **Create** to add a new entry.
207236
237+
<!--border-->
208238
![Resulting preview browser tab](bas-preview-result.png)
209239
210240
@@ -213,28 +243,30 @@ In this step, you can test the UI with the preview functionality.
213243
214244
Once the UI is set up to your needs, you can deploy it to the development SAP S/4HANA Cloud system, where it can be tested and transported to test or productive tenants.
215245
216-
1. Open a terminal for your project by right-clicking it and choosing **Open in Integrated Terminal** from the context menu.
217-
218-
![Open Project in Integrated Terminal](bas-open-project-in-terminal.png)
219-
220-
2. In the `cli` (command line interface) terminal, enter the following command:
246+
1. In the **Application Info** tab, section **What you can do** click the **Deploy** tile
221247
222-
```Shell/Bash
223-
npm run deploy
224-
```
225-
![Enter deploy command in cli](bas-cli-enter-deploy-command.png)
248+
<!--border-->
249+
![Start Preview](bas-deploy-start.png)
226250
227-
Press return.
251+
> Alternatively to Application Info, in the `cli` (command line interface) terminal, enter the following command:
252+
>
253+
>```Shell/Bash
254+
>npm run start
255+
>```
256+
>
257+
>![Enter deploy command in cli](bas-cli-enter-deploy-command.png)
258+
>
259+
>Press return.
228260
229-
3. Check the deployment configuration.
261+
2. Check the deployment configuration.
230262
231263
![Check deployment configuration in command output](bas-cli-check-deploy-config.png)
232264
233-
4. Confirm the deployment by entering `y`
265+
3. Confirm the deployment by entering `y`
234266
235267
![Confirm deployment configuration](bas-cli-confirm-deployment.png)
236268
237-
5. Deployment will start, which might take a while.
269+
4. Deployment will start, which might take a while.
238270
239271
![Deployment log](bas-cli-deployment-log.png)
240272
54.4 KB
Loading
31 KB
Loading
41.2 KB
Loading
44.5 KB
Loading
24.1 KB
Loading

0 commit comments

Comments
 (0)