|
| 1 | +--- |
| 2 | +parser: v2 |
| 3 | +author_name: Achim Seubert |
| 4 | +author_profile: https://github.com/achimseubert |
| 5 | +auto_validation: true |
| 6 | +time: 30 |
| 7 | +tags: [ tutorial>beginner, programming-tool>abap-development, software-product>sap-business-technology-platform] |
| 8 | +primary_tag: software-product>sap-btp--abap-environment |
| 9 | +--- |
| 10 | + |
| 11 | +# Set SAP BTP, ABAP Environment as a Content Provider for SAP Build Work Zone, standard edition |
| 12 | +<!-- description --> Expose launchpad content of a SAP BTP, ABAP Environment system to the SAP Build Work Zone, standard edition of a subaccount on SAP Business Technology Platform. |
| 13 | + |
| 14 | +## Prerequisites |
| 15 | + - You have subscribed to the [SAP Build Work Zone, standard edition](https://help.sap.com/docs/WZ_STD) in the subaccount where the content shall be consumed and your user is assigned to the `Launchpad_Admin` role collection. To subscribe to the SAP Build Work Zone, standard edition and assign the role collection, see ["Set Up the SAP Launchpad Service"](cp-portal-cloud-foundry-getting-started). |
| 16 | + - Your user in the SAP BTP, ABAP environment system is assigned to the `SAP_BR_ADMINISTRATOR` role. See [Assigning the ABAP Environment Administrator Role to the New Administrator User](https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/ad888b0ab0a74665a22e0a58ef9e9100.html?version=Cloud). |
| 17 | + |
| 18 | +## You will learn |
| 19 | + - How to set up a communication arrangement for communication scenario `SAP_COM_0647` |
| 20 | + - How to expose the launchpad content of a business role to the SAP Build Work Zone, standard edition |
| 21 | + - How to create the necessary destinations in the SAP BTP subaccount |
| 22 | + - How to create a content provider |
| 23 | + - How to create a launchpad site and add the exposed content |
| 24 | +--- |
| 25 | + |
| 26 | +### Create a Communication System |
| 27 | + |
| 28 | + |
| 29 | +1. Open the `Communication Systems` app from the SAP Fiori Launchpad in your SAP BTP, ABAP environment system. |
| 30 | + |
| 31 | +2. Create a new communication system. |
| 32 | + |
| 33 | + - System ID and System name: `COMMSYS_CONTENTFEDERATION_DEMO` |
| 34 | + |
| 35 | + - Host Name: Callback URL, which is needed for setting up content change notifications. For example, for region **EU10**, the URL is `portal-service.cfapps.eu10.hana.ondemand.com`. |
| 36 | + |
| 37 | + - Port: `443` |
| 38 | + |
| 39 | + <!-- border --> |
| 40 | + |
| 41 | +3. Add a technical user for inbound communication: |
| 42 | + |
| 43 | + <!-- border --> |
| 44 | + |
| 45 | + - Choose authentication method `User Name and Password`. |
| 46 | + |
| 47 | + <!-- border --> |
| 48 | + |
| 49 | + - User Name: `COMMUNICATIONSYSTEM_INBOUND_USER` |
| 50 | + |
| 51 | + - Description: `Inbound user for communication system` |
| 52 | + |
| 53 | + - Let the system generate a password. Do not forget to note the password for later use in `Step 6` (Create Design-Time destination). |
| 54 | + |
| 55 | + <!-- border --> |
| 56 | + |
| 57 | +4. Similarly add a technical user for outbound communication with `Authentication Method` `None`. |
| 58 | + |
| 59 | + <!-- border --> |
| 60 | + |
| 61 | +5. To save the communication system, select `Save`. |
| 62 | + |
| 63 | + |
| 64 | +### Create the Communication Arrangement |
| 65 | + |
| 66 | + |
| 67 | +1. Open the `Communication Arrangements` app from the SAP Fiori Launchpad and select `New`. |
| 68 | + |
| 69 | +2. In the `New Communication Arrangement` dialog choose communication scenario `SAP_COM_0647`. |
| 70 | + |
| 71 | +3. Select `Create`. |
| 72 | + |
| 73 | +4. In the `Common Data` section, set the following values |
| 74 | + |
| 75 | + - Arrangement Name: `SAP_COM_0647` |
| 76 | + |
| 77 | + - Communication System: `COMMSYS_CONTENTFEDERATION_DEMO` |
| 78 | + |
| 79 | + - Logical Target Identifier: `LNCHPD_INTG_TGT` |
| 80 | + |
| 81 | + <!-- border --> |
| 82 | + |
| 83 | +5. Enter the job execution details for scheduling the SAP Fiori Launchpad content exposure job every 10 minutes. |
| 84 | + |
| 85 | +6. Select `Save`. |
| 86 | + |
| 87 | + |
| 88 | +### Select Roles for Exposure to SAP Build Work Zone, standard edition |
| 89 | + |
| 90 | + |
| 91 | +1. In the `Maintain Business Roles` app, search for business role ID `SAP_BR_ADMINISTRATOR`. |
| 92 | + |
| 93 | +3. Select business role `SAP_BR_ADMINISTRATOR`. |
| 94 | + |
| 95 | +4. Choose `Expose to SAP Launchpad Service`. |
| 96 | + |
| 97 | + <!-- border --> |
| 98 | + |
| 99 | +> The content related to the exposed business role, such as groups, catalogs, pages, or spaces, can be consumed by the SAP Build Work Zone, standard edition as soon as the job, which you have configured in the previous step, has run successfully. |
| 100 | +
|
| 101 | + |
| 102 | +### Configure Communication between the SAP BTP Subaccount and the SAP BTP, ABAP Environment System |
| 103 | + |
| 104 | + |
| 105 | +1. In the SAP BTP cockpit, download the trust certificate of the subaccount runtime destinations by navigating to `Connectivity` > `Destinations`. |
| 106 | + |
| 107 | +2. Select `Download Trust`. |
| 108 | + |
| 109 | + <!-- border --> |
| 110 | + |
| 111 | +3. Open the `Communication Systems` app from the SAP Fiori launchpad in your SAP BTP, ABAP environment system. |
| 112 | + |
| 113 | +4. Create a new communication system by setting the following values. |
| 114 | + |
| 115 | + - System ID: `SUBACCOUNT_SYSTEM_COMMUNICATION` |
| 116 | + |
| 117 | + - System Name: `SUBACCOUNT_SYSTEM_COMMUNICATION` |
| 118 | + |
| 119 | + - Select `Inbound only` |
| 120 | + |
| 121 | + - Set `SAML Bearer Assertion Provider` to `ON` |
| 122 | + |
| 123 | + - Upload the certificate file you downloaded from your subaccount as the Signing Certificate. |
| 124 | + |
| 125 | + - Enter the value of the certificate's CN attribute as `SAML Bearer Issuer`. |
| 126 | + |
| 127 | + <!-- border --> |
| 128 | + |
| 129 | +5. To save the communication system, select `Save`. |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | +### Protect Launchpad Content Against Clickjacking |
| 135 | + |
| 136 | + |
| 137 | +1. Open the `Maintain Protection Allowlists` app from the SAP Fiori launchpad in your SAP BTP, ABAP environment system. |
| 138 | + |
| 139 | +2. On the Clickjacking Protection tab page, choose `Create` to add a new host. On the `Add Trusted Host` screen, enter the following data: |
| 140 | + |
| 141 | + - Trusted Host Name: `<subdomain>.launchpad.cfapps.<region>.hana.ondemand.com` |
| 142 | + |
| 143 | + - Schema: `HTTPS` |
| 144 | + |
| 145 | + - Port: `443` |
| 146 | + |
| 147 | +3. Select `Save`. |
| 148 | + |
| 149 | + |
| 150 | + |
| 151 | +### Create the Design-Time Destination |
| 152 | + |
| 153 | +You create a design-time destination to define the location from which the SAP Build Work Zone, standard edition should fetch the exposed content. |
| 154 | + |
| 155 | +1. Navigate to the subaccount in which you have subscribed to the SAP Build Work Zone, standard edition. |
| 156 | + |
| 157 | +2. In the `Connectivity` menu, choose `Destinations`. |
| 158 | + |
| 159 | +3. Create a new destination and fill in the following fields: |
| 160 | + |
| 161 | + - Name: `Tutorial_dt` |
| 162 | + |
| 163 | + - Type: `HTTP` |
| 164 | + |
| 165 | + - Description: `Design-time destination for tutorial` |
| 166 | + |
| 167 | + - URL: Use the service URL of section `Inbound Services` in the communication arrangement created in `Step 2` (Create the Communication Arrangement). Add suffix `entities`. |
| 168 | + |
| 169 | + <!-- border --> |
| 170 | + |
| 171 | + - Proxy Type: `Internet` |
| 172 | + |
| 173 | + - Authentication: `BasicAuthentication` |
| 174 | + |
| 175 | + - User: `COMMUNICATIONSYSTEM_INBOUND_USER` (Created in `Step 1` (Create a Communication System)) |
| 176 | + |
| 177 | + - Password: Maintain password created in `Step 1` (Create the Communication System). |
| 178 | + |
| 179 | + The destination should look like this: |
| 180 | + <!-- border --> |
| 181 | + |
| 182 | +7. Select `Save`. |
| 183 | + |
| 184 | + |
| 185 | +### Create Runtime Destination for Launching Apps in an iFrame |
| 186 | + |
| 187 | + |
| 188 | +1. Create a new destination and fill in the following fields: |
| 189 | + |
| 190 | + - Name: `Tutorial_Ressources_rt` |
| 191 | + |
| 192 | + - Type: `HTTP` |
| 193 | + |
| 194 | + - Description: `Tutorial: Runtime destination for ressources` |
| 195 | + |
| 196 | + - URL: Fiori Launchpad URL of the SAP BTP, ABAP environment system |
| 197 | + |
| 198 | + - Proxy Type: `Internet` |
| 199 | + |
| 200 | + - Authentication: `NoAuthentication` |
| 201 | + |
| 202 | + - Additional Properties: (Select `New Property` to add new items) |
| 203 | + |
| 204 | + - HTML5.DynamicDestination: `true` |
| 205 | + |
| 206 | + - sap-platform: `ABAP` |
| 207 | + |
| 208 | +2. Select `Save`. |
| 209 | + |
| 210 | +Finally the destination should look like this: |
| 211 | + <!-- border --> |
| 212 | + |
| 213 | + |
| 214 | +### Create Runtime Destination for Dynamic OData access |
| 215 | + |
| 216 | + |
| 217 | +1. Create a new destination. |
| 218 | + |
| 219 | + - Name: `Tutorial_dynamic_OData_rt` |
| 220 | + |
| 221 | + - Type: `HTTP` |
| 222 | + |
| 223 | + - Description: `Tutorial: Dynamic runtime destination for OData access` |
| 224 | + |
| 225 | + - URL: SAP Fiori Launchpad URL of the SAP BTP, ABAP environment system. Replace `abap-web` with `abap`. Format: https://<`tenant`>.**`abap`**.<`region`>.hana.ondemand.com |
| 226 | + |
| 227 | + - Proxy Type: `Internet` |
| 228 | + |
| 229 | + - Authentication: `SAMLAssertion` |
| 230 | + |
| 231 | + - Audience: SAP Fiori Launchpad URL of the SAP BTP, ABAP environment system |
| 232 | + |
| 233 | + - `AuthnContextClassRef`: `urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession` |
| 234 | + |
| 235 | + - Additional Properties: (Select `New Property` to add new items) |
| 236 | + |
| 237 | + - HTML5.DynamicDestination: `true` |
| 238 | + |
| 239 | + - `nameIdFormat`: `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` |
| 240 | + |
| 241 | +2. Select `Save`. |
| 242 | + |
| 243 | +The destination should look like this: |
| 244 | + <!-- border --> |
| 245 | + |
| 246 | + |
| 247 | + |
| 248 | + |
| 249 | +### Create Content Provider |
| 250 | + |
| 251 | + |
| 252 | +1. Before you create the content provider, make sure the content is available. The content is synchronized every 10 minutes, as configured in step 2. It can take up to one hour until the first synchronization run is scheduled. To check the availability of the content, open the **Display Launchpad Content Exposure Logs** app from the SAP Fiori launchpad in your SAP BTP, ABAP environment system. Once everything has been synchronized successfully, the content is available for consumption. |
| 253 | + |
| 254 | +2. From the subaccount, navigate to `Services` > `Instances and Subscriptions` and search for the `SAP Build Work Zone, standard edition` in the search box |
| 255 | + |
| 256 | +3. Access SAP Build Work Zone, standard edition. |
| 257 | + |
| 258 | +4. Select **Provider Manager**. |
| 259 | + |
| 260 | +5. Create a new content provider. |
| 261 | + |
| 262 | + <!-- border --> |
| 263 | + |
| 264 | +6. Add title, description, ID, and the destinations created in `Step 6-8` (Create Design-Time / Runtime destination) accordingly: |
| 265 | + |
| 266 | + - Title: `Tutorial` |
| 267 | + |
| 268 | + - Description: `Content Provider tutorial` |
| 269 | + |
| 270 | + - ID: `Tutorial` |
| 271 | + |
| 272 | + - Design-Time Destinations: `Tutorial_dt` |
| 273 | + |
| 274 | + - Runtime Destination: `Tutorial_Ressources_rt` |
| 275 | + |
| 276 | + - Runtime Destination for OData: `Tutorial_dynamic_OData_rt` |
| 277 | + |
| 278 | + - Content Addition Mode: `Manual addition of selected content items` |
| 279 | + |
| 280 | +7. Select `Save`. |
| 281 | + |
| 282 | + The content provider should look like this: |
| 283 | + |
| 284 | + <!-- border --> |
| 285 | + |
| 286 | +> In the `Status` column of the table the status changes to `Created` as soon as the creation is finished. |
| 287 | +
|
| 288 | + |
| 289 | +### Choose Content in the Content Manager |
| 290 | + |
| 291 | + |
| 292 | +1. Navigate to the **Content Manager**. |
| 293 | + |
| 294 | +2. Open `Content Explorer` tab, where all the already created content providers are listed. |
| 295 | + |
| 296 | +3. Select the content provider you have created in the previous step. |
| 297 | + |
| 298 | +4. Select the `Administrator` content item and choose `Add to My Content`. |
| 299 | + |
| 300 | + <!-- border --> |
| 301 | + |
| 302 | + |
| 303 | +### Create Launchpad Site |
| 304 | + |
| 305 | + |
| 306 | +1. Navigate to the Site Directory. |
| 307 | + |
| 308 | +2. Select `Create Sites`. |
| 309 | + |
| 310 | +3. Choose a site name and select `Create`. |
| 311 | + |
| 312 | +4. Select `Edit` and move your cursor to the search box to `Search for items to assign`. |
| 313 | + |
| 314 | + |
| 315 | + <!-- border --> |
| 316 | + |
| 317 | +5. Choose the `Administrator` role (select `+`). |
| 318 | + |
| 319 | +6. Select `Save`. |
| 320 | + |
| 321 | +7. Copy and store the URL of the launchpad for later use. |
| 322 | + |
| 323 | + <!-- border --> |
| 324 | + |
| 325 | +> Now you have assigned the business role, that is exposed to the SAP Build Work Zone, standard edition, to your launchpad site. With the business role all apps that are related to this business role will be available on the launchpad site. Also, a role collection is created, which is labeled according to this format: `<Content Provider name>_<Business Role name>` |
| 326 | +
|
| 327 | + |
| 328 | +### Add Role Collection to User |
| 329 | + |
| 330 | + |
| 331 | +> To access the launchpad site you have to assign the role collection created in the previous step, to your SAP BTP, ABAP environment user in the SAP BTP cockpit. |
| 332 | +
|
| 333 | +1. Open the SAP BTP Cockpit and navigate to the subaccount of the SAP Build Work Zone, standard edition. |
| 334 | + |
| 335 | +2. Navigate to the `Users` menu. |
| 336 | + |
| 337 | +3. Search for your user and select it. |
| 338 | + |
| 339 | +5. Choose `Assign Role Collection` in the `Role Collection` section (depending on your window size, you might have to select `...` first). |
| 340 | + |
| 341 | +6. Assign the created role collection `~tutorial_SAP_BR_ADMINISTRATOR` to the user. |
| 342 | + |
| 343 | + <!-- border --> |
| 344 | + |
| 345 | + |
| 346 | +### Access Launchpad Site |
| 347 | + |
| 348 | + |
| 349 | +1. With your user, access the launchpad site via the URL stored in `Step 11`. |
| 350 | + |
| 351 | +2. Log off and log on again. This makes sure the newly assigned role collection is taken into account. |
| 352 | + |
| 353 | +The launchpad site should look like this. The groups might be in different order: |
| 354 | +<!-- border --> |
| 355 | + |
| 356 | + |
| 357 | + |
| 358 | +--- |
0 commit comments