https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Business-Technology-Platform-blog-posts.xml SAP Community - SAP Business Technology Platform 2024-05-20T20:00:44.738804+00:00 python-feedgen SAP Business Technology Platform blog posts in SAP Community https://community.sap.com/t5/melbourne-blog-posts/first-sap-tech-night-melbourne-on-13th-june-2024/ba-p/13698440 First SAP Tech Night Melbourne on 13th June 2024 2024-05-12T07:35:46.966000+02:00 Saikrishna_Sriram https://community.sap.com/t5/user/viewprofilepage/user-id/166729 <P>Hi SAP Community,&nbsp;</P><P>We are moving the SAP Tech night to June as the date concides with SAP Mastering Dates, we are organising a SAP Stammtisch event ( SAP Yarning Circle ) instead please find the details here&nbsp;</P><P><A href="https://community.sap.com/t5/melbourne-blog-posts/sap-stammtisch-melbourne-may-24/ba-p/13696323" target="_self">sap-stammtisch-melbourne-may-24</A>&nbsp;</P><P>The AWS team are happy to host the SAP Melbourne Community Tech night at their Builder Studio, the first of its kind in the souther hemisphere. I am so excited to be able to organise and be part of this event. Please find below what our friends at AWS had to say</P><P>AWS welcomes the Melbourne SAP Tech Community to the AWS Builder Studio Melbourne, the first of its kind in the Southern Hemisphere. The AWS Builder Studio encompasses 350 square metres of showroom, collaboration space and workshop in the heart of downtown Melbourne on Collins Street. The centrepiece of the AWS Builder Studio is the Innovation Showroom where you have the opportunity to discover innovation in action with industry aligned demonstrators to spark ideas.</P><P>Further details :<SPAN>&nbsp;</SPAN><A href="https://aws.amazon.com/local/australia/melbourne-builder-studio/" target="_blank" rel="noopener nofollow noreferrer">https://aws.amazon.com/local/australia/melbourne-builder-studio/</A></P><P><STRONG>Location:</STRONG><SPAN>&nbsp;</SPAN>AWS Builders Studio, L1, 555 Collins Street, Melbourne (Corner of King St and Collins St)</P><P><STRONG>Date:</STRONG><SPAN>&nbsp;</SPAN>Thursday 13th<SPAN>&nbsp;</SPAN>June, 5:30pm - 8pm</P><P>We will also have an "<SPAN>Innovation Showcase:AWS Builders Studio Tour" which will be organised&nbsp; by our friends at AWS.&nbsp;</SPAN></P><P><SPAN>Please register your interest with the below link, will help us with the count.&nbsp;</SPAN></P><P><SPAN><A href="https://community.sap.com/t5/sap-inside-track/first-sap-melbourne-tech-night-june-2024/ev-p/13677153" target="_blank">https://community.sap.com/t5/sap-inside-track/first-sap-melbourne-tech-night-june-2024/ev-p/13677153</A></SPAN></P><P>&nbsp;</P><P>If you would like to present a one of the two remaining tech nights for 2024 please get intouch with us (<A href="mailto:sapsitmelbourne@gmail.com" target="_blank" rel="noopener nofollow noreferrer">sapsitmelbourne@gmail.com</A>)&nbsp;</P><P>Fun fact, did you know that the Global Running Day is on 5th June. We might be doing something on that day, details to follow soon.&nbsp;</P><P>Cheers,</P><P>Sai</P><P>&nbsp;</P> 2024-05-12T07:35:46.966000+02:00 https://community.sap.com/t5/technology-blogs-by-members/renewal-of-custom-domain-certificate-using-the-custom-domain-manager-app/ba-p/13698109 Renewal of custom domain certificate using the Custom Domain Manager app 2024-05-13T08:00:00.024000+02:00 WouterLemaire https://community.sap.com/t5/user/viewprofilepage/user-id/9863 <H1 id="toc-hId-865465640"><SPAN>Introduction</SPAN></H1><P><SPAN>As I used certbot to sign my custom domain certificate it is only valid for 3 months and I need to renew it.</SPAN></P><P><SPAN>Last time, I used the CF CLI plugin for custom domains because CLI is just cool but also because I didn’t know if the custom domain manager application is free or costs extra. Nevertheless, I wanted to use the custom domain manager application for the renewal of the certificate to compare it with the CLI.</SPAN></P><H1 id="toc-hId-668952135"><SPAN>Preparation: Activate the custom domain manager application</SPAN></H1><P><SPAN>First, make sure you have the entitlements in your subaccount for this:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_0-1715379997463.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108844i0452B75CA563F9EB/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_0-1715379997463.png" alt="WouterLemaire_0-1715379997463.png" /></span></P><P><SPAN>Now, you should be able to subscribe to the Custom Domain Service with plan standard in your subaccount:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_1-1715379997466.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108845i427939495AEDE15F/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_1-1715379997466.png" alt="WouterLemaire_1-1715379997466.png" /></span></P><P><SPAN>Once subscribed, your subaccount contains new roles. Assign the Custom Domain Administrator role to your user:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_2-1715379997470.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108846iD45CDCC18B55751A/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_2-1715379997470.png" alt="WouterLemaire_2-1715379997470.png" /></span></P><P><SPAN>With the authorizations you can start the application. Go to "instances and subscriptions" to find the Custom Domain Manager in the list of subscriptions. Select the line and you’ll see the button “Go to Application”. This button will bring you to Custom Domain Manager application:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_3-1715379997472.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108848iEF8D782FBF144282/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_3-1715379997472.png" alt="WouterLemaire_3-1715379997472.png" /></span></P><H1 id="toc-hId-472438630"><SPAN>Renew certificate – Try 1</SPAN></H1><P><SPAN>My expectation was that I would be able to simply renew the certificate in the earlier created private key. Unfortunately, I didn’t find any button in the screen of the private key to do so, no option to request a new CSR, no update certificate,... .</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_4-1715379997478.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108849i6207C0677C2F89FA/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_4-1715379997478.png" alt="WouterLemaire_4-1715379997478.png" /></span></P><H1 id="toc-hId-275925125"><SPAN>Renew certificate – Try 2</SPAN></H1><P><SPAN>This brought me back to the CF CLI where I tried the command to get a new CSR:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_5-1715379997479.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108847i0BA1AD308459321D/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_5-1715379997479.png" alt="WouterLemaire_5-1715379997479.png" /></span></P><P><SPAN>This one clearly stated that the CSR is not available anymore. </SPAN></P><H1 id="toc-hId-79411620"><SPAN>Renew certificate – Try 3</SPAN></H1><P><SPAN>So I tried to use the previous retrieved CSR again (which I stored on my computer) to send it to certbot for signing:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_6-1715379997479.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108850i10C8D998B01061C9/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_6-1715379997479.png" alt="WouterLemaire_6-1715379997479.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_7-1715379997481.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108853iA7BE4DA87F82F45D/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_7-1715379997481.png" alt="WouterLemaire_7-1715379997481.png" /></span></P><P><SPAN>Once signed, I tried to upload it to the same private key which resulted in the following error.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_8-1715379997481.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108852i0C0275B4527D6DB7/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_8-1715379997481.png" alt="WouterLemaire_8-1715379997481.png" /></span></P><H1 id="toc-hId--117101885"><SPAN>Renew certificate – Final try</SPAN></H1><P><SPAN>When looking for SAP notes about the previous error message I found the following SAP note:</SPAN></P><P><SPAN><A href="https://me.sap.com/notes/3233828" target="_blank" rel="noopener noreferrer">https://me.sap.com/notes/3233828</A></SPAN></P><P><SPAN>This says it is not possible to use the same key for updating the certificate with a reference to the documentation: <A href="https://help.sap.com/docs/custom-domain/custom-domain-service/update-certificate" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/custom-domain/custom-domain-service/update-certificate</A></SPAN></P><P><SPAN>This means we need to create a new key every time we renew the certificate and delete the previous one afterwards:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_9-1715379997483.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108855i74DD7015D6BC6C92/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_9-1715379997483.png" alt="WouterLemaire_9-1715379997483.png" /></span></P><P><SPAN>With this new information, I went back to the “Custom Domain Service Manager” application:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_10-1715379997484.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108854i3EF2049E7DB49FAC/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_10-1715379997484.png" alt="WouterLemaire_10-1715379997484.png" /></span></P><P><SPAN>In the app I navigate to the tab “Server Certificates” followed by “ Create Server Certificate for your Custom Domains”:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_11-1715379997486.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108856i8A8FEDC232624403/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_11-1715379997486.png" alt="WouterLemaire_11-1715379997486.png" /></span></P><P><SPAN>This starts a wizard where I provided the following information:</SPAN></P><UL><LI><SPAN>Alias: a name that contains the month and year for the certificate</SPAN></LI><LI><SPAN>Key Size: I kept the default “3072”</SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_12-1715379997489.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108857iE512B73EA3A2BEC6/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_12-1715379997489.png" alt="WouterLemaire_12-1715379997489.png" /></span></P><P><SPAN>Select the landscape to apply the custom domain on:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_13-1715379997492.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108859i14CA2CDE854E7A36/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_13-1715379997492.png" alt="WouterLemaire_13-1715379997492.png" /></span></P><P>I also used the opportunity to use “*.lemaire.tech” as main domain. This allows me to use wouter.lemaire .tech but also other subdomains for “lemaire.tech” without always to have “wouter” in it<span class="lia-unicode-emoji" title=":smiling_face_with_smiling_eyes:">😊</span> . So I selected the following two:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_14-1715379997495.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108858i0EB35644B3686CA7/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_14-1715379997495.png" alt="WouterLemaire_14-1715379997495.png" /></span></P><P>All the details for the subject:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_15-1715379997499.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108860iCE03E4F42910504F/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_15-1715379997499.png" alt="WouterLemaire_15-1715379997499.png" /></span></P><P>Once the wizard is finished I was able to download the CSR:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_16-1715379997501.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108861i42641AA808A37B9F/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_16-1715379997501.png" alt="WouterLemaire_16-1715379997501.png" /></span></P><P>This opens a dialog with the certificate which you have to copy into a .pem file:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_17-1715379997512.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108862iB943DAA65DDE607D/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_17-1715379997512.png" alt="WouterLemaire_17-1715379997512.png" /></span></P><P><SPAN>This CSR (.pem) file can be used to sign it with certbot using the following command. The steps are the same as the first time when using CF CLI. The command to sign it with certbot:</SPAN></P><P><SPAN>certbot certonly --manual --csr ./csr.pem --preferred-challenges dns</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_18-1715379997517.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108865iA9DA744A92D1CFEC/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_18-1715379997517.png" alt="WouterLemaire_18-1715379997517.png" /></span></P><P>During this process I had to apply the following config in the custom domain configuration of google domains:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_19-1715379997518.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108864i72DDA674360F40BD/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_19-1715379997518.png" alt="WouterLemaire_19-1715379997518.png" /></span></P><P><SPAN>Once saved it looks like this, it still contains the previous acme record in my config:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_20-1715379997519.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108863iAD7CC78CD1382C45/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_20-1715379997519.png" alt="WouterLemaire_20-1715379997519.png" /></span></P><P>This generated again a certificat chain that can be uploaded to BTP in the Custom Domain Manager:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_21-1715379997521.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108866i1E77B1CC5E562E83/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_21-1715379997521.png" alt="WouterLemaire_21-1715379997521.png" /></span></P><P>In the Custom Domain Manager app I had to paste the certificate from the file. Certbot provided me 3 files but only the last one is needed:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_22-1715379997532.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108868i99F319D5EBAFD370/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_22-1715379997532.png" alt="WouterLemaire_22-1715379997532.png" /></span></P><P>Validate the certificate and click on next step:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_23-1715379997536.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108867iBB7B511D0D0F3D6F/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_23-1715379997536.png" alt="WouterLemaire_23-1715379997536.png" /></span></P><P>The last step is just for confirmation, just click on Finish:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_24-1715379997538.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108871i2306B81C16F8D729/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_24-1715379997538.png" alt="WouterLemaire_24-1715379997538.png" /></span></P><P><SPAN>This will result in two certificates, one that will expire soon and one which is inactive (the one you just created):</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_25-1715379997540.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108869i1A64BAD26E175F56/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_25-1715379997540.png" alt="WouterLemaire_25-1715379997540.png" /></span></P><H1 id="toc-hId--313615390"><SPAN>Activate the new Certificate</SPAN></H1><P><SPAN>Click on the newly created private key and click on “Activate”:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_26-1715379997540.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108870iABBDAF46FEFD2EEF/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_26-1715379997540.png" alt="WouterLemaire_26-1715379997540.png" /></span></P><P><SPAN>This opens a new wizard where you need to select the Subject Alternative Names which you would like to activate. I only selected “*.lemaire.tech” because I want to use it for other subdomains but not the “lemaire.tech” domain itself.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_27-1715379997542.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108872i981EC75A25D9011A/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_27-1715379997542.png" alt="WouterLemaire_27-1715379997542.png" /></span></P><P><SPAN>I just continued with the default TLS configuration:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_28-1715379997546.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108873iE49A563A6AD338E8/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_28-1715379997546.png" alt="WouterLemaire_28-1715379997546.png" /></span></P><P><SPAN>Validate the summary and confirm!</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_29-1715379997550.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108874i346ECFF29D023A03/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_29-1715379997550.png" alt="WouterLemaire_29-1715379997550.png" /></span></P><P>Final step, configure the domain in your custom domain manager (I use google domains for this):</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_30-1715379997550.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108875i8E365E913F40BFD3/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_30-1715379997550.png" alt="WouterLemaire_30-1715379997550.png" /></span></P><H1 id="toc-hId--510128895">Cleanup</H1><P>Once the new certificate is active, you can delete the previous one. Navigate to the previous certificate and click on delete:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_31-1715379997551.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108876i0D5DC5167B24F912/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_31-1715379997551.png" alt="WouterLemaire_31-1715379997551.png" /></span></P><P>After cleaning up, you should have one left:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="WouterLemaire_32-1715379997554.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108877i1026568BA818A0D6/image-size/medium?v=v2&amp;px=400" role="button" title="WouterLemaire_32-1715379997554.png" alt="WouterLemaire_32-1715379997554.png" /></span></P><H1 id="toc-hId--706642400"><SPAN>Result</SPAN></H1><P><SPAN>I have my personal website running using this domain: <A href="https://wouter.lemaire.tech" target="_blank" rel="nofollow noopener noreferrer">https://wouter.lemaire.tech</A></SPAN></P><P><SPAN>Next to that, I also used to domain to make an easy to remember url for the BTP Service overview matrix application: <A href="https://btp-services.lemaire.tech" target="_blank" rel="nofollow noopener noreferrer">https://btp-services.lemaire.tech</A></SPAN></P><P><SPAN>&nbsp;</SPAN><SPAN>My conclusion, the Custom Domain Manager application works great and makes a lot of the steps easier to execute. Nevertheless, using the CF CLI helps to better understand all the steps you need to execute. In the end, the application executes the CF CLI commands through an API with a UI on top of it which makes it more user friendly </SPAN><span class="lia-unicode-emoji" title=":winking_face:">😉</span></P> 2024-05-13T08:00:00.024000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/configuration-as-code-cac-with-destinations/ba-p/13699003 Configuration as code (CaC) with destinations. 2024-05-13T12:54:57.123000+02:00 quovadis https://community.sap.com/t5/user/viewprofilepage/user-id/743 <H1 id="toc-hId-865494464">Configuration as code (CaC) with destinations.</H1><P>Destinations are very handy and powerful mechanism to facilitate access to target systems and devices.</P><P>When it comes to SAP BTP destinations, the idea is to manage both <STRONG>subaccount</STRONG> and <STRONG>instance</STRONG> level destinations (and/or their certificates) as<SPAN>&nbsp;</SPAN><STRONG>shared</STRONG><SPAN>&nbsp;</SPAN>configuration resources on a provider subaccount level.</P><P>That way, the destinations configurations can be stored as versioned assets in a source repository and need to be maintained only once per provider, thus, without incurring application runtime tie-in.</P><P>Last but not least, BTP destination service is used as a self-configuration tool.</P><H2 id="toc-hId-798063678"><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#configuration-as-code-cac-quovadis-master" target="_blank" rel="noopener nofollow noreferrer">Configuration as code with SAP BTP destination service</A></H2><P>&nbsp;</P><TABLE border="1"><TBODY><TR><TD>Table of Contents<OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#cac-dest" target="_blank" rel="noopener nofollow noreferrer">Configuration as code with SAP BTP destination service.</A></LI><OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#create-dest-service" target="_blank" rel="noopener nofollow noreferrer">create shared destination service instance and binding</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#create-bootstrap" target="_blank" rel="noopener nofollow noreferrer">Provision bootstrap destinations.</A></LI><OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#get-dest-credentials" target="_blank" rel="noopener nofollow noreferrer">retrieve destination service credentials from binding</A>.</LI><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#create-bootstrap-payload" target="_blank" rel="noopener nofollow noreferrer">describe bootstrap destination definitions.</A></LI><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#apply-payload" target="_blank" rel="noopener nofollow noreferrer">create bootstrap destinations on subaccount</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#configure-dest" target="_blank" rel="noopener nofollow noreferrer">Configure destination resources.</A></LI><OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#dynamic_dest" target="_blank" rel="noopener nofollow noreferrer">dynamic_dest route with managed approuter</A>.</LI><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#cloud-sdk" target="_blank" rel="noopener nofollow noreferrer">SAP Cloud SDK built-in destinations</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/aa8bc30ce043e1e11c145fe15278db62#documentation" target="_blank" rel="noopener nofollow noreferrer">Documentation.</A></LI></OL></TD></TR></TBODY></TABLE><P>PS.</P><P><STRONG>Bootstrap destinations definitions. </STRONG></P><P>Even, if there is no intrinsic BTP CLI command to assist in creation of destinations from service bindings, this can be achieved quite easily with a bit of jq gimmick by applying service binding credentials to a json payload template, for instance:</P><P>&nbsp;</P><pre class="lia-code-sample language-json"><code>{ "init_data": { "subaccount": { "destinations": [ { "Description": "dest-httpbin", "Type": "HTTP", "clientId": "sb-clone12847c4c89544b4f9234b26ede429f62!b282590|destination-xsappname!b62", "HTML5.DynamicDestination": "true", "HTML5.Timeout": "60000", "Authentication": "OAuth2ClientCredentials", "Name": "dest-httpbin", "tokenServiceURL": "https://&lt;subdomain&gt;.authentication.us10.hana.ondemand.com/oauth/token", "ProxyType": "Internet", "URL": "https://httpbin.org", "tokenServiceURLType": "Dedicated", "clientSecret": "&lt;clientSecret&gt;" }, { "Description": "SAP Destination Service APIs", "Type": "HTTP", "clientId": "sb-clone12847c4c89544b4f9234b26ede429f62!b282590|destination-xsappname!b62", "HTML5.DynamicDestination": "true", "HTML5.Timeout": "60000", "Authentication": "OAuth2ClientCredentials", "Name": "destination-service", "tokenServiceURL": "https://&lt;subdomain&gt;.authentication.us10.hana.ondemand.com/oauth/token", "ProxyType": "Internet", "URL": "https://destination-configuration.cfapps.us10.hana.ondemand.com/destination-configuration/v1", "tokenServiceURLType": "Dedicated", "clientSecret": "&lt;clientSecret&gt;" } ], "certificates": [ ], "existing_certificates_policy": "update", "existing_destinations_policy": "update" } } }</code></pre><P>&nbsp;</P><P>Alternatively, one could resort to using SAP Cloud SDK built-in <A href="https://sap.github.io/cloud-sdk/docs/js/features/connectivity/destinations#service-binding-environment-variables" target="_self" rel="nofollow noopener noreferrer">service binding destinations</A>.</P><P>The below nodejs code snippet demonstrates how to leverage&nbsp;SAP Cloud SDK with its service binding destinations with the likes of service manager and destinations services.</P><pre class="lia-code-sample language-yaml"><code>apiVersion: serverless.kyma-project.io/v1alpha2 kind: Function metadata: name: {{ .Values.services.srv.name }} labels: {{- include "app.labels" . | nindent 4 }} app: {{ .Values.services.srv.name }} spec: runtime: {{ .Values.services.srv.runtime }} # runtimeImageOverride: {{ .Values.services.srv.runtimeImageOverride }} source: inline: dependencies: | { "name": "{{ .Values.services.srv.name }}", "version": "0.0.1", "dependencies": { "axios":"latest" ,"debug": "latest" ,"@sap/xsenv": "latest" ,"@sap-cloud-sdk/http-client": "latest" ,"@sap-cloud-sdk/connectivity": "latest" ,"@sap-cloud-sdk/resilience": "latest" ,"async-retry": "latest" } } source: | const debug = require('debug')('{{ .Values.services.srv.name }}:function'); const NOT_FOUND = 'Not Found'; const xsenv = require('@sap/xsenv'); const services = xsenv.getServices({ sm: { label: 'service-manager', name: 'saas-sm' } , dest: { label: 'destination' } }); console.log('saas-sm: ', services.sm); const readServices = xsenv.readServices(); console.log('readServices: ', readServices); const httpClient = require('@sap-cloud-sdk/http-client'); const cloudSdkConnectivity = require('@sap-cloud-sdk/connectivity'); const { retrieveJwt, decodeJwt, Destination } = require('@sap-cloud-sdk/connectivity'); const { setGlobalLogLevel, createLogger } = require('@sap-cloud-sdk/util'); const { retry } = require ('@sap-cloud-sdk/resilience'); const { resilience } = require ('@sap-cloud-sdk/resilience'); const ResilienceOptions = { retry: 10, circuitBreaker: false, timeout: 300*1000 // 5 minutes in milliseconds }; const retryme = require('async-retry'); setGlobalLogLevel('debug'); const logger = createLogger('http-logs'); module.exports = { main: async function (event, context) { const req = event.extensions.request; const message = `Hello World` + ` from the Kyma Function ${context['function-name']}` + ` running on ${context.runtime}!` + ` with the request headers ${JSON.stringify(req.headers,0,2)}`; console.log(message); if (typeof req.path !== undefined) { console.log('path: ', JSON.stringify(req.path,0,2)) } if (typeof req.params !== undefined) { console.log('params: ', JSON.stringify(req.params,0,2)) } if (typeof req.url !== undefined) { console.log('url: ', JSON.stringify(req.url,0,2)) } if (typeof req.authInfo !== undefined) { console.log('authInfo: ', JSON.stringify(req.authInfo,0,2)) } const { pathname } = new URL(req.url || '', `https://${req.headers.host}`) console.log('pathname: ', pathname) const url = require("url"); var url_parts = url.parse(req.url); console.log(url_parts); console.log(url_parts.pathname); // returns an array with paths let path_array = req.url.match('^[^?]*')[0].split('/').slice(1); console.log(path_array) console.log(req.url.match('^[^?]*')[0]) if (!path_array?.length) return 'Please use an API verb'; const actions = [ { name: 'offerings', verb: 'service_offerings', dest: 'saas-sm', url: '/v1/' }, { name: 'plans', verb: 'service_plans', dest: 'saas-sm', url: '/v1/' }, { name: 'instances', verb: 'service_instances', dest: 'saas-sm', url: '/v1/' }, { name: 'bindings', verb: 'service_bindings', dest: 'saas-sm', url: '/v1/' }, { name: 'instanceDestinations', verb: 'instanceDestinations', dest: 'faas-dest-x509', url: '/destination-configuration/v1/' }, { name: 'subaccountDestinations', verb: 'subaccountDestinations', dest: 'faas-dest-x509' , url: '/destination-configuration/v1/' } ]; const action = actions.find( ({ name }) =&gt; name === path_array[1] ) console.log('action found: ', action) if (path_array[0] == 'srv' &amp;&amp; action !== undefined) { path_array = req.url.match('^[^?]*')[0].split('/').slice(2); console.log('path_array: ', path_array) const queryString = req.query; console.log('queryString: ', queryString) const urlParams = new URLSearchParams(queryString); const params = req.params; console.log('params: ', params) try { // https://sap.github.io/cloud-sdk/docs/js/features/connectivity/destinations#service-binding-environment-variables const endpoint = path_array[1] !== undefined ? '/' + path_array[1] : ''; console.log(endpoint) let res = await httpClient.executeHttpRequest({ destinationName: action.dest }, { method: 'GET', url: action.url + action.verb + endpoint }); return res.data; } catch (err) { console.log(err.stack); return err.message; } } } } scaleConfig: maxReplicas: 5 minReplicas: 3 resourceConfiguration: function: profile: S env: ## https://kyma-project.io/docs/kyma/latest/05-technical-reference/00-configuration-parameters/svls-02-environment-variables/#node-js-runtime-specific-environment-variables - name: FUNC_TIMEOUT ## Specifies the number of seconds in which a runtime must execute the code. value: '1800' - name: REQ_MB_LIMIT ## payload body size limit in megabytes. value: "10" - name: DEBUG value: '{{ .Values.services.srv.name }}:*' - name: SERVICE_BINDING_ROOT value: /bindings secretMounts: - secretName: {{ .Values.services.sm.bindingSecretName }} mountPath: "/bindings/saas-sm" - secretName: {{ .Values.services.dest.bindingSecretNamex509 }} mountPath: "/bindings/faas-dest-x509"</code></pre><P>&nbsp;</P> 2024-05-13T12:54:57.123000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/technovation-summit-2024-expand-your-ai-and-btp-horizons/ba-p/13697831 Technovation Summit 2024: Expand your AI and BTP Horizons 2024-05-13T15:21:27.786000+02:00 ChrisGrundy https://community.sap.com/t5/user/viewprofilepage/user-id/171629 <P>This week the SAPinsider <A href="https://reg.eventmobi.com/technovation-summit-barcelona-2024-ai-sap-btp" target="_blank" rel="noopener nofollow noreferrer">Technovation Summit</A> will commence its inaugural event, with the topics of <A href="https://www.sap.com/products/artificial-intelligence.html" target="_blank" rel="noopener noreferrer">Artificial Intelligence</A> (AI) and <A href="https://www.sap.com/products/technology-platform.html" target="_blank" rel="noopener noreferrer">SAP Business Technology Platform</A> (BTP) the stars of the show. And following on just a few short months from the last SAPinsider EMEA conference, it will be great to see if the buzz and excitement around these two topics is just as palpable in Barcelona as it was in <A href="https://community.sap.com/t5/technology-blogs-by-sap/wonderful-wonderful-sap-btp-your-conference-guide-to-sapinsider-copenhagen/ba-p/13576363" target="_blank">Copenhagen</A>.</P><P>Technovation Summit 2024 is a 1.5-day event designed for anyone interested in AI or SAP BTP and offers an agenda rich in informational sessions and learning opportunities for any technology enthusiast seeking to expand their knowledge and understanding of the development, application and best practices in these two hot topics. And in addition to hearing from a wide range of speakers at the event, there will also be ample opportunity to network and dive into deeper technology discussions with technology experts and industry peers.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="280278_GettyImages-500050785_medium.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108736i77B471D5BA85A9E6/image-size/medium?v=v2&amp;px=400" role="button" title="280278_GettyImages-500050785_medium.jpg" alt="280278_GettyImages-500050785_medium.jpg" /></span>Barcelona of course is a wonderful city location for an event like this. After spending a long day inside, absorbing all the sessions that one can fit into a day, building your knowledge and expanding your horizons of the potential that AI and BTP has to offer your business, what better place could there be to then relax and reflect on the day by taking the time to visit the beach, enjoy a city walk, or unwind and eat Tapas in one of the many tavernas on Las Ramblas, while marveling at the diverse and unique architecture.</P><H3 id="toc-hId-1123608099">6 of the Best for Barcelona</H3><P>The trouble with attending any event, is selecting which sessions to see that will prove to be of most value to you, especially when there are so many opportunities to learn new things. My advice is simple, try and plan as much in advance, and create your personal agenda as early as possible, so that when you get to the event you can spend less time planning and more time networking and seeking answers to the burning questions that are most important to you and your business. &nbsp;</P><P>So why don’t I help a little and start you off with some suggestions for your agenda. Let’s simply assume that everyone will plan to attend the day-1 and day-2 keynotes, to be delivered by <STRONG><EM>Iver van de Zand (14 May, 9:30am)</EM></STRONG> and <STRONG><EM>Prof. Marek Kowalkiewicz</EM> <EM>(15 May, 9:30am)</EM> </STRONG>who will share their own insights and experiences of AI, and in the case of Iver BTP too, setting the scene and the tone for each day of the summit. But after the keynotes, what next? Here are my personal 6 picks for Barcelona:</P><OL><LI><EM>Generating the Future: SAP Business AI and the Generative AI Roadmap, 14 May, 10:45am to 11:30am</EM></LI><LI><EM>AI Ethics – A Primer to Guide your Organization on the Opportunities and Risks, 14 May, 11:45am to 12:30pm</EM></LI><LI><EM>How to Automate Document Streams using SAP BTP and Machine Learning, 14 May, 1:30pm to 2:30pm</EM></LI><LI><EM>Case Study: Moving From On-Premises to The Cloud with SAP Integration Suite, 14 May, 3:00pm to 4:00pm</EM></LI><LI><EM>What's on your Mind? Maximize the Potential of SAP BTP &amp; AI, 14 May, 4:15pm to 5:00pm</EM></LI><LI><EM>What's on your Mind? Unveiling the Magic of Digital Transformation, 15 May, 11:45am to 12:30pm</EM></LI></OL><P>And, if you don’t mind, I’ll take a liberty and add one more to see. This isn’t strictly a session, but it will cover many topics that are BTP and AI related, and this is delivered in the form of a <STRONG><EM>BTP: Technology News Update</EM></STRONG><EM>, </EM>which will take place at the SAP booth during the<EM> <STRONG>networking break at 10:15 on 14 May</STRONG>. </EM>Please head to the booth to hear from our presenter Carles, and then network with the SAP onsite team to ask them any questions that spring to mind. Don’t be afraid to challenge them – they’ll appreciate you spending the time to talk with them!</P><P>Of course, these are just a few suggestions, and there are many more sessions available for you to select from the agenda. Why not take a look at the SAPinsider Technovation Summit website and look at the event <A href="https://reg.eventmobi.com/technovation-summit-barcelona-2024-ai-sap-btp/pages/Sessions" target="_blank" rel="noopener nofollow noreferrer">sessions list</A>, or even better download the SAPinsider2024 event app to your smart device (available on the App Store and Google Play) and to see a full list of available sessions, and to create your own personal agenda.</P><H3 id="toc-hId-927094594">Continue Your Learning After the Event</H3><P>While I’m sure you’ll enjoy your experience and learning opportunities in Barcelona, I expect that you’ll also want to continue your own personal learning journey after the event too. In this case why not explore other learning opportunities from SAP. For example, find out how to build software applications, side-by-side extensions, and integrations to and from cloud applications by exploring <A href="https://learning.sap.com/learning-journeys/discover-sap-business-technology-platform?url_id=text-sapcommunity-prdteng-BTP" target="_blank" rel="noopener noreferrer">SAP’s free learning content on SAP BTP</A>. It is made for both integration designers and extension developers from all levels of expertise and will help you stay up to date with the latest <A href="https://learning.sap.com/learning-journey/discover-sap-business-technology-platform?url_id=text-sapcommunity-prdteng-BTP" target="_blank" rel="noopener noreferrer">SAP BTP</A> innovations. And check out even more role-based learning resources and opportunities to get certified in one place on <A href="https://learning.sap.com/?url_id=text-sapcommunity-prdteng" target="_blank" rel="noopener noreferrer">SAP Learning site</A>.</P><P>For those of you travelling to Barcelona this week, I do hope that you find the SAPinsider Technovation Summit to be an informative and stimulating experience. My best wishes for safe travels, and I hope that you enjoy the event!</P><P>Chris Grundy</P><P>Product Marketing, SAP BTP</P> 2024-05-13T15:21:27.786000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/watch-the-sap-bw-modernization-webinar-series/ba-p/13699559 Watch the SAP BW Modernization Webinar Series 2024-05-13T15:49:24.460000+02:00 SavannahVoll https://community.sap.com/t5/user/viewprofilepage/user-id/13466 <P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="296603_GettyImages-1338373325_medium_jpg.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/109686i487761C94D205674/image-size/large?v=v2&amp;px=999" role="button" title="296603_GettyImages-1338373325_medium_jpg.jpg" alt="296603_GettyImages-1338373325_medium_jpg.jpg" /></span></SPAN></P><P><SPAN>Step into the future with our SAP Business Warehouse Modernization Webinar Series. Designed with the goal of revolutionizing the way you approach your SAP Business Warehouse (SAP BW) with SAP Datasphere, this series provides you with an unparalleled opportunity to learn, grow, and take your SAP BW environment to the next level.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Each session comes packed with valuable information, transformative guidance, and real-life insights from seasoned SAP BW and SAP Datasphere experts. The series includes: </SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>&nbsp;<BR /></SPAN></P><UL><LI><STRONG><SPAN>Industry-Expert Guidance</SPAN></STRONG><SPAN>: Our sessions are hosted by technical experts from SAP, offering you the unique opportunity to learn from those shaping the future of business data technology.</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>&nbsp;<BR /></SPAN></LI><LI><STRONG><SPAN>Practical Tools and Applications</SPAN></STRONG><SPAN>: We'll demonstrate the SAP Readiness Check, the SAP Expert Evaluation Tool, and SAP BW Bridge&nbsp;to ensure you have a robust toolbox.</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>&nbsp;<BR /></SPAN></LI><LI><STRONG><SPAN>In-Depth Case Studies and Demonstrations</SPAN></STRONG><SPAN>: We’ll share how other customers have successfully modernized their SAP BW environment. Each session concludes with thorough demonstrations that you can apply in your practice.</SPAN><SPAN><BR /></SPAN></LI></UL><H2 id="toc-hId-994582149"><STRONG><SPAN><BR />Access the webinar series</SPAN></STRONG><SPAN>&nbsp;</SPAN><SPAN><BR /></SPAN></H2><P><SPAN>The overall length of the seven units is close to 7 hours. We have divided the recordings into several parts of 2 to 20 minutes for ease of use. Find the materials below: </SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Unit 1: Modernizing SAP Business Warehouse, Explore Your Options</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: Exploring Transition Option to SAP Datasphere –&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_d7104w4j" target="_blank" rel="noopener nofollow noreferrer"><SPAN>part 1</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_n4924i5w" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;|</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_1zrazwkq" target="_blank" rel="noopener nofollow noreferrer"><SPAN>part 2</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_djdovu16" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 2: Embedded Analytics in SAP S/4HANA Cloud -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_o6licnwt" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_ipy9lt15" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 3: Modernization Customer Stories -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_spo3pz61" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_140ysy6u" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 2: Preparation for Modernization – Your Source System</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: Preparation for Modernization -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_24t8g70j" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_apcm1kt9" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 2: Exploring the Transition from BW7.x and BW4 HANA Systems to BW Bridge Conversion -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_f3a1qfex" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_1t6mxf2v" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 3: System Analysis Tooling -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_3qolkzsg" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_q6vk4hpy" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 4: Additional Resources -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_qwqywlxd" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_2bfg4qqi" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 3: Using SAP Tooling for a Smooth Transition</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: Exploring Tools for Evaluating SAP BW System Readiness for</SPAN><SPAN>&nbsp;</SPAN><SPAN>Transition to SAP Datasphere -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_nkf9rygr" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_k4jlensf" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 2: Understanding the Conversion Paths to SAP Datasphere and SAP Datasphere, BW Bridge -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_vwm4uq3i" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_obtubygh" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 3: Leveraging SAP Services for Successful Deployment of SAP Datasphere -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_1d0c6r04" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_6a9lyf3c" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 4: Expert Evaluation Report -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_8x7usuol" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 5: Assessment Tools by SAP Partners -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_al1yqvoa" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_xhbo8pos" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 4: Sizing Matters for the Cloud</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: tools and methods for sizing of SAP Datasphere -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_xthexms0" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_pbvwnol1" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 5: Preparation for Modernization: Your target system</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: SAP Datasphere, BW Bridge as your target system -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_v2ornfoq" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_we79i9g3" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 2: Strategic Directions and Options for Data Warehousing Solutions -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_zpauer3z" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_u740hwsc" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 3: &nbsp;Exploring the Value and Features of SAP Datasphere -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_9y7e3oql" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_ikl3xhpf" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 4: Additional Resources -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_w7sxe4vd" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_uom1ax5f" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 6: A Deep Dive on Transition Approaches</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: Remote conversion and shell conversion options -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_15kwvztb" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_gxawzpvr" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 2: Metadata and Business Data Transfers in SAP Datasphere BW Bridge -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_ocgveqdo" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_w04wo38a" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 3: Transition Approaches - Demo -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_yfk165t9" target="_blank" rel="noopener nofollow noreferrer"><SPAN>part 1</SPAN></A><SPAN>&nbsp;|&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_poaer3hd" target="_blank" rel="noopener nofollow noreferrer"><SPAN>part 2</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Lesson 4: Additional resources -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_xl128163" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_85qhrcbt" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Unit 7: BW Modernization Series - Working with SAP Business Warehouse Elements in SAP Datasphere</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Lesson 1: Best practices for working with SAP Business Warehouse elements in SAP Datasphere -&nbsp;</SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_2sh706ds" target="_blank" rel="noopener nofollow noreferrer"><SPAN>video</SPAN></A><SPAN>&nbsp;,&nbsp;</SPAN><A href="https://www.kaltura.com/api_v3/service/attachment_attachmentasset/action/serve/attachmentAssetId/1_myd314bq" target="_blank" rel="noopener nofollow noreferrer"><SPAN>PDF</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><H2 id="toc-hId-798068644"><STRONG><SPAN><BR />Get Started </SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>We’ve designed the series to offer a comprehensive overview, from the basics of starting your <A href="https://www.sap.com/products/technology-platform/datasphere/migration.html#na" target="_self" rel="noopener noreferrer">SAP BW modernization</A> journey to successfully implementing the transition.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Don’t miss the opportunity to prepare your operations, strategies, and mindset for the future with the SAP BW Modernization Webinar series. Take the first step towards empowering your business' digital transformation journey with the </SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_d7104w4j" target="_blank" rel="noopener nofollow noreferrer"><SPAN>first lesson</SPAN></A><SPAN>. </SPAN><SPAN>&nbsp;</SPAN></P><P>&nbsp;</P> 2024-05-13T15:49:24.460000+02:00 https://community.sap.com/t5/technology-blogs-by-members/syniti-rdg-streamlines-creation-and-configuration-of-mdc-process-templates/ba-p/13695687 Syniti RDG streamlines creation and configuration of MDC process templates. 2024-05-14T10:41:20.003000+02:00 JuanAlonso https://community.sap.com/t5/user/viewprofilepage/user-id/1384553 <P style=" text-align : justify; "><SPAN><A href="https://store.sap.com/dcp/en/product/display-2001014736_live_v1/syniti-rapid-data-governance" target="_blank" rel="noopener noreferrer">Syniti Rapid Data Governance (RDG)</A> is an SAP-endorsed Cloud-Based UI5 application built on the SAP Business Technology Platform (BTP). SAP Master Data Governance is a powerful solution to improve the quality and consistency of information across organizations by consolidating and centrally governing master data. Syniti RDG’s MDC tile streamlines the creation and setup of process templates and the configuration of its process steps. </SPAN></P><P style=" text-align : justify; "><SPAN>Master Data Consolidation (MDC) refers to the process of combining and centralizing master data from disparate sources into a single System. This ensures that there is a consistent and accurate version of master data, such as customer, product, or supplier information, across an organization. </SPAN></P><P style=" text-align : justify; "><SPAN>In SAP, Process Templates are predefined sets of steps and configurations that standardize the master data consolidation process. The Process Template you choose during a consolidation process specifies whether and in what order certain process steps are executed and what configurations apply for each step. </SPAN></P><P style=" text-align : justify; "><SPAN>By utilizing process templates, organizations can accelerate the master data consolidation process and maintain data integrity across different systems and business units within the SAP landscape. Additionally, process templates facilitate compliance with regulatory requirements and supports ongoing data governance efforts by establishing standardized procedures for managing master data consolidation activities.</SPAN></P><P style=" text-align : justify; "><SPAN>To create a process template, traditionally a user had to follow the standard guide to setup process templates:</SPAN></P><UL><LI>Select <EM>New Entries</EM>.</LI><LI>Enter a <EM>Process Type ID</EM>, a corresponding <EM>Description</EM>, select the <EM>Business Object Type</EM>, and the <EM>Workflow Template</EM> WS54500001.</LI><LI>In the <EM>Process Goal</EM> field, select the goal of a consolidation process.</LI><LI>Decide for the Default Template and the Delete Source indicators.</LI><LI>Save your entries.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_0-1715196188607.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107693i777F456349375DDA/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_0-1715196188607.png" alt="JuanAlonso_0-1715196188607.png" /></span></P><P style=" text-align : justify; "><SPAN>Then to configure said process template a user would have to follow the standard guide to setup its process steps.</SPAN></P><UL><LI>Mark a process type template and choose <EM>Process Template Step</EM></LI><LI>Select <EM>New Entries</EM>.</LI><LI>Enter a <EM>Step Number</EM>.</LI><LI>Select a <EM>Process Step Type</EM> using the input help.</LI><LI>Select a corresponding <EM>Adapter </EM>using the input help.</LI><LI>Select a corresponding <EM>Configuration ID</EM>.</LI><LI>If you want the process to stop after finalizing this process step set the <EM>Check Point</EM> indicator.</LI><LI>If you want to assign an <EM>Authorization Group </EM>to the process step use the entry help to select an authorization group.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_1-1715196371939.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107694iA55B1DCBD5823976/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_1-1715196371939.png" alt="JuanAlonso_1-1715196371939.png" /></span></P><P style=" text-align : justify; "><SPAN>Pertinent configurations specific to each step type are identified by the Configuration ID. If a user would like to visualize the details for each configuration or create a new one, they would have to navigate to the MDCIMG t-code and select the activity related to the step type desired to configure.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_2-1715196421394.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107695i143D6A750ACA376B/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_2-1715196421394.png" alt="JuanAlonso_2-1715196421394.png" /></span></P><P style=" text-align : justify; "><SPAN>Then a user would have to navigate the list of configurations and select the config id chosen in the process template and double-click it to visualize its detailed settings.</SPAN></P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JuanAlonso_3-1715196906890.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107698i2F655A31351A7768/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_3-1715196906890.png" alt="JuanAlonso_3-1715196906890.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_4-1715197157355.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107700i08F2A08B59A4CC24/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_4-1715197157355.png" alt="JuanAlonso_4-1715197157355.png" /></span></P><P style=" text-align : justify; "><SPAN>The Master Data Consolidation (MDC) tile on RDG streamlines this whole process by allowing users to create and delete process templates, process steps and its configurations within a single and intuitive screen and define a specific template that outlines the steps and configurations for executing a master data consolidation process.</SPAN></P><P style=" text-align : justify; "><SPAN>STEP 1. On the Main screen click on the MDC Tile.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_5-1715197283057.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107701iBBDEFB89E1309B18/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_5-1715197283057.png" alt="JuanAlonso_5-1715197283057.png" /></span></P><P style=" text-align : justify; ">STEP 2. Click on the plus icon to add a new process template.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_6-1715197380984.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107702iA75CB27BEA7FFE6C/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_6-1715197380984.png" alt="JuanAlonso_6-1715197380984.png" /></span></P><P style=" text-align : justify; "><SPAN>STEP 3. Input process template name and description and choose a Business Object Type (BO Type).</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_7-1715197522464.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107703iE4C6A9F304D0BDF8/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_7-1715197522464.png" alt="JuanAlonso_7-1715197522464.png" /></span></P><P style=" text-align : justify; "><SPAN>STEP 4. Select a process goal and </SPAN>decide for the Default Template and the Delete Source indicators.</P><P style=" text-align : justify; "><SPAN>Process Goal refer to the specific objectives or outcomes that organizations aim to achieve through the implementation of process templates. Depending on the goal selected the user might need to also select a strategy.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_8-1715197564214.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107704iDB9C47392AA3AAF0/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_8-1715197564214.png" alt="JuanAlonso_8-1715197564214.png" /></span></P><P style=" text-align : justify; "><SPAN>STEP 5. To add a process step click on the Add button, select a step type, input a description and make selections for Adapter, Config ID, Action Control and Authorization Group.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_9-1715197607965.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107705iE791EC213BBC10DA/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_9-1715197607965.png" alt="JuanAlonso_9-1715197607965.png" /></span></P><P style=" text-align : justify; "><SPAN>STEP 6. Add extra process steps to meet the business requirement and goal of the consolidation prosses.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_10-1715197647986.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107706i35FA640BEEBB24E9/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_10-1715197647986.png" alt="JuanAlonso_10-1715197647986.png" /></span></P><P style=" text-align : justify; "><SPAN>STEP 7. If needed, user can create and/or visualize the configurations for steps. To visualize the details of a selected configuration, click on the View Details pencil icon. To create a configuration, select “Custom – Create configuration” from the list of configurations. </SPAN></P><P style=" text-align : justify; "><FONT size="3">NOTE: At the time of publishing this blog, RDG supports configurations for steps of type: <STRONG>Activation</STRONG>, <STRONG>Filter</STRONG> <STRONG>and</STRONG> <STRONG>Remove</STRONG>, <STRONG>Best Record Calculation</STRONG> and <STRONG>Evaluation</STRONG>. More to come in future updates.</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_11-1715198020316.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107710iFBD92888922975BA/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_11-1715198020316.png" alt="JuanAlonso_11-1715198020316.png" /></span></P><P style=" text-align : justify; "><SPAN>Details of a Best Record Calculation configuration:</SPAN></P><P style=" text-align : justify; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_13-1715198090351.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107712i6DB4DDB953434F2D/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_13-1715198090351.png" alt="JuanAlonso_13-1715198090351.png" /></span></P><P style=" text-align : justify; "><SPAN>Details of a Filter and Remove configuration:</SPAN></P><P style=" text-align : justify; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_14-1715198132457.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107713iD3A32F9427DFA002/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_14-1715198132457.png" alt="JuanAlonso_14-1715198132457.png" /></span></P><P style=" text-align : justify; "><SPAN>Details of an Activation configuration:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_15-1715198202258.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107714iFBF67E3F2010DC35/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_15-1715198202258.png" alt="JuanAlonso_15-1715198202258.png" /></span></P><P style=" text-align : justify; ">STEP 8. Click on save and select a customizing transport from the available list.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_16-1715198424591.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107718i47205F17E1B89AB2/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_16-1715198424591.png" alt="JuanAlonso_16-1715198424591.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="JuanAlonso_17-1715198447393.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107719i6FC2ED4AF45EF096/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_17-1715198447393.png" alt="JuanAlonso_17-1715198447393.png" /></span></P><P style=" text-align : justify; "><SPAN>Using the MDC Tile users can maintain and create process templates in a streamlined and intuitive manner.</SPAN></P><P style=" text-align : justify; ">&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JuanAlonso_18-1715198487923.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107721i015110084F7090C6/image-size/medium?v=v2&amp;px=400" role="button" title="JuanAlonso_18-1715198487923.png" alt="JuanAlonso_18-1715198487923.png" /></span></P><P>&nbsp;</P><P style=" text-align : justify; "><SPAN><A href="https://store.sap.com/dcp/en/product/display-2001014736_live_v1/syniti-rapid-data-governance" target="_blank" rel="noopener noreferrer">Syniti RDG</A></SPAN> <SPAN>is a certified SAP BTP solution and is available on</SPAN> <SPAN><A href="https://store.sap.com/dcp/en/" target="_blank" rel="noopener noreferrer">SAP App Store</A>.&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>&nbsp;To know more details about the product, check the blog</SPAN> <SPAN><A href="https://blogs.sap.com/2021/02/05/how-partner-add-on-solutions-enhance-saps-master-data-governance/" target="_blank" rel="noopener noreferrer">Partner Add-on Solutions</A>.&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Your opinions and feedback are highly appreciated and feel free to post them in comment section.&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Please follow and read more interesting blogs on</SPAN> <SPAN><A href="https://blogs.sap.com/tags/67837800100800004488/" target="_blank" rel="noopener noreferrer">SAP Master Data Governance | SAP | SAP Blogs.</A></SPAN></P><P style=" text-align : justify; "><SPAN>You can also find and post questions about the product here:</SPAN> <SPAN><A href="https://answers.sap.com/tags/67837800100800004488" target="_blank" rel="noopener noreferrer">SAP Master Data Governance Community.</A></SPAN></P><P>&nbsp;</P><P>&nbsp;</P> 2024-05-14T10:41:20.003000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-btp-blog-7-interview/ba-p/13695543 10+ ways to reshape your SAP landscape with SAP BTP - Blog 7 Interview 2024-05-15T09:33:29.565000+02:00 Tim_Kaufmann https://community.sap.com/t5/user/viewprofilepage/user-id/1416307 <H1 id="toc-hId-865380229">Blog 7: The Role of Automation for Transformation - The background Interview</H1><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Interview_Philip_Blog.png" style="width: 967px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110725iEA19D2C6715A5BD0/image-size/large?v=v2&amp;px=999" role="button" title="Interview_Philip_Blog.png" alt="Interview_Philip_Blog.png" /></span></P><P>&nbsp;</P><P>My colleague Philipp Zaltenbach posted an inspiring blog last week and we had a background interview for more information.</P><P><STRONG>Timothy Kaufmann:<EM>&nbsp;Philipp, why are you so enthusiastic about Automation with SAP?</EM></STRONG></P><P><STRONG>Philipp Zaltenbach:</STRONG>There are especially two aspects that I want to highlight. First is versatility. I really like that automation technologies can be applied to such a broad range of scenarios. We have customers that use our technologies for simple approval workflows. These may differ from one Line-of-Business to the other. On the other hand, we have customers such as <A href="https://www.sap.com/asset/dynamic/2023/11/0442cc45-9c7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer">Lufthansa Technik</A> who use it for complex automation scenarios that touch a lot of applications, both SAP and Non-SAP. The second point is ease-of-use. Many customers who experience our offering in a hands-on workshop are impressed at how quick they can build something without having had extensive training beforehand.</P><P>&nbsp;</P><P><STRONG>Timothy Kaufmann: <EM>Where do you see the USP for SAP?</EM></STRONG></P><P><STRONG>Philipp Zaltenbach:</STRONG> In my view there are three points that I would stress. First, we have a unified end-2-end offering that can be applied in a modular fashion. This is really unique, given the range of capabilities overall. Second, we have built a lot of pre-built content, such as integration packages, workflows or RPA bots, that can serve as a starting point and avoid reinventing the wheel. Third, the tight and robust integration into our SAP application landscape, be it an S/4HANA system, or an LoB application such as SuccessFactors.</P><P>&nbsp;</P><P><STRONG>Timothy Kaufmann:</STRONG> <EM><STRONG>How do you see the role of Automation for Clean Core?</STRONG></EM></P><P><STRONG>Philipp Zaltenbach:</STRONG> As I have shared in my blog article, our Enterprise Automation offering can play an important role in Clean Core initiatives and related ERP modernization projects. It can help both before the move – to analyze, clean-up and streamline processes – but also after the move, to help with continuous process optimization.</P><P>&nbsp;</P><P><STRONG>Timothy Kaufmann: <EM>How do you see the potential of AI for Automation?</EM></STRONG></P><P><STRONG>Philipp Zaltenbach:</STRONG> With the advent of GenAI we see a massive opportunity for automation. Many customers still have scenarios that require working with unstructured documents such as PDF files. Here our embedded AI services can provide drastic benefits for automated document extraction and processing. On the other hand, we also strive to make the development process even more accessible and simpler by using GenAI based assistance. Users will then be able to talk to the system in natural language and with that they can create entire process automations from scratch.</P><P>&nbsp;</P><P><STRONG>Timothy Kaufmann:</STRONG> <EM><STRONG>Where do you see the difference between Workflow and Automation?</STRONG></EM></P><P>Automation is a very large area that covers many topics, for example integration, RPA-tools or workflow engines just to name a few. Hence, workflow can be considered as a sub-topic of automation. So workflow can be part of an overall automation that is made of different building blocks, comprising e.g. workflow elements (such as approval forms and business rules), as well as RPA elements (such as bots for UI automation of an application).</P><P>&nbsp;</P><P><STRONG>Timothy Kaufmann: <EM>When you talk to companies about Automation, where do you see the biggest challenges?</EM></STRONG></P><P><STRONG>Philipp Zaltenbach:</STRONG> The challenges vary from customer to customer. Some customers struggle with where to start and which use cases to tackle. For that we can offer workshops with SAP Consulting or partners to identify the most promising areas and scenarios. Also customers often look for how to get familiar with our products. Here, we have self-guided, interactive learning journeys (e.g. the one for <A href="https://learning.sap.com/products/sap-build" target="_blank" rel="noopener noreferrer">SAP Build</A>) as well as hands-on workshops as a starting point.</P><P>If you want to read all blogs:</P><UL><LI><STRONG>Blog 1:</STRONG>&nbsp;The Central Role of Clean Core and AI:&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13637444" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></LI><LI><STRONG>Blog 2:</STRONG>&nbsp;The Role of BTP as Extension and Innovation Platform:&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13643927" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></LI><LI><STRONG>Blog 3: </STRONG>How SAP Clean Core Strategy can accelerate your Transformation&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/how-sap-clean-core-strategy-can-accelerate-your-business-transformation/ba-p/13652132" target="_blank">SAP Clean Core Strategy: The Key to Business Transformation</A></LI><LI><STRONG>Blog 4: </STRONG>Mastering the Data Dance: The Potential of Clean Core and AI <SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13614282" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></SPAN></LI><LI><STRONG>Blog 5: </STRONG>How hybrid Integration upholds the role of Clean Core: <SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13673510" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></SPAN></LI><LI><STRONG>Blog 6:</STRONG> Clean Core Extensibility <SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13679673" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></SPAN></LI><LI><STRONG>Blog 7: </STRONG><STRONG>The Role of Automation for transformation:</STRONG> <A href="https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13691498" target="_blank">10+ ways to reshape your SAP landscape with SAP Bu... - SAP Community</A></LI></UL><P>&nbsp;</P> 2024-05-15T09:33:29.565000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/unlocking-the-potential-of-business-ai-engineering-best-practices/ba-p/13701049 Unlocking the Potential of Business AI: Engineering Best Practices 2024-05-15T11:19:59.068000+02:00 Shu_Zhen https://community.sap.com/t5/user/viewprofilepage/user-id/769979 <P style=" text-align : justify; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="jan_dumke_0-1715700971310.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110366iD2E6F5A80A2D04BE/image-size/large?v=v2&amp;px=999" role="button" title="jan_dumke_0-1715700971310.png" alt="jan_dumke_0-1715700971310.png" /></span></P><P style=" text-align : justify; "><SPAN>This blog post is part of a series that dives into various aspects of SAP’s approach to generative AI, and its technical underpinnings.&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In the </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/boosting-benchmarking-for-reliable-business-ai/ba-p/13650962" target="_blank"><SPAN>previous blog post</SPAN></A><SPAN> of this series, we learnt about benchmarking of AI models. In this blog post, we will discuss some engineering best practices in the field of generative AI. We will understand the concepts with concrete examples.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Read the </SPAN><A href="https://blogs.sap.com/2023/12/20/how-saps-generative-ai-architecture-redefines-business-applications/" target="_blank" rel="noopener noreferrer"><SPAN>first blog post of the series</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Introduction&nbsp;</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>At SAP, we're at the forefront of integrating AI into business applications and platforms. While generative AI holds immense potential to unlock unprecedented value, translating this innovative technology into practical business solutions does not come without its challenges. It demands rigorous adherence to requirements of reliability, transparency, and ethics to achieve business value.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>The development of generative AI applications stands at the intersection of AI technology and deep business domain knowledge. Engineering challenges in developing generative AI applications differ from traditional software development due to unique data requirements, the need for specialized evaluation metrics, ethical considerations, and iterative development processes inherent to generative AI. It is a meticulous process that evolves through hypothesizing, experimenting, validating results, and iterating with feedback — each step is a cornerstone in delivering business AI. On the other hand, understanding the business domain is crucial for enhancing efficiency, user experience, and overall value for business users.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>This blog post centers around the engineering best practices that underpin the development of business AI use cases at SAP. To explain the approach, we take the integration of generative AI within SAP SuccessFactors’ business applications, with AI-assisted compensation discussions functionality as a specific case in point.</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Engineering Best Practices for Generative AI&nbsp;</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>At SAP, teams are developing a wide range of use cases from question answering, text generation, classification, and summarization to code generation and are exploring the potential of emerging paradigms such as agentic workflows Running mission-critical processes for customers, SAP teams follow a common set of engineering best practices to ensure enterprise qualities. These are discussed below.</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>1. Foundational pillars for best practices</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Figure 1 outlines the core pillars of best practices, the specifics of which will be explored in the next section's use case deep dive. For instance, discussions on data quality will involve counterfactual analysis, while performance testing will be examined through prompt and model benchmarking results. Moreover, issues of security and ethics will be addressed through AI ethics</SPAN><SPAN> reviews.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="04-01.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110311i212F69A9805F6568/image-size/large?v=v2&amp;px=999" role="button" title="04-01.png" alt="04-01.png" /></span></P><P><STRONG><I><SPAN>Figure 1</SPAN></I></STRONG><I><SPAN>: Overview of key pillars covered by best practices</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Let us understand each of these pillars.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Data quality</SPAN></STRONG><SPAN>: At the core of relevant, responsible, and reliable business AI, is the high fidelity of insights data produced by SAP’s business applications. Only with input data of high quality, can we expect a relevant output. SAP's data governance and standards ensure that the data applied is of high quality and semantically rich.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Bias assessment</SPAN></STRONG><SPAN>: It is imperative to assess and mitigate any potential biases in the data or model predictions. This is to ensure that the application is also “responsible”, which is one of the three “R”s, as explained in </SPAN><A href="https://news.sap.com/2024/01/trustworthy-ai-can-reinvent-companies-and-help-resolve-global-challenges/" target="_blank" rel="noopener noreferrer"><SPAN>this blog post</SPAN></A><SPAN> by our CEO, Christian Klein.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Performance and testing</SPAN></STRONG><SPAN>: Rigorously evaluating and testing capabilities guarantees that results are accurate and reliable. At the same time, applications should meet performance criteria in their specific domains, and this should be baked in early in the development process to prevent cost arising from afterthought.&nbsp; Another key consideration is the performance metrics, the selection of which is subject to business objectives and data characteristics.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Monitoring and maintenance</SPAN></STRONG><SPAN>: Continuous monitoring leads to identifying and addressing any issues that may arise during usage (such as performance degradation), and proactively and continuously improving capabilities based on feedback, as well as user research. To achieve the best business outcome, we leverage up-to-date technology and tools available.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Security and privacy</SPAN></STRONG><SPAN>: Security is not by chance, but rather by design. Following SAP’s strict security standards and data privacy policy, we implement strong authentication, authorization, threat modeling, and regular audits to safeguard business processes and data to keep them protected.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Explainability: </SPAN></STRONG><SPAN>Our product is designed around the concept of explainability to foster enhanced trust and greater user engagement. Unlike "black box" producing results without explanation, allowing authorized users to view what contributes to these results is beneficial. For example, this can be implemented through relevant logs or visualizing the raw data in an inference call.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>Ethics</SPAN></STRONG><SPAN>: Our longstanding commitment to </SPAN><A href="https://www.sap.com/products/artificial-intelligence/ai-ethics.html?pdf-asset=7211ee96-647e-0010-bca6-c68f7e60039b&amp;page=1" target="_blank" rel="noopener noreferrer"><SPAN>AI </SPAN><SPAN>ethics policy</SPAN></A><SPAN> and guidelines ensures that use cases go through rigorous ethics assessment including commitment to human rights, designing for people, striving for bias-free business, transparency, upholding quality, and safety. This is in direction with </SPAN><A href="https://www.sap.com/africa/about/company/our-values.html#:~:text=SAP's%20purpose%20is%20to%20help,opportunity%20across%20borders%20and%20cultures." target="_blank" rel="noopener noreferrer"><SPAN>our purpose</SPAN></A><SPAN> of helping the world run better and improving people’s lives.&nbsp;&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>2. Following a common generative AI architecture&nbsp;</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>To enable internal teams to follow best practices efficiently, use cases are developed based on a common architecture described in</SPAN> <SPAN>the</SPAN> <A href="https://blogs.sap.com/2023/12/20/how-saps-generative-ai-architecture-redefines-business-applications/" target="_blank" rel="noopener noreferrer"><SPAN>first blog post</SPAN></A> <SPAN>of this series. This architecture provides teams with tools and technology components on SAP BTP including the generative AI hub in SAP AI Core, the SAP HANA Cloud vector engine and SAP Joule.&nbsp; Generative AI hub in SAP AI core provides trusted access to Large Language Models (LLMs), business grounding for LLMs, and LLM exploration as explained in detail in our </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/how-sap-s-generative-ai-hub-facilitates-embedded-trustworthy-and-reliable/ba-p/13596153" target="_blank"><SPAN>second blog</SPAN></A><SPAN> post </SPAN><SPAN>of this series.&nbsp;&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Use Case Deep-dive: SAP SuccessFactors AI-assisted Compensation</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In this section we will deep-dive into </SPAN><A href="https://help.sap.com/docs/SAP_SUCCESSFACTORS_RELEASE_INFORMATION/8e0d540f96474717bbf18df51e54e522/8ec9bbdbce76435a962cad6d4ff3ae40.html?parentHref=/whats-new/8fcf4960eea24f78b1d7613da406a885?Area%3DSAP%2520Business%2520AI%26Version%3D1H%25202024%26locale%3Den-US&amp;parentName=SAP%20SuccessFactors%20What%27s%20New" target="_blank" rel="noopener noreferrer"><SPAN>SAP SuccessFactors AI-assisted compensation functionality</SPAN></A><SPAN> to illustrate how best-practices guide business AI use case development at SAP. This includes a thorough evaluation process that incorporates an AI ethics review.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="04-02.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110312iD88CE46475D7D48D/image-size/large?v=v2&amp;px=999" role="button" title="04-02.png" alt="04-02.png" /></span></P><P><STRONG><I><SPAN>Figure 2</SPAN></I></STRONG><I><SPAN>: Focus on three pillars - data quality, bias assessment, and performance/testing</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>We will prioritize three fundamental categories for our deep dive: </SPAN><SPAN>Data quality, bias assessment, and performance/testing. Within these categories, we will especially focus on </SPAN><SPAN>quality and fairness, with key topics illustrated in Figure 2. In the following sections, we will explore these perspectives in detail, including solution accuracy, robustness, cost reduction mechanism, and bias mitigation.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>1. Use case background</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Discussions about compensation between managers and their direct reports are sensitive and require careful consideration. Each compensation discussion can be different and requires collating many data points such as job profile, compensation history, and organizational pay bands, to understand the employee’s compensation profile. Managers must spend time analyzing various data sources and preparing talking points for each employee. SAP SuccessFactors AI-assisted compensation system facilitates an equitable &amp; efficient approach for managers to get insights into an employee’s compensation. Managers are thus able to have sensitive compensation conversations with easy access to the data insights &amp; talking points personalized for the employee.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>LLMs offer enormous potential in this process to be simpler and more efficient. LLMs provide powerful capabilities to automatically extract key points, summarization, and themes from lengthy historical data. They unlock valuable insights on this data, enabling business users, in this case managers, to take the right business decisions efficiently.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>However, as mentioned earlier, using LLMs to analyze compensation data presents its challenges. While LLMs are trained on vast amounts of data and can generate human-like text, they struggle with contextual understanding and thus may result in content that is factually incorrect or misleading. Specifically, lacking a comprehensive understanding of the compensation context makes it hard for them to capture pay bands specific to the company, country, or industry. They are not adept at complex mathematical calculations, leading to errors in reporting increments and thus unreliable quantitative metrics. Additionally, SAP SuccessFactors harnesses extensive tabular data. Unlike text and code, which are one-dimensional, tabular data are two-dimensional. LLM’s restricted ability to comprehend two-dimensional tabular data amplifies the overall complexity. Furthermore, achieving impartiality poses a significant challenge, as biases can be intrinsically embedded in model training or user input, presenting a major ethical concern.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Following best practices, we implemented an LLM-based method for employee compensation review by combining tabular data pre-processing and advanced LLM prompt techniques. Table serialization is employed to reduce token count and make data more understandable for LLM. We extensively evaluate accuracy, robustness, and bias to ensure the solution delivered is relevant and responsible. See figure 3 for an example of AI-assisted compensation insights. Also see one minute demo in </SPAN><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_w9xml3sf" target="_blank" rel="noopener nofollow noreferrer"><SPAN>this video</SPAN></A><SPAN>.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_2-1715693119967.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110300i73BECEB84D05E79A/image-size/large?v=v2&amp;px=999" role="button" title="342478_2-1715693119967.png" alt="342478_2-1715693119967.png" /></span></P><P><STRONG><I><SPAN>Figure 3</SPAN></I></STRONG><I><SPAN>: Illustration of AI-assisted compensation insights</SPAN></I><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>2. Boosting relevance with advanced prompting and model selection</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Accuracy of the AI predictions is key in providing value to our business users. Across use cases, teams are applying an array of prompt engineering and fine-tuning best practices to infuse domain knowledge and customer specific information. The approach is tailored to ensure that each use case meets business requirements and achieves the desired solution quality. For example, as an advanced prompt engineering technique, </SPAN><A href="https://arxiv.org/abs/2201.11903" target="_blank" rel="noopener nofollow noreferrer"><SPAN>chain of thought</SPAN></A><SPAN> (CoT) prompting facilitates the generation of more controlled, accurate, and relevant outputs through a step-by-step guidance process. Another example is an agentic strategy like </SPAN><A href="https://arxiv.org/abs/2210.03629" target="_blank" rel="noopener nofollow noreferrer"><SPAN>ReAct,</SPAN></A><SPAN> which empowers LLMs to leverage tools to improve accuracy.&nbsp;&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>We want to illustrate how best practices for advanced prompting techniques with long and short instruction contexts boost the accuracy of the SAP SuccessFactors AI-assisted compensation</SPAN><SPAN>.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>To create compensation insights, the context that provides instruction and grounding data about the employee is very important. For the compensation analysis processing to perform accurate arithmetic operations, the prompt instructions must be specific and well aligned with the pertinent contextual data.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Figure 4 compares the quantity accuracy of CoT prompts with long and short instruction contexts and a combination of CoT and ReAct prompts. To preserve the prompt-specific response from the LLM, we manually checked the quantity accuracy. The results show that all three prompting techniques achieved high accuracy scores for quantity extraction. The short context CoT prompt achieved the best arithmetic calculation accuracy. This demonstrates that employing advanced prompting techniques effectively yields high accuracies for both number extraction and arithmetic calculation.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_3-1715693119968.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110302i6B7EF1385CBEB114/image-size/large?v=v2&amp;px=999" role="button" title="342478_3-1715693119968.png" alt="342478_3-1715693119968.png" /></span></P><P><STRONG><I><SPAN>Figure 4</SPAN></I></STRONG><I><SPAN>: Boosting performance by leveraging domain knowledge through advanced prompting techniques</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Once the prompt version has been optimized, we choose the most suitable model from a variety of SAP-built and partner models. For example, for our use case we carry out a range of experiments to benchmark models. Continuing with </SPAN><SPAN>the short context CoT prompt, we conduct additional testing on LLM’s capability to categorize employees </SPAN><SPAN>by certain categories such as </SPAN><SPAN>“underpaid”, “overpaid” and “fair paid”, based on their compensation history data (Figure 5). Among five LLMs shown below, </SPAN><A href="https://openai.com/research/gpt-4" target="_blank" rel="noopener nofollow noreferrer"><SPAN>GPT-4</SPAN></A><SPAN> significantly outperforms the other models, achieving higher accuracy across all three categories.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>A combination of the techniques above supports an LLM-assisted process, well specialized and accurate in examining employee compensation data. This approach may be used in other scenarios too.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_4-1715693119968.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110301iFD833D614089EE67/image-size/large?v=v2&amp;px=999" role="button" title="342478_4-1715693119968.png" alt="342478_4-1715693119968.png" /></span></P><P><STRONG><I><SPAN>Figure 5:</SPAN></I></STRONG><I><SPAN> Comparison of the ability to classify “underpaid”, “overpaid” and “fair paid” from the employee compensation data</SPAN></I><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>3. Scenario-specific testing for reliable and robust results</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>The data in customer systems can be diverse, influenced by configuration and employee tenure. It is crucial that the generated insights are pertinent to the given context. This necessitates a regimen of scenario-specific, good coverage testing to ensure prompt is designed for robustness and adaptability.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In the context of the AI-assisted compensation, we follow this best practice and evaluate the LLM’s responses across a range of scenario-specific data inputs, focusing on a variety of scenarios, such as low or high variance in compensation trend, new and long-standing employees, and decreasing compensation ratio as an extreme case. The responses are then subject to human evaluation. A sample of the key findings are shown in Table 1. It can be seen that the prompt performs well across the tested scenarios, achieving high scores overall, although it scores slightly lower in the scenario involving very long compensation history.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_5-1715693119970.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110303i7D0C62683E68372F/image-size/large?v=v2&amp;px=999" role="button" title="342478_5-1715693119970.png" alt="342478_5-1715693119970.png" /></span></P><P><STRONG><I><SPAN>Table 1</SPAN></I></STRONG><SPAN>: </SPAN><I><SPAN>LLM result quality from various input data scenarios</SPAN></I><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>4. Optimizing and serializing input data for increased relevance and speed</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Further to scenario-specific testing, infusing business data into AI use cases is a key component for relevant results. For enterprise use cases this data often comes in tabular form and additional semantic context as provided by SAP’s business applications. This needs to be optimized too.&nbsp;&nbsp;&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>We begin by ensuring that the context data provided to generate insights is comprehensive to represent the employee’s tenure and compensation progression. Hence optimizing the token footprint of our input is a necessary step to optimize speed. Simultaneously, another goal is to enhance accuracy through structuring the tabular data input in a manner that maximizes the level of comprehension by LLMs.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Table 2 shows a mock data set, representing salary progression of an employee. Like many other applications designed specifically for SAP SuccessFactors, the data for employee information is stored as a tabular format (structured data). However, LLMs are naturally not good at understanding tabular data when incorporated into their prompts. This is because the connection between column headers and corresponding cell values breaks down when read sequentially. For instance, if we pass “2021” from the second row of Table 1 into the LLM, it will not recognize that value “2021” pertains to the column “Year”.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_6-1715693119972.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110305i3C820ECD3558E3D6/image-size/large?v=v2&amp;px=999" role="button" title="342478_6-1715693119972.png" alt="342478_6-1715693119972.png" /></span></P><P><STRONG><I><SPAN>Table 2.</SPAN></I></STRONG><I><SPAN> An example of the mock tabular data, used for employee compensation review</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>To </SPAN><SPAN>enhance the comprehensibility of tabular data for LLMs, we use a text template to serialize it, before passing it to the prompt. The serialization adheres to predefined templates</SPAN><SPAN>. </SPAN><SPAN>For example, a simple template can follow the format “The {</SPAN><SPAN>column_name</SPAN><SPAN>} is {</SPAN><SPAN>cell_value</SPAN><SPAN>}.”. Our tests demonstrate that the propos</SPAN><SPAN>ed serialization method successfully enables the LLM to understand the relations within the tabular data while maintaining a reduced token size leading to faster and more accurate results (approximately 25% fewer tokens compared to the original JSON format).</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>5. Understanding and mitigating inherent bias with prompt-centric debiasing</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>LLMs are prone to producing biased completions due to the imbalanced dataset in the training process. Preventing the propagation of bias in generative AI applications presents unique challenges due to their content-generating nature, such as the compensation tool generating talking points. However, we have best practices in place to identify and mitigate bias by applying techniques such as specific prompt engineering or fine-tuning.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>To illustrate this in the context of our use case, we examine potential unintended biases by simulating the recommended salary adjustments across different gender groups. This is achieved by alternating between male and female names in the input parameters to represent the respective gender groups, which are then used to invoke LLM API calls. Note that the salary adjustment is </SPAN><SPAN>not included in the end results presented to users; it is used exclusively for calculating the quantity for internal assessment purposes.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>The outcomes of these calls are subsequently analyzed for statistical assessment.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_7-1715693119973.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110306i0C70BAD8C1D84151/image-size/large?v=v2&amp;px=999" role="button" title="342478_7-1715693119973.png" alt="342478_7-1715693119973.png" /></span></P><P><STRONG><I><SPAN>Figure 6: </SPAN></I></STRONG><I><SPAN>Comparison for scenarios distinguished by gender in input and prompting style</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Figure 6 illustrates the evaluation flow for different scenarios based on gender in the input data and various prompting styles. Specifically, we adopt and assess the prompting thinking style via additional instructions to explicitly instruct the model to remain unbiased.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In Figure 7, we compare the distributions of results obtained before and after the use of unbiased style of prompting and gender pronoun removal. It is found that the use of proper prompting leads to a reduction in the bias, where male &amp; female cases receive similar result distributions with tighter bounds. When gender was directly included in the prompt, those identified as non-binary were generally favored by the LLM.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="04-07-1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110367iBD6BB564AFC8C825/image-size/large?v=v2&amp;px=999" role="button" title="04-07-1.png" alt="04-07-1.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="04-07-2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110368iB7149F26DE5D8B5C/image-size/large?v=v2&amp;px=999" role="button" title="04-07-2.png" alt="04-07-2.png" /></span></P><P> <STRONG><EM>Figure 7: </EM></STRONG><EM>Gender-based group result distributions: before and after (vertical bars represent ranges and dots represent outliers) </EM></P><P style=" text-align : justify; "><SPAN>The effect of bias reduction is illustrated in Figure 8. We deduce the bias from the discrepancies observed between the two gender groups. More specifically, we calculate the discrepancy between distributions of gender-based results by measuring the difference in their mean values on a standardized scale. In this figure, for instance, employing a basic prompt will lead to a difference of 0.162 between gender groups with GPT-4. However, this difference can be minimized to a much smaller one of 0.049 using the final prompt.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_10-1715693119974.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110308iA9A1612D2C48BC6B/image-size/large?v=v2&amp;px=999" role="button" title="342478_10-1715693119974.png" alt="342478_10-1715693119974.png" /></span></P><P><STRONG><I><SPAN>Figure 8: </SPAN></I></STRONG><I><SPAN>Effect of bias reduction based on discrepancy of gender group mean values&nbsp;</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Based on these evaluation of bias mitigation measures, we actively adjustment our approach to reduce bias in production implementation. This includes removing gender information from the prompt context data and adopting unbiased prompting style.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><STRONG><SPAN>6. Ensuring reliable and responsible AI through ethic review process</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In generative AI, ethical considerations are crucial due to its potential usage for completions, summarization, and classification use cases. Ensuring fairness, transparency, and accountability in the generation process is essential to mitigate biases, uphold privacy rights, and promote responsible business AI applications. At SAP, our AI ethics policy mandates that generative AI applications conform to the three fundamental pillars – “Human Agency &amp; Oversight”, “Addressing Bias &amp; Discrimination” and lastly “Transparency &amp; Explainability”.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; ">&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="342478_0-1715697802561.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110356iE0A806223E2F79EB/image-size/large?v=v2&amp;px=999" role="button" title="342478_0-1715697802561.png" alt="342478_0-1715697802561.png" /></span></P><P><STRONG><I><SPAN>Figure 9: </SPAN></I></STRONG><I><SPAN>Pillars of SAP’s AI ethics policy</SPAN></I><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>SAP SuccessFactors has an AI acknowledgment framework that the business users will acknowledge before using/viewing any AI </SPAN><SPAN>capability</SPAN><SPAN>. Additionally, the product standards and risk assessment process mandate that all personally identifiable data is handled appropriately and anonymized. Data access controls are applied by existing role-based permissions, and insight data available is restricted to what the user has access to. Based on application type and the data processed, AI use cases are internally categorized by risk level and undergo a review by the SAP AI ethics steering committee to address any potential concerns related to bias and data safety. The AI-assisted compensation discussion use case has had thorough reviews with the SAP ethics steering committee. The review process has resulted in a strengthened warning notice and improvements of both the prompt and insights content to reduce bias.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>The improvements involve steering clear of presumed performance, avoiding generic statements, and creating actionable, bulleted points. Following our best practices, users can view all the data sources that are used to generate insights, ensuring explainability and transparency. This process is described in detail as part of </SPAN><A href="https://www.sap.com/products/artificial-intelligence/ai-ethics.html?pdf-asset=7211ee96-647e-0010-bca6-c68f7e60039b&amp;page=1" target="_blank" rel="noopener noreferrer"><SPAN>SAP AI ethics handbook</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>At the same time, we remain compliant with the </SPAN><A href="https://www.europarl.europa.eu/topics/en/article/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence" target="_blank" rel="noopener nofollow noreferrer"><SPAN>European Union AI Act</SPAN></A><SPAN> on artificial intelligence, which lists manipulation of cognitive behavior, social scoring, biometric identification people, and their categorization based on it, as “unacceptable risks”. Furthermore, there are well defined transparency requirements towards general purpose AI systems, to be considered. Our solutions, including the AI-assisted compensation review, passes these tests, thanks to the above-mentioned stringent AI ethics review.</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Conclusion</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>At SAP, our engineering best practices are tailored to develop ethical, resilient, and scalable generative AI applications. This synergy enables us to unlock the full potential of generative AI within our business applications and platform to enhance efficiency and productivity for our customers.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>In this blog post, we illustrated this by exploring the critical intersection of SAP SuccessFactors business domain knowledge and generative AI expertise. We shared examples of engineering best practices applied during the development of AI-assisted compensation discussion scenario. We detailed the best practices by presenting their quantitative effectiveness from various perspectives, including relevance, robustness, reliability, and bias. Additionally, we outlined the AI ethics review that this use case has been subjected to.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN><I>Co-authored by Dr. Shu Zhen, Gayatri Gopalakrishnan, Dr. Jan Dumke, and&nbsp;<SPAN class="">Agarwal, Akhil</SPAN></I></SPAN></P> 2024-05-15T11:19:59.068000+02:00 https://community.sap.com/t5/technology-blogs-by-members/syniti-rdg-provides-an-effortless-way-to-create-data-model-extension/ba-p/13696183 Syniti RDG provides an effortless way to create Data Model extension. 2024-05-16T09:08:22.041000+02:00 HectorHerGar https://community.sap.com/t5/user/viewprofilepage/user-id/1389702 <P style=" text-align : justify; "><SPAN>In SAP Master Data Governance data can be stored in a staging or active area. Extending the data model with custom attributes or tables involves changes to the data structures in both the active and staging areas and defining a mapping between these data structures.</SPAN></P><P style=" text-align : justify; "><SPAN>T</SPAN><SPAN>raditionally, a user must perform the following steps to assign&nbsp;to do this configuration&nbsp;in SAP MDG System.&nbsp;&nbsp;</SPAN></P><UL style=" text-align : justify; "><LI><SPAN>Extending active area data model</SPAN></LI><LI><SPAN>Extending staging area data model</SPAN></LI><LI><SPAN>Generating MDG tables</SPAN></LI><LI><SPAN>Defining mapping from Staging to Active area</SPAN></LI><LI><SPAN>Defining mapping from Active to Staging area</SPAN></LI></UL><P style=" text-align : justify; "><SPAN>RDG provides the solution to extend SMT Mapping with an intuitive, user-friendly, and graphical interface.</SPAN></P><P style=" text-align : justify; "><SPAN>After a custom attribute is created and activated in either Business Partner or Material data models, an entity table for SMT mapping will be shown if applicable.&nbsp;</SPAN><SPAN>(SMT mapping is not relevant for attributes created under all entities).</SPAN></P><P style=" text-align : justify; ">&nbsp;</P><OL style=" text-align : justify; "><LI><SPAN>After custom attribute is created and activation is complete&nbsp;</SPAN><SPAN>mapping table will be shown.</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_0-1715248529844.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107919iD5263910CBBC92D0/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_0-1715248529844.png" alt="HectorHerGar_0-1715248529844.png" /></span><P>&nbsp;</P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_1-1715248529739.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107920iBD1520882E0042F9/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_1-1715248529739.png" alt="HectorHerGar_1-1715248529739.png" /></span></LI><LI><SPAN>Complete the mapping table by selecting a mapping step and structure to extend for each row. Source and Target will automatically populate. Click&nbsp;</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HectorHerGar_2-1715248529518.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107921iC1E522D76F487E46/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_2-1715248529518.png" alt="HectorHerGar_2-1715248529518.png" /></span><P>&nbsp;</P><SPAN>&nbsp;at the end of each row.<BR /></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_3-1715248529922.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107922i370A90B9C82D44AA/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_3-1715248529922.png" alt="HectorHerGar_3-1715248529922.png" /></span></LI><LI><SPAN>Click Done. Processing may take some time to complete. Click Refresh&nbsp;</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HectorHerGar_4-1715248529520.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107924iD1AA2BD5A1DCA6CF/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_4-1715248529520.png" alt="HectorHerGar_4-1715248529520.png" /></span><SPAN>&nbsp;when ready and receive success messages. If running the application using a cloud platform, additional notifications will be given to help you track the process</SPAN><SPAN>.&nbsp; &nbsp;</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_5-1715248529777.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107923i5BA26E1B9C24B901/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_5-1715248529777.png" alt="HectorHerGar_5-1715248529777.png" /></span></LI><LI>Extension, transformation and mapping are created correctly</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_6-1715248529745.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107926iEB1FD6B339D778F0/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_6-1715248529745.png" alt="HectorHerGar_6-1715248529745.png" /></span></P><P style=" text-align : justify; ">&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="HectorHerGar_7-1715248529933.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107927i22CADBE6141F3311/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_7-1715248529933.png" alt="HectorHerGar_7-1715248529933.png" /></span></P><P style=" text-align : justify; ">&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HectorHerGar_8-1715248529789.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107925i518D022AD102053E/image-size/medium?v=v2&amp;px=400" role="button" title="HectorHerGar_8-1715248529789.png" alt="HectorHerGar_8-1715248529789.png" /></span></P><P style=" text-align : justify; "><A href="https://store.sap.com/dcp/en/product/display-2001014736_live_v1/syniti-rapid-data-governance" target="_blank" rel="noopener noreferrer"><SPAN>Syniti RDG</SPAN></A><SPAN> is a certified SAP BTP&nbsp;</SPAN><SPAN>solution</SPAN><SPAN>&nbsp;on the </SPAN><A href="https://store.sap.com/dcp/en/" target="_blank" rel="noopener noreferrer"><SPAN>SAP App Store</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>To know more details about the product, check the blog </SPAN><A href="https://blogs.sap.com/2021/02/05/how-partner-add-on-solutions-enhance-saps-master-data-governance/" target="_blank" rel="noopener noreferrer"><SPAN>Partner Add-on Solutions</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Your opinions and feedback are highly appreciated, and feel free to post them in the comment section.</SPAN><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>Please follow and read more interesting blogs on </SPAN><A href="https://blogs.sap.com/tags/67837800100800004488/" target="_blank" rel="noopener noreferrer"><SPAN>SAP Master Data Governance | SAP | SAP Blogs</SPAN></A><SPAN>&nbsp;</SPAN></P><P style=" text-align : justify; "><SPAN>You can also find and post questions about the product here: </SPAN><A href="https://answers.sap.com/tags/67837800100800004488" target="_blank" rel="noopener noreferrer"><SPAN>SAP Master Data Governance Community</SPAN></A><SPAN>&nbsp;</SPAN></P> 2024-05-16T09:08:22.041000+02:00 https://community.sap.com/t5/technology-blogs-by-members/sap-btp-trial-account-creation-and-enabling-integration-suite-service-sap/ba-p/13702052 SAP BTP Trial Account Creation and Enabling Integration Suite service(SAP CPI) 2024-05-16T09:35:26.608000+02:00 Praveen_Kumar_B https://community.sap.com/t5/user/viewprofilepage/user-id/1401210 <OL><LI><SPAN>Create an SAP Account from&nbsp;</SPAN><A href="https://www.sap.com/" target="_blank" rel="noopener noreferrer"><SPAN>SAP.com</SPAN></A><SPAN>&nbsp;</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>It Creates the SAP Universal ID</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>Fill in the Required Fields and Click on Submit.</SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_30-1715767172460.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110839i2CD03D7BB447C310/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_30-1715767172460.png" alt="Praveen_Kumar_B_30-1715767172460.png" /></span></P><P>&nbsp;</P><P><SPAN>2. After Clicking on the Submit button, SAP will send an email to finalize your SAP account.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_1-1715766302026.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110792iFBB5F6D892C3B377/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_1-1715766302026.png" alt="Praveen_Kumar_B_1-1715766302026.png" /></span></P><P>&nbsp;</P><P><SPAN>3. Open Your Mail and Click to activate your account</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_2-1715766302042.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110791i2F68F037602E347D/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_2-1715766302042.png" alt="Praveen_Kumar_B_2-1715766302042.png" /></span></P><P>&nbsp;</P><P><SPAN>4. Now We have to create the SAP BTP Trial Account, go to&nbsp;</SPAN><A href="https://account.hana.ondemand.com/" target="_blank" rel="noopener nofollow noreferrer"><SPAN>account.hana.ondemand.com</SPAN></A><SPAN>&nbsp;and click on sign in, give your email and password, and click on sign in.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_3-1715766301992.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110793i2BAD4429186A4EEC/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_3-1715766301992.png" alt="Praveen_Kumar_B_3-1715766301992.png" /></span></P><P>&nbsp;</P><P><SPAN>5. After logging into the BTP Cockpit, Click on Trial Home.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_4-1715766302053.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110795i00B1283B7C382709/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_4-1715766302053.png" alt="Praveen_Kumar_B_4-1715766302053.png" /></span></P><P>&nbsp;</P><P><SPAN>6. Choose the region you want and click on Create Account</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_5-1715766302036.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110794i95F8B2A461E2368C/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_5-1715766302036.png" alt="Praveen_Kumar_B_5-1715766302036.png" /></span></P><P>&nbsp;</P><P><SPAN>7. After clicking on Create Account, it creates a Global account and subaccount for you, then click on Continue.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_6-1715766302013.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110797i0A9D5E79EEB20815/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_6-1715766302013.png" alt="Praveen_Kumar_B_6-1715766302013.png" /></span></P><P>&nbsp;</P><P><SPAN>8. Click on Go To Your Trial Account.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_7-1715766302068.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110796iE02BB19A83B24DDA/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_7-1715766302068.png" alt="Praveen_Kumar_B_7-1715766302068.png" /></span></P><P>&nbsp;</P><P><SPAN>9. Click on Subaccount.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_8-1715766302027.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110798i6A3ABB7DDEB24ED1/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_8-1715766302027.png" alt="Praveen_Kumar_B_8-1715766302027.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;10.&nbsp;</SPAN><SPAN>Click on Instances and Subscriptions</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_9-1715766302127.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110800i9E612F69C993211C/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_9-1715766302127.png" alt="Praveen_Kumar_B_9-1715766302127.png" /></span></P><P>&nbsp;</P><P><SPAN>11. Here we can see the services we subscribed to.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P style=" padding-left : 30px; "><SPAN>To access the Integration Suite, first, we must Subscribe to it.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_10-1715766302184.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110801i7CEF985BAF0E5ED4/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_10-1715766302184.png" alt="Praveen_Kumar_B_10-1715766302184.png" /></span></P><P>&nbsp;</P><P><SPAN>12. To Subscribe to the Integration Suite, click on Service Marketplace and search for Integration Suite.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_11-1715766302031.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110802iBC55963A92D66F1A/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_11-1715766302031.png" alt="Praveen_Kumar_B_11-1715766302031.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;13.&nbsp;</SPAN><SPAN>Click on Integration Suite and click on Create.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_12-1715766302159.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110804i8DDF77B33C66B704/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_12-1715766302159.png" alt="Praveen_Kumar_B_12-1715766302159.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;14.&nbsp;</SPAN><SPAN>Click on create.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_13-1715766302176.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110805iDA714236F5F35A02/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_13-1715766302176.png" alt="Praveen_Kumar_B_13-1715766302176.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;15.&nbsp;</SPAN><SPAN>To check Whether the Integration Suite is created or not click on View Subscription.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_14-1715766302382.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110803iB484D760D0CD42A8/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_14-1715766302382.png" alt="Praveen_Kumar_B_14-1715766302382.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;16.&nbsp;</SPAN><SPAN>Now we can see the Integration suite in subscriptions.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Click on Integration Suite, it will open the Integration Suite.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_15-1715766302102.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110806i97BA2290000989B0/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_15-1715766302102.png" alt="Praveen_Kumar_B_15-1715766302102.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;17.&nbsp;</SPAN><SPAN>It will Show you the Authorization error because to access the Integration Suite we have to assign an&nbsp;</SPAN><STRONG><SPAN>Integration_Provisioner</SPAN></STRONG><SPAN>&nbsp;Role for the User.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_16-1715766302057.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110808iD6AACED8478B32AA/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_16-1715766302057.png" alt="Praveen_Kumar_B_16-1715766302057.png" /></span></P><P>&nbsp;</P><P><SPAN>18. To assign an&nbsp;</SPAN><STRONG><SPAN>Integration_Provisioner</SPAN></STRONG><SPAN>&nbsp;Role, Go back to the BTP Cockpit click on Users, and select the User.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_29-1715766964557.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110836i54720A6A59AD6944/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_29-1715766964557.png" alt="Praveen_Kumar_B_29-1715766964557.png" /></span></P><P>&nbsp;</P><P><SPAN>&nbsp;19.&nbsp;</SPAN><SPAN>After Selecting the User click on Assign Role Collection.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_18-1715766302054.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110809i2E59595CC56F0CCF/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_18-1715766302054.png" alt="Praveen_Kumar_B_18-1715766302054.png" /></span></P><P>&nbsp;</P><P><SPAN>20. Search for the&nbsp;</SPAN><SPAN>Integration_Provisioner</SPAN><SPAN>&nbsp;Role and click on&nbsp; Assign Role Collection.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_19-1715766302155.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110810iF5FB58E27FB45EC6/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_19-1715766302155.png" alt="Praveen_Kumar_B_19-1715766302155.png" /></span></P><P>&nbsp;</P><P><SPAN>21. After Assigning Role, Click on Instances and Subscriptions and then Click on Integration Suite.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_20-1715766302065.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110811i7C04024C2D5C2299/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_20-1715766302065.png" alt="Praveen_Kumar_B_20-1715766302065.png" /></span></P><P>&nbsp;</P><P><SPAN>22. Click on Add Capabilities.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Note: - Sometimes it will not show the add capabilities option, it will take time to resolve this Refresh the page or try sign-out and Sign in again.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_21-1715766302039.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110814iD1E8E29AFEBF3835/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_21-1715766302039.png" alt="Praveen_Kumar_B_21-1715766302039.png" /></span></P><P>&nbsp;</P><P><SPAN>23. After clicking on Add Capabilities, it will show you the list of Capabilities,</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Select the capabilities that you need and click on next.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_22-1715766302415.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110813iDC7FD4AD41BA21BD/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_22-1715766302415.png" alt="Praveen_Kumar_B_22-1715766302415.png" /></span></P><P>&nbsp;</P><P><SPAN>24. In capabilities if you select Manage APIs then this step will appear, select the two checkboxes and click on next.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_23-1715766302045.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110812iCCF912D7F81C81F7/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_23-1715766302045.png" alt="Praveen_Kumar_B_23-1715766302045.png" /></span></P><P>&nbsp;</P><P><SPAN>25. Click on Activate.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_24-1715766302168.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110816iAAFBC27ED1BCFFD4/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_24-1715766302168.png" alt="Praveen_Kumar_B_24-1715766302168.png" /></span></P><P>&nbsp;</P><P style=" text-align : left; "><SPAN>26. To activate Capabilities of Integration Suite it will take some time.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_25-1715766302155.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110815i7F3BCFBC0081DC78/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_25-1715766302155.png" alt="Praveen_Kumar_B_25-1715766302155.png" /></span></P><P>&nbsp;</P><P><SPAN>27. After the activation click on ok.</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_26-1715766302119.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110817i808DF4F5AE1F4F03/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_26-1715766302119.png" alt="Praveen_Kumar_B_26-1715766302119.png" /></span></P><P>&nbsp;</P><P style=" text-align : left; "><SPAN>28. To create and monitor the Iflow we need to assign some roles related to Process Integration.</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>Go back to BTP Cockpit-&gt;</SPAN><SPAN>User-&gt;</SPAN><SPAN>Assign the below Roles</SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_27-1715766302059.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110819iFDAED0BE8C2B1967/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_27-1715766302059.png" alt="Praveen_Kumar_B_27-1715766302059.png" /></span></P><P>&nbsp;</P><P><SPAN>29.&nbsp; Now open the Integration Suite from BTP cockpit-&gt;</SPAN><SPAN>Instances and subscriptions.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Now You can create, edit, and monitor the Iflows.</SPAN><SPAN><BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_28-1715766302403.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110818i2528B8FD5E1F9607/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_28-1715766302403.png" alt="Praveen_Kumar_B_28-1715766302403.png" /></span></P> 2024-05-16T09:35:26.608000+02:00 https://community.sap.com/t5/technology-blogs-by-members/how-to-use-the-odata-api-for-exchanging-messages-from-logs-and-the/ba-p/13700347 How to use the OData-API for exchanging Messages from Logs and the Datastore in Integration Suite 2024-05-16T09:36:10.757000+02:00 JoergHopmann https://community.sap.com/t5/user/viewprofilepage/user-id/1427690 <P>In this blog I will show the basic steps and components to access the&nbsp;<EM>MessageProcessingLog</EM> and the attached messages, wether they are stored in the log itself, in the <EM>MessageStore</EM> or in the <EM>DataStore.</EM></P><P><EM>Later in further blogs I will go into details and show some specific implementations and will compare the different types of message-stores. So please be patient and check back for further information.</EM></P><P><EM>The starting point is in the&nbsp;<A title="SAP Business Accelerator Hub" href="https://api.sap.com/" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>.</EM>&nbsp;There is an API package&nbsp;<EM>SAP Cloud Integration</EM> which offers some OData APIs in Version 2. We are focussing on the&nbsp;<EM>Message Processing Logs and download the definition of, what is called here a vdm - virtual data model. I don't want to go deeper in the edmx, only so far, if you search on your fav. search-engine you may get the following statement:</EM></P><P style=" padding-left : 30px; "><EM>edmx file is&nbsp;<STRONG>an XML file that defines an Entity Data Model (EDM), describes the target database schema, and defines the mapping between the EDM and the database</STRONG>.</EM></P><P>On the Business Accelerator Hub you can find tons of documentation about how to use the source code generator in maven, on how to build up (in this case) java-classes, test the API online, with a sandbox or with your own tenant and even code-snippets in many different languages can be downloaded.</P><P>In our scenario we build a client in the Netweaver Development Studio. Then maven-support is initially not part of it but can be added. Search for the keyword M2E. A good starting point on how to generate the client classes (vdm - virtual data model) and how to generate a project from a Maven archetype is on&nbsp;<A title="SAP GitHub" href="https://sap.github.io/cloud-sdk/docs/java/getting-started" target="_blank" rel="noopener nofollow noreferrer">sap.github.io</A>&nbsp;.</P><P>The overall framework for the implementation here is an OnPremise fat-client, but everything can run deployed on a BTP tenant, only the GUI frontend needs to be changed.</P><P>What you get when generating the sources for your client is the following helper-packages and classes and a&nbsp;<EM>MessageProcessingLogsService</EM>:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MessageProcessingLogs.jpg" style="width: 357px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110098i575C94E176F082B6/image-dimensions/357x349?v=v2" width="357" height="349" role="button" title="MessageProcessingLogs.jpg" alt="MessageProcessingLogs.jpg" /></span></P><P>There are several steps to consider for enhancing your pom-file: Dependencies and plugins. E.g. here:&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-application-programming-model-deep-insert-5-consume-remote/ba-p/13419185" target="_blank">SAP Cloud Application Programming Model: Deep Insert (5) Consume Remote Service with SAP Cloud SDK</A>&nbsp;</P><P>The starting point here is the method getAllMessageProcessingLogs()</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="methods.jpg" style="width: 361px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110106i339EF188623F8803/image-dimensions/361x432?v=v2" width="361" height="432" role="button" title="methods.jpg" alt="methods.jpg" /></span></P><P>Depending on wether the code runs on your local laptop or in the cloud, you have to create a destination first:</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>import com.sap.cloud.sdk.cloudplatform.connectivity.AuthenticationType; import com.sap.cloud.sdk.cloudplatform.connectivity.DefaultHttpDestination; import com.sap.cloud.sdk.cloudplatform.connectivity.HttpDestination; import com.sap.cloud.sdk.cloudplatform.security.BasicCredentials; (...) public DefaultHttpDestination getDestination() throws IllegalArgumentException { if (destination == null) { if (this instanceof BasicAuthentication) { destination = DefaultHttpDestination.builder(tenant.getURL()) .authenticationType(AuthenticationType.BASIC_AUTHENTICATION) .basicCredentials(new BasicCredentials(((BasicAuthentication)this).getUser(), ((BasicAuthentication)this).getPassword())) .keyStore(keystore) .build(); } } return destination; }</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>(On your tenant you can use the&nbsp;<EM>DestinationService)</EM></P><P>With the destination described above we can request all packages and artifacts. As for now the request is sent by&nbsp;<EM>getAllIntegrationRuntimeArtifacts(). This includes iFlows but also Rest-APIs and more. </EM></P><P><EM>Unfortunately</EM></P><UL><LI><EM>runtime-artifacts do not point to any package</EM></LI><LI><EM>designtime-artifacts are called from a package-perspective but do not include some types like Rest-APIs.&nbsp;</EM></LI></UL><P><EM>(Status on 2024-05-24 is a response of HTTP 501 - not yet implemented. the dev is seems still working on putting everything in place)</EM></P><P><EM>Hence we have a gap of links between packages and artifacts, in case they are not iFlows (e.g. Rest-Api).&nbsp;</EM>The following code puts "everything" together as complete as possible and attaches the artifacts without a link to a package into a virtual package named "&lt;unknown&gt;"</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>//create Hashtable for storing our version of packages designPackages = new Hashtable&lt;String, DesignPackage&gt;(); if (authentication != null) { //get url String tenantURL = authentication.getTenant().getRuntimeURL(); //create destination DefaultHttpDestination destination = authentication.getDestination(); //create the services generated in the vdm IntegrationContentService iCS = new DefaultIntegrationContentService().withServicePath("/api/v1/"); //create Hashtable for storing our version of runtime artifacts Hashtable&lt;String, IntegrationRuntimeArtifact&gt; ira_table = new Hashtable&lt;String, IntegrationRuntimeArtifact&gt;(); //retrieve all packages, execute the network-request try { final List&lt;IntegrationPackage&gt; ip = iCS.getAllIntegrationPackages() .executeRequest(destination); //retrieve all runtime artifacts final List&lt;IntegrationRuntimeArtifact&gt; ira = iCS.getAllIntegrationRuntimeArtifacts() .executeRequest(destination); //and put them in the table for (IntegrationRuntimeArtifact ira_iter : ira) ira_table.put(ira_iter.getId(), ira_iter); //iterate over all packages for (IntegrationPackage ip_iter : ip) { //store it in our Hashtable DesignPackage dp = new DesignPackage(ip_iter); designPackages.put(dp.getName(), dp); //get artifacts for this package final List&lt;IntegrationDesigntimeArtifact&gt; ida = ip_iter.getIntegrationDesigntimeArtifactsOrFetch(); //set artifacts as child to the package for (IntegrationDesigntimeArtifact ida_iter : ida) { String url = tenantURL + "/http/" + ida_iter.getId(); Artifact a = new Artifact(ida_iter, url); dp.addArtifact(a); //remove from the list of runtime artifacts ira_table.remove(a.getId()); } } //add remaining artifacts not linked to any package if (ira_table.size() &gt; 0) { //default package IntegrationPackage integrationPackage = new IntegrationPackage(); integrationPackage.setName("&lt;unknown&gt;"); defaultDesignPackage = new DesignPackage(integrationPackage); designPackages.put(defaultDesignPackage.getName(), defaultDesignPackage); Enumeration&lt;String&gt; t = ira_table.keys(); while (t.hasMoreElements()) { String iraId = t.nextElement(); Artifact a = new Artifact((IntegrationRuntimeArtifact)ira_table.get(iraId), tenantURL + "/http/" + iraId + "/*"); defaultDesignPackage.addArtifact(a); } } } catch (com.sap.cloud.sdk.datamodel.odata.client.exception.ODataConnectionException e) { } catch (ODataException e) { } catch (Exception e) { } }</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Having all packages and artifacts in place, we can get a (filtered) set of log-entries:</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>/** * Returns an ArrayList of LogEntries. * The list is based on the filtering. * &lt;p&gt; * This methods processing-time depends on the amount of data requested from BTP. * The status should be set on the GUI for user-information. * In future releases this method will work in a background-task. * * authentication object relevant for login and serving a destination based on this creds * logListFilter the object for filtering the requested logs, i.e. datetime and number of entries * @return ArrayList of LogEntries. */ public ArrayList&lt;LogEntry&gt; updateMessageProcessingLog(Authentication authentication, LogListFilter logListFilter) { ArrayList&lt;LogEntry&gt; logEntries = new ArrayList&lt;LogEntry&gt;(); if (authentication != null) { MessageProcessingLogFluentHelper mPLFH = mPLS.getAllMessageProcessingLogs(); //logs should be filtered always by artifact-id (which is unique) if (logListFilter.getArtifact() != null) mPLFH = mPLFH.filter(MessageProcessingLog.INTEGRATION_FLOW_NAME.eq(logListFilter.getArtifact().getId())); //number of results limited by number? if (logListFilter.getCountFilterEnabled()) { mPLFH = mPLFH .skip(logListFilter.getCountFilterFrom() - 1) .top(logListFilter.getCountFilterTo()); } //filtered by date? if (logListFilter.getDateFilterEnabled()) { //set start and end, logListFilter returns a @LocalDateTime mPLFH = mPLFH.filter(MessageProcessingLog.LOG_START.gt(logListFilter.getDateTimeFilterStart())); mPLFH = mPLFH.filter(MessageProcessingLog.LOG_END.lt(logListFilter.getDateTimeFilterEnd())); } //the result is always ordered ascending by the LogEnd mPLFH = mPLFH.orderBy(MessageProcessingLog.LOG_END, Order.ASC); final List&lt;MessageProcessingLog&gt; mpl = mPLFH.executeRequest(authentication.getDestination()); for (MessageProcessingLog mpl_iter : mpl) { logEntries.add(new LogEntry(mpl_iter)); try { List&lt;MessageStoreEntry&gt; messageStoreEntries = mpl_iter.fetchMessageStoreEntries(); if (messageStoreEntries != null) for (MessageStoreEntry mse : messageStoreEntries) { List&lt;MessageStoreEntryAttachment&gt; mSEAs = mse.fetchAttachments(); //in future releases &lt;do_something&gt; with the MessageStoreEntries and their attachments } } catch(com.sap.cloud.sdk.datamodel.odata.client.exception.ODataResponseException e) { System.out.println("com.sap.cloud.sdk.datamodel.odata.client.exception.ODataResponseException"); } } } return logEntries; }</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>The result, shown as a Java-GUI is as following:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BTPcl_1.jpg" style="width: 932px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111014iC71D40AF1B8A522E/image-size/large?v=v2&amp;px=999" role="button" title="BTPcl_1.jpg" alt="BTPcl_1.jpg" /></span></P><P>The java-object MessageProcessingLog and corresponding ..Attachment is based on the classes automatically created within the generator-plugin:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MPLAttachment.jpg" style="width: 461px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110314i73328775844145E0/image-dimensions/461x138?v=v2" width="461" height="138" role="button" title="MPLAttachment.jpg" alt="MPLAttachment.jpg" /></span>&nbsp;</P><P>With that code we can retrieve the payload on any message starting from object MessageProcessingLog retrieve a MessageProcessingLogAttachment with the following code:</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>import com.sap.cloud.sdk.datamodel.namespaces.messageprocessinglogs.MessageProcessingLog; import com.sap.cloud.sdk.datamodel.namespaces.messageprocessinglogs.MessageProcessingLogAttachment; (...) //the messageprocessinglog returns a java-List of attachments List&lt;MessageProcessingLogAttachment&gt; mplAttachments = null; try { mplAttachments = messageProcessingLog.fetchAttachments(); //create a Hashtable which we use to store a local object version of attachment, keys derived from the attachment-name attachments = new Hashtable&lt;String, LogAttachment&gt;(); for (MessageProcessingLogAttachment mpla_iter : mplAttachments) { LogAttachment logAttachment = new LogAttachment(mpla_iter); //use the name as key and put the attachment in the hashtable attachments.put(mpla_iter.getName(), logAttachment); //this logEntry has an attachment hasAttachment = true; } isPrepared = true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Different to the previous approaches, the attachment itself (payload) is not provided as a java-object, but by an InputStream. It will be stored in a String and returned by a getter:</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-java"><code>//the constructor gets the 'mpla' when instantiated public LogAttachment(MessageProcessingLogAttachment mpla) { this.mpla = mpla; } //prepare the payload seperate from the getter (for caching purpose) public void preparePayload() { InputStream is; try { is = mpla.fetchMediaStream(); if ( is instanceof ByteArrayInputStream) { int n; try { n = is.available(); byte[] bytes = new byte[n]; is.read(bytes, 0, n); payload = new String(bytes, StandardCharsets.UTF_8); } catch (IOException e) { e.printStackTrace(); } } } catch (ODataException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //getter for returning the payload as a String //Todo for a future release: what happens if a payload is 'big'? Let's say &gt; 10mb. //We don't want to store that in memory in a String!? public String getPayload() { if (payload == null) preparePayload(); return payload; }</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Based on the code shown in this blog any app can download, show and also re-send the payload to it's origin:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JoergHopmann_0-1715688559247.png" style="width: 457px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110185i69D124D0222BF189/image-dimensions/457x297?v=v2" width="457" height="297" role="button" title="JoergHopmann_0-1715688559247.png" alt="JoergHopmann_0-1715688559247.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="resend.jpg" style="width: 501px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110333i1576C9A01B5CFD57/image-dimensions/501x287?v=v2" width="501" height="287" role="button" title="resend.jpg" alt="resend.jpg" /></span></P><P>&nbsp;</P><P>Stay tuned for further blogs describing details. Don't hesitate to request details in which you are interested.</P><P>Best regards Jörg Hopmann</P><P>&nbsp;</P> 2024-05-16T09:36:10.757000+02:00 https://community.sap.com/t5/technology-blogs-by-members/sap-hana-database-creation-from-sap-btp/ba-p/13702331 SAP HANA Database Creation from SAP BTP 2024-05-16T09:36:22.580000+02:00 Praveen_Kumar_B https://community.sap.com/t5/user/viewprofilepage/user-id/1401210 <P><U><STRONG>Creation of SAP HANA Database Instance in SAP BTP</STRONG></U></P><P>&nbsp;</P><OL><LI>Open <A href="https://account.hana.ondemand.com/" target="_blank" rel="noopener nofollow noreferrer">SAP BTP Cockpit</A> and click on subaccount.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_0-1715775506967.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110988iAC0AF2EE61356196/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_0-1715775506967.png" alt="Praveen_Kumar_B_0-1715775506967.png" /></span></P><P>&nbsp;</P><P>2. Click on Instances and Subscriptions and then click on create button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_1-1715775506978.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110987iC5AAE3DA31CBCB56/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_1-1715775506978.png" alt="Praveen_Kumar_B_1-1715775506978.png" /></span></P><P>3. Select Service as SAP HANA Cloud and Plan as tools.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_2-1715775506981.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110986i5E5E7D1A2234FE82/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_2-1715775506981.png" alt="Praveen_Kumar_B_2-1715775506981.png" /></span></P><P>4. SAP HANA Cloud is now subscribed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_3-1715775506986.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110989i3942094AA494E2D3/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_3-1715775506986.png" alt="Praveen_Kumar_B_3-1715775506986.png" /></span></P><P>5. Click on Security -&gt; Users and select the user.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_4-1715775506994.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110990iD8A130C80F9225E4/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_4-1715775506994.png" alt="Praveen_Kumar_B_4-1715775506994.png" /></span></P><P>6. Click on Assign Role Collection.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_5-1715775507001.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110991i2282CE2CA5C7823A/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_5-1715775507001.png" alt="Praveen_Kumar_B_5-1715775507001.png" /></span></P><P>7. Assign the following three roles.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_6-1715775507006.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110995i94D24B8969856BB1/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_6-1715775507006.png" alt="Praveen_Kumar_B_6-1715775507006.png" /></span></P><P>8. Click on SAP HANA Cloud Application; it will open in new window.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_7-1715775507010.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110994i540399C56EF892EC/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_7-1715775507010.png" alt="Praveen_Kumar_B_7-1715775507010.png" /></span></P><P>9. Click on create Instance.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_8-1715775507015.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110993i22F57FDF6A0820F0/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_8-1715775507015.png" alt="Praveen_Kumar_B_8-1715775507015.png" /></span></P><P>10. Select SAP HANA Cloud, SAP HANA Database and Next Step</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_9-1715775507021.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110998i9381196922927F01/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_9-1715775507021.png" alt="Praveen_Kumar_B_9-1715775507021.png" /></span></P><P>11. Provide the instance name and password (next step).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_10-1715775507033.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110997i3581D5A02F046591/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_10-1715775507033.png" alt="Praveen_Kumar_B_10-1715775507033.png" /></span></P><P>12. Click on Next Step.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_11-1715775507043.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110996i941575080066C66E/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_11-1715775507043.png" alt="Praveen_Kumar_B_11-1715775507043.png" /></span></P><P>13. Click on Next Step.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_12-1715775507051.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111001iB46A00F3080E7CF3/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_12-1715775507051.png" alt="Praveen_Kumar_B_12-1715775507051.png" /></span></P><P>14. Select Allow all IP addresses, Enable Cloud Connector, and select Allow all IP addresses --&gt; Next Step.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_13-1715775507073.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111000i8FDF880882ED6005/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_13-1715775507073.png" alt="Praveen_Kumar_B_13-1715775507073.png" /></span></P><P>15. Click on Review and Create.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_14-1715775507087.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110999i0F15247610276EF6/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_14-1715775507087.png" alt="Praveen_Kumar_B_14-1715775507087.png" /></span></P><P>16. Click on Create Instance.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_15-1715775507106.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111003i5E009CCCDDA4BB91/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_15-1715775507106.png" alt="Praveen_Kumar_B_15-1715775507106.png" /></span></P><P>17. Wait until the Instance status turns into Running state and click on Actions three dots.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_16-1715775507113.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111002i8C6139CC6BBD091E/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_16-1715775507113.png" alt="Praveen_Kumar_B_16-1715775507113.png" /></span></P><P>18. Go to <STRONG>Open in SAP HANA Database Explorer; </STRONG>it will open in new window<STRONG>.</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_17-1715775507118.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111004i8798CF9B80E3DA39/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_17-1715775507118.png" alt="Praveen_Kumar_B_17-1715775507118.png" /></span></P><P>19. Enter the Credentials</P><P style=" padding-left : 30px; ">Username: <STRONG>DBADMIN</STRONG>&nbsp;&nbsp;</P><P style=" padding-left : 30px; ">Password: “use the password which was created at <STRONG>Step 11</STRONG>”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_18-1715775507121.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111006iCF070EF225823BD1/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_18-1715775507121.png" alt="Praveen_Kumar_B_18-1715775507121.png" /></span></P><P>20. Click on SQL Console Icon at the top left.</P><P style=" padding-left : 60px; ">Now the SAP HANA Database is ready to use.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Praveen_Kumar_B_19-1715775507124.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111005i23272E2B66C5D9E9/image-size/medium?v=v2&amp;px=400" role="button" title="Praveen_Kumar_B_19-1715775507124.png" alt="Praveen_Kumar_B_19-1715775507124.png" /></span></P> 2024-05-16T09:36:22.580000+02:00 https://community.sap.com/t5/technology-blogs-by-members/build-apps-integration-with-on-premise-systems/ba-p/13700810 Build Apps Integration with On-premise systems 2024-05-16T09:39:15.391000+02:00 SijinMathewGeorge https://community.sap.com/t5/user/viewprofilepage/user-id/870952 <P>The data plays a critical role in the functionality of the app.</P><P>Data can be integrated to the Build Apps in the following ways:</P><OL><LI>Creating Dummy Entities with dummy data or on device storage data.</LI><LI>Creating Entities with the global REST APIs.</LI><LI>Integrating Build Apps with on-premise and fetching the on-premise entities.</LI></OL><P>We would focus on the most realistic option that is fetching the real-time system data and integration of Build Apps with the OData services created on the on-premise systems.</P><P><STRONG>Design: </STRONG></P><P>We would like to display a simple example where the App would list of products with their respective image, description and MRP maintained in SAP.</P><P>The backend OData service would contain an entity ProductsSet that would contain properties of a material like Image, description and MRP.</P><P><STRONG>Integration:</STRONG></P><P>Till now, it has been widely accepted that Build Apps can be accessed from SAP BTP Account. BTP Account must have a cloud connector which would configure the systems connected to the cloud.</P><P>In the subaccount, under connectivity, Destinations are configured.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.jpg" style="width: 181px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110187iA352FFB3E0F9B961/image-size/medium?v=v2&amp;px=400" role="button" title="1.jpg" alt="1.jpg" /></span></P><P>&nbsp;</P><P>The entire OData URL has been configured as shown below under destination BuildDestination.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110188iD50FAD3BEDBAF12E/image-size/medium?v=v2&amp;px=400" role="button" title="2.jpg" alt="2.jpg" /></span></P><P>Once the destination is configured, we can navigate to the SAP Build Apps.</P><P>Under the Auth section, enable the Authentication.</P><P>Open Auth (Authentication) → Enable Authentication.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110191i187B6DCB787E20C8/image-size/medium?v=v2&amp;px=400" role="button" title="3.jpg" alt="3.jpg" /></span></P><P>There are three types of Authentication Method in Build Apps.</P><UL><LI>Google Firebase.</LI><LI>SAP BTP Authentication</LI><LI>Direct Third Party Authentication</LI></UL><P>We would go for SAP BTP Authentication.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110194i5EC69B6B9DA4A4B6/image-size/medium?v=v2&amp;px=400" role="button" title="4.jpg" alt="4.jpg" /></span></P><P>As we need to select the data from the backend, Under the Data tab, select add Integration.</P><P>Select Data → Add Integration.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="5.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110214iB23A4C7BBD54D970/image-size/medium?v=v2&amp;px=400" role="button" title="5.jpg" alt="5.jpg" /></span></P><P>&nbsp;</P><P>Select SAP Systems-&gt;BTP Destinations</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="6.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110217i0F76958B6AF60EBB/image-size/medium?v=v2&amp;px=400" role="button" title="6.jpg" alt="6.jpg" /></span></P><P>The created destination will be showed there, select the Destination.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="7.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110223i0C5F8006175A16FD/image-size/medium?v=v2&amp;px=400" role="button" title="7.jpg" alt="7.jpg" /></span></P><P>Once the destination is selected, the list of entities from the Rest service would be displayed.</P><P>Click on Install Integration and enable data entity.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="8.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110226i324CE9EFEE635960/image-size/medium?v=v2&amp;px=400" role="button" title="8.jpg" alt="8.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="9.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110227iEAA4A24549DE828D/image-size/medium?v=v2&amp;px=400" role="button" title="9.jpg" alt="9.jpg" /></span></P><P>Switch to the UI Canvas. Under Data variables, we can create Entities as a variable. Select the entityset that is a collection of records and save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="11.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110235i4AED69FE3E306443/image-size/medium?v=v2&amp;px=400" role="button" title="11.jpg" alt="11.jpg" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="12.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110234iF3BD2219F7013D73/image-size/medium?v=v2&amp;px=400" role="button" title="12.jpg" alt="12.jpg" /></span></P><P>Switch to the view in the UI Canvas and the UI element used here is Large Image List Item which is which is available in Market Place.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="13.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110239iC62D2D64199489E0/image-size/medium?v=v2&amp;px=400" role="button" title="13.jpg" alt="13.jpg" /></span></P><P>The Repeat with property of the List Container can be bound with the data variables we had set previously.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="14.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110242iA8BF881C267C4FF2/image-size/medium?v=v2&amp;px=400" role="button" title="14.jpg" alt="14.jpg" /></span></P><P>&nbsp;</P><P>Select the entityset and save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="15.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110244iAD19F2401696A18E/image-size/medium?v=v2&amp;px=400" role="button" title="15.jpg" alt="15.jpg" /></span></P><P>The properties, label can be bound to the Maktx of the entityset.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="16.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110248i486EE06123BB4C6E/image-size/medium?v=v2&amp;px=400" role="button" title="16.jpg" alt="16.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="17.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110249iD513DDA5098F86B3/image-size/medium?v=v2&amp;px=400" role="button" title="17.jpg" alt="17.jpg" /></span></P><P>Similarly, price can be bound to the property Description text.</P><P>As we need to display the image too, the image can be bound using the formula URL(repeated.current.ImageContent).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="18.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110251iB758D591CE0A75CB/image-size/medium?v=v2&amp;px=400" role="button" title="18.jpg" alt="18.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="19.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110252i29CF6497CD25B25B/image-size/medium?v=v2&amp;px=400" role="button" title="19.jpg" alt="19.jpg" /></span></P><P>&nbsp;</P><P>Once the binding is completed, The Image, Description and Price of the products could be shown on the screen.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="20.jpg" style="width: 223px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110254i3DFD30D58027D9E6/image-size/medium?v=v2&amp;px=400" role="button" title="20.jpg" alt="20.jpg" /></span></P><P>&nbsp;</P><P>Hurray! A real time Build App with the secure connection to backend is ready!</P><P>&nbsp;</P> 2024-05-16T09:39:15.391000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-datasphere-multilingual-support-master-data-translation/ba-p/13700657 SAP Datasphere Multilingual Support - Master Data Translation 2024-05-16T10:22:57.119000+02:00 mona_durai https://community.sap.com/t5/user/viewprofilepage/user-id/542031 <P><SPAN>In this blog we will provide you the overview of Master data translation. We will walk you through each case and how it can be visualized in the Analytical Model Preview as well.</SPAN><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>This article is the </SPAN><SPAN>first</SPAN><SPAN> in the blog post series on multilingual capabilities in SAP Datasphere.</SPAN></P><P><SPAN>Blog Post #1: SAP Datasphere Multilingual Support - Master Data Translations</SPAN><SPAN> (this blog)</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Blog Post #2: <A title="Translating Metadata using the Translation Dashboard in SAP Datasphere" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-datasphere-multilingual-support-translation-dashboard/ba-p/13702743" target="_self">Translating Metadata using the Translation Dashboard in SAP Datasphere</A></SPAN></P><P><STRONG><SPAN>Introduction</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P><SPAN>Master data text is the descriptive information associated to the respective master data. For example, customers, products, vendors, materials and their hierarchies can have their independent description in their respective text table. In general, the master data or fact data entity has only IDs. In the analytical representation, if the textual data gets fetched it adds more value and additional context to the better understanding.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>In SAC stories, displaying the product description rather than their id's gives a better understanding to the visuals.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Master Data Translation within SAP Datasphere can be accomplished through various methods.</SPAN><SPAN>&nbsp;</SPAN></P><OL><LI><SPAN>Semantic mapping from an attribute within entity</SPAN><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Text Association</SPAN><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Dimension Association</SPAN><SPAN>&nbsp;</SPAN></LI><LI>Hierarchy Association</LI></OL><P>&nbsp;</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Figure1: Dependent entities of the Analytical Model" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110109i17C52EDE6A8D1048/image-size/large?v=v2&amp;px=999" role="button" title="Figure1.png" alt="Figure1: Dependent entities of the Analytical Model" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure1: Dependent entities of the Analytical Model</span></span></P><P>&nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Figure2: Text/Dimension Associations in the entity – SALES (fact)" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110082i3B2E1011B0AFFE2E/image-size/large?v=v2&amp;px=999" role="button" title="Figure2.jpg" alt="Figure2: Text/Dimension Associations in the entity – SALES (fact)" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure2: Text/Dimension Associations in the entity – SALES (fact)</span></span></P><P><SPAN>1.</SPAN><STRONG>Semantic mapping from an attribute within entity</STRONG></P><P style=" padding-left : 30px; ">Here <STRONG>Product Id</STRONG> attribute fetching the corresponding description from the attribute <STRONG>Description</STRONG> of the same fact. When an attribute is marked as semantic type <STRONG>Text</STRONG>, it can be referenced in another attribute for Text/Association. <STRONG>Description</STRONG> with Semantic type <STRONG>Text </STRONG>is referenced at Product ID for Text/Association as mentioned in Figure2.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure3: Analytical Model Preview - Fetching the description from the same entity." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110092iEF6122273834E861/image-size/large?v=v2&amp;px=999" role="button" title="Figure3.jpg" alt="Figure3: Analytical Model Preview - Fetching the description from the same entity." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure3: Analytical Model Preview - Fetching the description from the same entity.</span></span></P><P>2. <STRONG>Text Association</STRONG></P><P style=" padding-left : 30px; "><STRONG>Customer ID</STRONG> attribute has the Text association to table <STRONG>Description</STRONG>.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure4: SALES – Description Text Association" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110095i1757C74993489874/image-size/large?v=v2&amp;px=999" role="button" title="Figure4.jpg" alt="Figure4: SALES – Description Text Association" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure4: SALES – Description Text Association</span></span></P><P style=" padding-left : 30px; ">&nbsp;</P><P style=" padding-left : 30px; ">Based on the Data Access Language the description will be retrieved. Here I have German (Deutsch), and the texts are fetched for the same.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure5: Data Access Language Settings" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110097i522BF0E0FDC566FB/image-size/large?v=v2&amp;px=999" role="button" title="Figure5.jpg" alt="Figure5: Data Access Language Settings" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure5: Data Access Language Settings</span></span></P><P style=" padding-left : 30px; ">&nbsp;</P><P style=" padding-left : 30px; ">To get the descriptions, we need to enable the ID and Description or Description from Presentations.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure6: Analytical Model Preview - Retrieving the description via Direct text association." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110100i0A364203D28F7868/image-size/large?v=v2&amp;px=999" role="button" title="Figure6.jpg" alt="Figure6: Analytical Model Preview - Retrieving the description via Direct text association." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure6: Analytical Model Preview - Retrieving the description via Direct text association.</span></span></P><P>3. <STRONG>Dimension Association</STRONG></P><P style=" padding-left : 30px; "><STRONG>Purchase Date</STRONG> is associated to the Time Dimension – Day.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure7: Purchase Date – Time Dimension - Day Association" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110101i68BB19C88A4B6C96/image-size/large?v=v2&amp;px=999" role="button" title="Figure7.jpg" alt="Figure7: Purchase Date – Time Dimension - Day Association" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure7: Purchase Date – Time Dimension - Day Association</span></span></P><P style=" padding-left : 30px; ">&nbsp;</P><P style=" padding-left : 30px; "><FONT size="2"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure8: Time Dimension – Day, Here the associated Text tables are highlighted." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110103iFDCC254C3770BEAB/image-size/large?v=v2&amp;px=999" role="button" title="Figure8.jpg" alt="Figure8: Time Dimension – Day, Here the associated Text tables are highlighted." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure8: Time Dimension – Day, Here the associated Text tables are highlighted.</span></span></FONT></P><P style=" padding-left : 30px; ">Since the day Dimension has a text association for months, the description for months is fetched accordingly (refer Figure10) based on the data access language settings.<STRONG>&nbsp;</STRONG></P><P style=" padding-left : 30px; ">Select the Hierarchy like below and enable the display of ID and Description from Presentations settings.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure9: Hierarchy Selection" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110104iC137DB1237792535/image-size/medium?v=v2&amp;px=400" role="button" title="Figure9.jpg" alt="Figure9: Hierarchy Selection" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure9: Hierarchy Selection</span></span></P><P style=" padding-left : 30px; ">&nbsp;</P><P style=" padding-left : 30px; "><FONT size="2"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure10: Analytical Model Preview - Retrieving the description via Dimension text association." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110105i0211A1F79C1DB414/image-size/large?v=v2&amp;px=999" role="button" title="Figure10.jpg" alt="Figure10: Analytical Model Preview - Retrieving the description via Dimension text association." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure10: Analytical Model Preview - Retrieving the description via Dimension text association.</span></span></FONT></P><P>4.<STRONG> Hierarchy Association</STRONG></P><P style=" padding-left : 30px; ">SAP datasphere has released the external hierarchy with directory support. Here the language and texts for Hierarchy label and the Node can be retrieved as well. This blog has already addressed the same&nbsp;&nbsp;<SPAN>here - </SPAN><SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/an-introduction-to-hierarchy-with-directory-in-sap-datasphere/ba-p/13575573" target="_blank">An Introduction to Hierarchy with Directory in SAP Datasphere</A></SPAN></P><P><STRONG>&nbsp;</STRONG></P><P><STRONG>Summary</STRONG></P><P>Text tables serve as the core of master data translation. While importing master data, ensure that if you are using the ABAP language codes like E or D, as compared to i18n language codes like de or en, the string length for the language column is set to 1. And this ensures the effective translation of master data if it has ABAP language codes. A cleaner data without any text duplications is recommended for the effective translation.</P><P style=" padding-left : 30px; ">&nbsp;</P> 2024-05-16T10:22:57.119000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-faqs-part-3-security/ba-p/13703302 SAP BTP FAQs - Part 3 (Security) 2024-05-16T11:12:15.061000+02:00 Raja https://community.sap.com/t5/user/viewprofilepage/user-id/10685 <P>In this blog, I am going to share the list of common questions and answers on SAP BTP. To make it easy, I have categorized it in multiple volumes.<BR /><BR /></P><P class=""><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-faqs-part-1-general-topics-in-sap-btp/ba-p/13693652" target="_self"><STRONG>Part 1</STRONG><SPAN>&nbsp;</SPAN>— SAP BTP — General Topics<SPAN>&nbsp;</SPAN></A></P><P class=""><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-faqs-part-2-application-development-programming-models-and/ba-p/13693679" target="_self"><STRONG>Part 2</STRONG>— SAP BTP — Application Development, Programming Models and Multitenancy</A></P><P class=""><STRONG>Part 3</STRONG><SPAN>&nbsp;</SPAN>— SAP BTP — Security<SPAN> &nbsp;<STRONG>[Current Blog]</STRONG></SPAN></P><P class=""><STRONG>Part 4</STRONG><SPAN>&nbsp;</SPAN>— SAP BTP — DevOps<SPAN>&nbsp;</SPAN><EM>[To be published 21st May ]</EM></P><P class=""><STRONG>Part 5</STRONG><SPAN>&nbsp;</SPAN>— SAP BTP — Side by side Extensibility<SPAN>&nbsp;</SPAN><EM>[To be published 28st May ]</EM></P><P class="">This is part 3,<SPAN>&nbsp;</SPAN><SPAN>&nbsp;where we will explore questions on security topics in SAP BTP.<BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Raja_0-1715846796376.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111427i4BE432E4CEFBA9EC/image-size/large?v=v2&amp;px=999" role="button" title="Raja_0-1715846796376.png" alt="Raja_0-1715846796376.png" /></span></P><P>&nbsp;</P><H1 id="toc-hId-885636062">Q: What is the difference between platform users and business users in SAP BTP.</H1><P><STRONG>Answer:</STRONG></P><P>In SAP BTP, for user-management, all the users are categorized in 2 ways - platform users and business users.</P><P><STRONG>Platform users</STRONG> are usually developers, administrators or operators who deploy, administer, and troubleshoot applications and services on SAP BTP.</P><P><STRONG>Business users</STRONG> use the applications that are deployed to SAP BTP. For example, the end users of SaaS apps or services, such as SAP Workflow service or SAP Cloud Integration, or end users of your custom applications are business users.</P><P><STRONG>Note:</STRONG> You may draw and explain this further as shown in below image.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Raja_1-1715850370509.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111444i9D0E96715034B58E/image-size/large?v=v2&amp;px=999" role="button" title="Raja_1-1715850370509.png" alt="Raja_1-1715850370509.png" /></span></P><P>&nbsp;</P><H1 id="toc-hId-689122557">Q: On a high-level, explain how global account and subaccounts are controlled and managed by administrators.</H1><P><STRONG>Answer:</STRONG></P><P>When a customer signs a contract with SAP, one user is created at the global account level. On this level, entitlements are defined, assigning entities and services, including billing information. The global account administrator can initially log on to SAP BTP to manage these entitlements and create directories and subaccounts. To ensure that more than one employee can administer the global account, the administrator needs to create other users at the global account level and assign them administrator permissions.</P><P>Typically, a global account consists of various subaccounts. When a global account administrator creates a subaccount, they automatically become the administrator of the subaccount. The subaccount administrator can manage entitlements, service subscription, create other users on the subaccount level and assign roles to the users. Subaccount administrators get administration authorizations for the subaccount only, not for the global account.</P><P>Subaccount administrators also create business users, who are consumers of applications and services that are provided on SAP BTP (for example: SAP Business Application Studio) or business applications (SaaS) that were created with the help of the tools and services provided by SAP BTP and deployed in a subaccount. These users can have access to SAP BTP, but they are not able to do any administrative tasks. If a business user only uses a single application on SAP BTP, he or she does not necessarily require access to the SAP BTP cockpit (meaning the subaccount) but to the application only. In this case, the subaccount administrator creates the user on a subaccount level and only assigns application authorizations to the user.</P><P>&nbsp;</P><H1 id="toc-hId-492609052">Q: What is the significance/use of SAP XSUAA service in SAP BTP?</H1><P><STRONG>Answer:</STRONG></P><P>The SAP Authorization and Trust Management Service (XSUAA) is one of the most important BTP service involved in application security.</P><P><STRONG>Let me first explain what XSUAA is.</STRONG></P><P>SAP XSUAA is an&nbsp;<STRONG>internal development of SAP</STRONG>. In Cloud Foundry, there is an open-source component called UAA. UAA is an OAuth provider which takes care of authentication and authorization. SAP took the base of UAA and extended it with SAP specific features to be used in SAP BTP. Technically XSUAA is an&nbsp;<STRONG>OAuth server</STRONG>&nbsp;and uses JWT tokens.</P><P>XSUAA takes care of authentication and authorization in SAP BTP, Cloud Foundry.<BR /><BR /></P><P>XSUAA does NOT store user data. This is why the XSUAA needs to trust an external Identity Provider (IdP). It can&nbsp;<STRONG>establish trust</STRONG>&nbsp;either with<STRONG>&nbsp;SAP ID Service</STRONG>&nbsp;or a&nbsp;<STRONG>Corporate Identity Provider via SAP Identity Authentication Service (IAS)</STRONG>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Raja_2-1715850370517.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111445iCF63CE49FDF9AB75/image-size/large?v=v2&amp;px=999" role="button" title="Raja_2-1715850370517.png" alt="Raja_2-1715850370517.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><H1 id="toc-hId-296095547">Q: What is an Identity Provider and why it is required?</H1><P><STRONG>Answer:</STRONG></P><P>An Identity Provider (IdP) is a system or service responsible for authenticating users and providing them with access to resources or services within a network or application. It serves as a trusted source for verifying the identity of users and issuing security tokens that can be used for access control.</P><P>&nbsp;</P><P>IdPs are required for several reasons:</P><P><STRONG>Centralized Authentication</STRONG></P><P>Instead of each service or application managing its own authentication system, which can be cumbersome and less secure, an IdP centralizes authentication processes. This not only makes authentication more efficient but also enhances security by enforcing consistent policies and controls.</P><P><STRONG>Single Sign-On (SSO)</STRONG></P><P>IdPs enable SSO, allowing users to access multiple services or applications with just one set of credentials. This enhances user experience by reducing the need to remember multiple usernames and passwords.</P><P><STRONG>User Management</STRONG></P><P>IdPs often include user management capabilities, such as user provisioning, de-provisioning, and user profile management. This allows administrators to efficiently manage user accounts and permissions across various services and applications.</P><P>&nbsp;</P><H1 id="toc-hId-99582042">Q: Can you briefly explain the concept of Principal Propagation and an example of its use in SAP BTP?</H1><P>Answer:</P><P>Principle Propagation <STRONG>allows a user to be the user</STRONG> when the <STRONG>request flows through multiple systems</STRONG>.&nbsp; So that we <STRONG>don’t have any technical user</STRONG> in between.</P><P>&nbsp;</P><P>Principal Propagation is</P><UL><LI>the ability of a system to <STRONG>securely forward or propagate the authenticated user</STRONG> (principal) from a sender to a receiver in a way that the <STRONG>forwarded user information is kept confidential</STRONG> and – even more important – cannot be changed during transit.</LI><LI>Based on a pre-established trust relationship to the sender, the receiver uses this information to logon the user without asking her again for the credential.</LI></UL><P>&nbsp;</P><H1 id="toc-hId--96931463">Q: What are the Identity Providers available in SAP BTP?</H1><P><STRONG>Answer:</STRONG></P><P>In SAP BTP, there are 2 options for Identity Provider –&nbsp;<STRONG>SAP ID Service</STRONG>&nbsp;and&nbsp;<STRONG>SAP Cloud Identity Authentication service (IAS)</STRONG>.</P><P><STRONG>SAP ID Service</STRONG></P><P>SAP ID Service is the default identity provider in SAP BTP. It is a pre-configured, standard SAP public IdP (account.sap.com) that is shared by all customers.</P><P><STRONG>SAP Cloud Identity Authentication service (IAS)</STRONG></P><P>For many customers, business users might be stored in corporate identity providers. SAP recommends using SAP Cloud Identity Services - Identity Authentication Service (IAS)&nbsp; as a hub.</P><P>We can connect IAS as a single custom identity provider to SAP BTP. Further use IAS to integrate with corporate identity providers.</P><P>&nbsp;</P><H1 id="toc-hId--293444968">Q: Can you explain what is SAP ID Service and it’s importance in terms of security in SAP BTP?</H1><P><STRONG>Answer:</STRONG></P><P>SAP ID Service is the&nbsp;<STRONG>default</STRONG>&nbsp;identity provider in SAP BTP. It is a&nbsp;<STRONG>pre-configured</STRONG>, standard SAP public IdP (account.sap.com) that is shared by all customers.<BR />SAP ID Service is managed by SAP. Trust to SAP ID service is pre-configured in all BTP subaccounts.</P><P>SAP ID service manages the users of official SAP sites, including the SAP developer and partner community. It is the place where the S-Users, P-Users, and D-Users are managed.</P><P>&nbsp;</P><H1 id="toc-hId--489958473">Q: In which scenarios, you will suggest the use of SAP Identity Authentication Service (IAS) in SAP BTP?</H1><P><STRONG>Answer:</STRONG></P><P>Most customers already have huge on-premises or cloud ecosystem. Their business user data is already available in their corporate identity provider.<BR /><BR />When these customers build applications on BTP, an important question comes up - "<EM>How can employees authenticate to the applications with&nbsp;<STRONG>known</STRONG>&nbsp;<STRONG>credentials</STRONG>?"</EM><BR /><BR />In simple words, customer needs to provide&nbsp;<STRONG>single sign-on for their custom solution on BTP, SAP S/4HANA Cloud, SAP SuccessFactors and other SAP solutions.</STRONG>&nbsp;The answer to this is SAP Identity Authentication Service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Raja_3-1715850370522.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111446i1AD33F38FB122F41/image-size/large?v=v2&amp;px=999" role="button" title="Raja_3-1715850370522.png" alt="Raja_3-1715850370522.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>As shown in the above image, IAS can either act as an IdP itself or delegate the authentication to a corporate identity provider. IAS acts a central hub to provide single-sign-on to all SAP cloud applications as well as BTP applications.</P><P>&nbsp;</P><H1 id="toc-hId--686471978">Q: Explain the concepts of Role Collections, Roles, and Scopes in SAP BTP.</H1><P><STRONG>Answer:</STRONG></P><P><STRONG>Scopes</STRONG></P><P>Scopes are arbitrary values that express authorizations / access rights in an application or service. Scopes need to be prefixed with an&nbsp;xsappname&nbsp;to make them uniquely identifiable.</P><P><STRONG>Roles</STRONG></P><P>Roles are entities that hold several scopes. Scopes can be put in multiple roles, so you are not limited to have scopes sitting in just one role.</P><P><STRONG>Role Collections</STRONG></P><P>Role collections contain one or more roles. A role can be used in multiples. But it is totally fine to have, for example, a called&nbsp;Admin&nbsp;that only has an&nbsp;admin&nbsp;role.</P><P>Role collections are stored as an assignment in the XSUAA and are THE entity that can be assigned to a certain business user.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Raja_4-1715850370527.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111447i3D7D7C72C7DBC59B/image-size/large?v=v2&amp;px=999" role="button" title="Raja_4-1715850370527.png" alt="Raja_4-1715850370527.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><H1 id="toc-hId--882985483">Q: Can you briefly explain how role collections are assigned to users?</H1><P><STRONG>Answer:</STRONG></P><P>Role collections are managed on each SAP BTP level separately. Role collections that exist in the global account do not exist in the subaccounts. Likewise, role collections in subaccounts are not available in the global account.</P><P>All users of SAP BTP are stored in identity providers. How you assign users to their authorizations depends on the type of trust configuration with the identity provider. If you're using the default trust configuration with SAP ID service, you assign users directly to role collections. However, if you are using a custom identity provider, you can assign role collections to individual users directly, or you map role collections to user groups or other user attributes defined in the identity provider. This is called federation.</P><P>The custom identity provider hosts the business users who can belong to user groups. It is efficient to use federation by assigning role collections to one or more user groups. The role collection contains all the authorizations that are necessary for this user group. This method saves time when you add a new business user. Simply add the users to the respective user groups and the new business users automatically get all the authorizations that are included in the role collection.</P><P>&nbsp;</P><H1 id="toc-hId--309758905">Q: What is xs-security.json file and what is the use of it?</H1><P>Answer:</P><P>xs-security.json file, also called Application Security Descriptor is a file that defines the details of the <STRONG>authentication methods</STRONG> and <STRONG>authorization types</STRONG> to use for access to your application.</P><P>The&nbsp;xs-security.json&nbsp;file uses<STRONG> JSON notation</STRONG> to define the security options for an application</P><P>&nbsp;</P><P>The xs-security.json file is further used to create XSUAA service instance. For example, we can use below command to create instance of XSUAA service using an xs-security.json file.</P><P><EM>cf create-service xsuaa application myxsuaa -c xs-security.json</EM></P><P>&nbsp;</P><P><STRONG>An example of xs-security.json file.</STRONG></P><P>{<BR />&nbsp; "xsappname" : "app-name",</P><P>&nbsp; "tenant-mode": "shared",</P><P>&nbsp; "scopes"&nbsp;&nbsp;&nbsp;&nbsp; : [ {<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "name" : "$XSAPPNAME.Display",<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "description" : "display" },<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],<BR />&nbsp; "role-templates": [ {<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "name"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : "Viewer",<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "description"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : "View all books",<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "scope-references"&nbsp;&nbsp;&nbsp; : [<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "$XSAPPNAME.Display" ]&nbsp;<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<BR />}</P><P>&nbsp;</P><P>&nbsp;</P><H1 id="toc-hId--506272410">Q: Explain what OAuth is and how it’s different from SAML.</H1><P>Answer:</P><P>OAuth is an open standard for applications and websites to handle authorization.<BR /><BR />OAuth&nbsp;<STRONG>doesn’t share password</STRONG>&nbsp;data but instead&nbsp;<STRONG>uses authorization tokens</STRONG>&nbsp;to prove an identity between consumers and service providers. It is an authentication protocol that allows you to approve one application interacting with another on your behalf without giving away your password.</P><P>OAuth:</P><UL><LI><STRONG>Avoids storing credentials</STRONG>&nbsp;at the third-party location</LI><LI><STRONG>Limits the access permissions</STRONG>&nbsp;granted to third parties</LI><LI><STRONG>Enables easy access right revocation</STRONG>&nbsp;without the need to change credentials</LI></UL><P><BR />In this way, OAuth mitigates some of the common concerns with authorization scenarios.</P><P><STRONG>SAML vs. OAuth</STRONG><BR />The Security Assertion Markup Language (SAML) is an&nbsp;<STRONG>open standard based on XML,&nbsp;</STRONG>which many enterprises use for&nbsp;<STRONG>Single-Sign On (SSO)</STRONG>.<BR /><BR />There are many differences between SAML and OAuth.</P><UL><LI>SAML uses&nbsp;<STRONG>XML</STRONG>&nbsp;to pass messages, and OAuth uses&nbsp;<STRONG>JSON</STRONG>.</LI><LI>OAuth is much more lightweight and an&nbsp;<STRONG>ideal fit for system-to-system communication.&nbsp;</STRONG>While SAML is geared towards enterprise security.</LI><LI><STRONG>OAuth uses API calls</STRONG>&nbsp;extensively, which is why mobile applications, modern web applications, game consoles, and Internet of Things (IoT) devices find OAuth a better experience for the user. SAML, on the other hand, uses a session cookie in a browser that allows a user to access certain web pages – great for short-lived work days, but not so great when have to log into your smart watch every day.</LI></UL><P>&nbsp;</P><H1 id="toc-hId--702785915">Q: What is JWT and how it’s better than SAML tokens?</H1><P><STRONG>Answer:</STRONG></P><P>JSON Web Token (JWT) is an <STRONG>open standard</STRONG> that defines a <STRONG>compact and self-contained way</STRONG> for <STRONG>securely transmitting</STRONG> information between parties.</P><P>For example, XSUAA creates a JWT token to combine user information from IdP, role collection assignments, etc. and pass it to application.</P><P>A JWT consists of&nbsp;<STRONG>three main components</STRONG>&nbsp;that are declared as plain JSON:</P><OL><LI><STRONG>header</STRONG>: Declaration of the used hashing and signing algorithms&nbsp;</LI></OL><OL><LI><STRONG>body/payload</STRONG>: Might be anything, but in our case it is the information about the&nbsp;<STRONG>user</STRONG>, the&nbsp;<STRONG>issuer</STRONG>&nbsp;and all the&nbsp;<STRONG>scopes.</STRONG></LI></OL><OL><LI><STRONG>signature:&nbsp;</STRONG>The signature allows the integrity of the JWT. The XSUAA will put the header of the ticket together with the content.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Raja_5-1715850370534.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111448i570FD993C666FF37/image-size/medium?v=v2&amp;px=400" role="button" title="Raja_5-1715850370534.png" alt="Raja_5-1715850370534.png" /></span></P><P>&nbsp;</P><P>JSON Web Tokens (JWT) are better than SAML tokens in many ways.<BR /><BR />First of all, since JSON is less verbose than XML, JWT Tokens are smaller in size, making JWT more compact than SAML. This makes JWT a good choice to be passed over network.<BR /><BR />JSON parsers are extremely common in most programming languages because they map directly to objects. Conversely, XML doesn't have a natural document-to-object mapping. This makes it easier to work with JWT than SAML assertions.</P><P>&nbsp;</P><H1 id="toc-hId--899299420">Q: Can you explain what SAML is?</H1><P><STRONG>Answer:</STRONG></P><P>The Security Assertion Markup Language (SAML) is an <STRONG>open standard based on XML</STRONG> for <STRONG>exchanging authentication and authorization data</STRONG> of a user between an identity provider (IdP) and a service provider (SP).&nbsp;</P><P>SAML is a platform for <STRONG>requesting authentication. Its most common use is to enable SSO. </STRONG></P><P>&nbsp;In SAML, the data is exchanged using messages called <STRONG>bearer assertions. </STRONG>A bearer is any party in possession of the assertion. The integrity of the assertion is protected by XML encryption and an XML signature.</P><P>SAML addresses the requirement of web browser single sign-on across the Internet.</P><P>&nbsp;</P><H1 id="toc-hId--1095812925">Q: What is OpenID Connect (OIDC) and how it’s different from SAML?</H1><P><STRONG>Answer:</STRONG></P><P>OpenID Connect (OIDC) is a relatively new protocol and is continuously evolving. It was designed with web and mobile applications in mind.</P><P>&nbsp;</P><P>OIDC is an extension of OAuth2, with data structures in JSON format (JWT), and simple HTTPS flows for transport. It is designed to be easy to adopt and use.&nbsp;</P><P>SAML has a<STRONG> long track record of providing a secure means</STRONG> of identity data exchange, so it is trusted by many organizations. It is also very <STRONG>feature-rich</STRONG>, covering a wide range of identity requirements.</P><P>&nbsp;While, OIDC, being <STRONG>newer and evolving</STRONG> (especially in the European banking sector, with Open Banking), is still <STRONG>lagging behind SAML in terms of features</STRONG>.<BR /><BR /></P><P>&nbsp;</P><BLOCKQUOTE><P class="">If I have missed any important question, please let me know in comment.</P></BLOCKQUOTE><P class=""><STRONG>Happy Learning!</STRONG></P><P class="">&nbsp;</P><H1 id="toc-hId--1292326430">Next Blog</H1><P class=""><STRONG>Part 4 - SAP BTP DevOps&nbsp;</STRONG><EM>[To be published]</EM></P><P>&nbsp;</P><P class="">&nbsp;</P> 2024-05-16T11:12:15.061000+02:00 https://community.sap.com/t5/technology-blogs-by-members/sap-business-technology-platform/ba-p/13703672 SAP Business Technology Platform 2024-05-16T15:41:16.371000+02:00 Daniel_Enderli https://community.sap.com/t5/user/viewprofilepage/user-id/2995 <P><FONT size="4">Some helpful sources on the topic of SAP Business Technology Platform (SAP BTP)</FONT></P><P><FONT size="4"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="sap btp 01.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111627i1BD5D47F9D4731FA/image-size/large?v=v2&amp;px=999" role="button" title="sap btp 01.png" alt="sap btp 01.png" /></span></FONT></P><P><STRONG>SAP Help Portal</STRONG><BR /><A href="https://help.sap.com/docs/btp" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/btp</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_1-1715865839853.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111601i504F1258CFAA476B/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_1-1715865839853.png" alt="Daniel_Enderli_1-1715865839853.png" /></span></P><P><STRONG>SAP Business Technology Platform resource center<BR /></STRONG><A href="https://www.sap.com/products/technology-platform/resources.html" target="_blank" rel="noopener noreferrer">https://www.sap.com/products/technology-platform/resources.html</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_2-1715865913764.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111602i9AA68C8AF891C490/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_2-1715865913764.png" alt="Daniel_Enderli_2-1715865913764.png" /></span></P><P><SPAN><STRONG>SAP BTP Guidance Framework</STRONG><BR /><A href="https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/sap-btp-guidance-framework/guidance-framework/what-is-sap-btp-guidance-framework</A><BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_3-1715865958324.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111603iD4CC312BAE8FEE78/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_3-1715865958324.png" alt="Daniel_Enderli_3-1715865958324.png" /></span></P><P><STRONG>SAP BTP Developer's Guide</STRONG><BR /><A href="https://help.sap.com/docs/btp/btp-developers-guide/what-is-btp-developers-guide" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/btp/btp-developers-guide/what-is-btp-developers-guide</A>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_0-1715865762957.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111600i67DEF7FFBF8152F6/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_0-1715865762957.png" alt="Daniel_Enderli_0-1715865762957.png" /></span></P><P><STRONG>SAP BTP Learning Journeys</STRONG><BR /><A href="https://learning.sap.com/products" target="_blank" rel="noopener noreferrer">https://learning.sap.com/products</A></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_4-1715866279236.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111606iC9D6E129DF6DEA3E/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_4-1715866279236.png" alt="Daniel_Enderli_4-1715866279236.png" /></span></P><P><STRONG>SAP Community</STRONG><BR /><A href="https://community.sap.com/t5/c-khhcw49343/SAP+Business+Technology+Platform/pd-p/73555000100700000172" target="_blank">https://community.sap.com/t5/c-khhcw49343/SAP+Business+Technology+Platform/pd-p/73555000100700000172</A>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_0-1715868831822.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111630i6605253A205EAE59/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_0-1715868831822.png" alt="Daniel_Enderli_0-1715868831822.png" /></span></P><P>Have fun learning, trying and using it!</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Daniel_Enderli_1-1715869306875.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111634iA59228F6189BF603/image-size/medium?v=v2&amp;px=400" role="button" title="Daniel_Enderli_1-1715869306875.png" alt="Daniel_Enderli_1-1715869306875.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-05-16T15:41:16.371000+02:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-fiori-development-newsletter-may-2024-issue-28/ba-p/13702765 SAP Fiori development newsletter May 2024 (issue #28) 2024-05-16T15:50:00.021000+02:00 PeterSpielvogel https://community.sap.com/t5/user/viewprofilepage/user-id/543 <P>What a great time to be in software development! AI is rapidly changing the application development landscape and I’m excited to see new generative AI capabilities appearing across our portfolio. SAP Fiori tools recently added the ability to generate apps from a business requirement document. You can access this and many more cool AI tools in SAP Build Code. This issue focuses on these and other innovations, as well as a sneak peak about what you can expect to see at Sapphire.<BR /><BR />If you want to meet with fellow developers and the SAP engineers who build our professional development tools, I encourage you to join our monthly<SPAN>&nbsp;</SPAN><STRONG>SAP Fiori elements and SAP Fiori tools roundtable group</STRONG>.</P><P>Our next meeting is June 12, 2024.<BR /><BR />Learn about the group at&nbsp;<A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=A67870895B2B9BC9D77D1B9AB614BF41955EBE98&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vYmxvZ3Muc2FwLmNvbS8yMDIxLzA3LzMxL3BlZXItdG8tcGVlci1sZWFybmluZy1hdC10aGUtc2FwLWZpb3JpLWVsZW1lbnRzLWFuZC1zYXAtZmlvcmktdG9vbHMtcm91bmR0YWJsZS8%2Fc2FwLW91dGJvdW5kLWlkPTYxQ0QxMjQwOUM1MjE5MTJFNEQ0MzNGNDY5RjY0ODRGQzE2OEIzNUEmc21jX2NhbXBhaWduX2lkPTAwMDAwMzk5OTEmc291cmNlPWVtYWlsLXNtYw&amp;_K13_=558&amp;_K14_=5e3241044c6bb04014087e4a7dae6a19c18a229f114e0a8b2f3b59d43a334343" target="_blank" rel="noopener nofollow noreferrer">https://blogs.sap.com/2021/07/31/peer-to-peer-learning-at-the-sap-fiori-elements-and-sap-fiori-tools...</A><BR />You can also&nbsp;email me if you would like an invitation.</P><P>Was this forwarded to you?<SPAN>&nbsp;</SPAN><A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=36DD87CF4363E704D7AB90D1113275E1D8361F50&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vd3d3LnNhcC5jb20vY21wL25sL3NhcC1maW9yaS1kZXZlbG9wbWVudC1uZXdzbGV0dGVyL2luZGV4Lmh0bWw%2Fc2FwLW91dGJvdW5kLWlkPTYxQ0QxMjQwOUM1MjE5MTJFNEQ0MzNGNDY5RjY0ODRGQzE2OEIzNUEmc21jX2NhbXBhaWduX2lkPTAwMDAwMzk5OTEmc291cmNlPWVtYWlsLXNtYw&amp;_K13_=558&amp;_K14_=ee33bb3cf9d084c97c92ed4c387b9cd510678e34db39e05b4e6d9fbb884f20fe" target="_blank" rel="noopener nofollow noreferrer">Subscribe to the SAP Fiori development newsletter.</A></P><P>Your editorial team,&nbsp;<BR />Peter, Oliver, and Raz</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP_Fiori_Dev_Newsletter_28.png" style="width: 640px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111211i0BE7C8E37CAF226B/image-size/large?v=v2&amp;px=999" role="button" title="SAP_Fiori_Dev_Newsletter_28.png" alt="SAP_Fiori_Dev_Newsletter_28.png" /></span></P><H1 id="toc-hId-885610304"><span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="developer_news.png" style="width: 98px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111220iF4E6B07FBBEC4051/image-size/large?v=v2&amp;px=999" role="button" title="developer_news.png" alt="developer_news.png" /></span>Development News</H1><P>&nbsp;</P><P><STRONG>Sapphire 2024 user experience and application development sessions </STRONG></P><P>Here is a list of sessions that highlight user experience and application development, both of which contain varying levels of AI, as SAP is infusing artificial intelligence into most of our solutions.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/sapphire-2024-user-experience-and-application-development-sessions/ba-p/13684064" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/sapphire-2024-user-experience-and-application-development-sessions/ba-p/13684064</A></P><P><STRONG>SAP Fiori tools 2403 introduces Gen AI capability and more </STRONG></P><P>The latest enhancements in SAP Fiori tools introduce many exciting features aimed at streamlining the development process and fostering greater collaboration across teams. We have added new generative AI capabilities to create SAP Fiori elements apps directly from a business requirement document.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-fiori-tools-2403-introduces-gen-ai-capability-and-more/ba-p/13650594" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/sap-fiori-tools-2403-introduces-gen-ai-capability-and-more/ba-p/13650594</A></P><P><STRONG>Unlocking efficiency and simplicity: a look into the new features of SAP Fiori elements for OData V4 </STRONG></P><P>The post explains the new functionalities and improvements from SAPUI5 Version 1.121 and SAP Fiori elements for OData V4.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/unlocking-efficiency-and-simplicity-a-look-into-the-new-features-of-sap/ba-p/13645297" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/unlocking-efficiency-and-simplicity-a-look-into-the-new-features-of-sap/ba-p/13645297</A></P><P><STRONG>Building and delivering AI solutions for both developers and end-users in SAP S/4HANA Public Edition </STRONG></P><P>This post shows a sneak preview of some of the AI initiatives we are working on for both application developers and end users. Some are roadmap items that may or may not turn into productive solutions.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/building-and-delivering-ai-solutions-for-both-developers-and-end-users-in/ba-p/13699945" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/building-and-delivering-ai-solutions-for-both-developers-and-end-users-in/ba-p/13699945</A></P><P><STRONG>ABAP Cloud Developer Trial 2022 available now</STRONG></P><P>ABAP remains an important part of the SAP development landscape. The ABAP Cloud Developer Trial is pre-configured with SAP Fiori launchpad, SAP Cloud Connector, backend / frontend connections, roles, and sample applications.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/abap-cloud-developer-trial-2022-available-now/ba-p/13598069" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/abap-cloud-developer-trial-2022-available-now/ba-p/13598069</A></P><P><STRONG>Embracing TypeScript in SAPUI5 development</STRONG></P><P>SAP officially announced TypeScript support for UI5 starting with version 1.116.0. This post explains how this fits into creating SAP Fiori applications.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-members/embracing-typescript-in-sapui5-development/ba-p/13675744" target="_blank">https://community.sap.com/t5/technology-blogs-by-members/embracing-typescript-in-sapui5-development/ba-p/13675744</A></P><P><STRONG>Upgrade SAP Business Application Studio to SAP Build Code </STRONG></P><P>Now you can migrate an existing SAP Business Application Studio instance to SAP Build Code. This post explains how.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/upgrade-sap-business-application-studio-to-sap-build-code/ba-p/13661500" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/upgrade-sap-business-application-studio-to-sap-build-code/ba-p/13661500</A></P><P><STRONG>Create a full-stack app using Joule </STRONG></P><P>This step-by-step post shows how to create one full-stack application for management orders based on a model from the Northwind service. It uses Joule to enhance the app and generate some test scripts.</P><P><A href="https://community.sap.com/t5/application-development-blog-posts/create-full-stack-app-use-entity-drafts-use-joule-to-create-action-code/ba-p/13676527" target="_blank">https://community.sap.com/t5/application-development-blog-posts/create-full-stack-app-use-entity-drafts-use-joule-to-create-action-code/ba-p/13676527</A></P><P><STRONG>Unlocking full-stack potential using SAP Build Code - part 1</STRONG></P><P>This post shows how to create a simple CAP and UI app using Joule and deploy it to the BTP subaccount. It explains how to test, create a managed app router configuration, and access the UI and service endpoints successfully.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-members/unlocking-full-stack-potential-using-sap-build-code-part-1/ba-p/13667300" target="_blank">https://community.sap.com/t5/technology-blogs-by-members/unlocking-full-stack-potential-using-sap-build-code-part-1/ba-p/13667300</A></P><P><STRONG>SAP Build Code - speed up your development with generative AI assistant – Joule</STRONG></P><P>This post explains SAP Joule and how it can be used to generate application logic, data models, SAP Fiori apps, test scripts, sample data, service definitions and more.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-build-code-speed-up-your-development-with-generative-ai-assistant-joule/ba-p/13660954" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/sap-build-code-speed-up-your-development-with-generative-ai-assistant-joule/ba-p/13660954</A></P><P><STRONG>Custom data as table, CDS, domain, business object and all that jazz...</STRONG></P><P>The need for custom data is nothing new, but customizing while keeping a core clean is. Key User and on-stack Developer Extensibility provide many options. This post showcases each option relating to having your own "custom data" in SAP S/4HANA, with some pros and cons and when to use which option.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/custom-data-as-table-cds-domain-business-object-and-all-that-jazz/ba-p/13660397" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/custom-data-as-table-cds-domain-business-object-and-all-that-jazz/ba-p/13660397</A></P><P><STRONG>Building low-code extensions with Key User Extensibility in SAP S/4HANA and SAP Build </STRONG></P><P>Key users can make certain changes in SAP systems that can reduce the workload for developers. They can adapt SAP applications and services using low-code tooling that’s built into SAP S/4HANA.</P><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/building-low-code-extensions-with-key-user-extensibility-in-sap-s-4hana-and/ba-p/13675437" target="_blank">https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/building-low-code-extensions-with-key-user-extensibility-in-sap-s-4hana-and/ba-p/13675437</A></P><P><STRONG>Unleashing AI magic: building full-stack apps with SAP Build Code </STRONG></P><P>See how to build two different full stack applications with just a few clicks and prompts.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/unleashing-ai-magic-building-full-stack-apps-with-sap-build-code/ba-p/13652771" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/unleashing-ai-magic-building-full-stack-apps-with-sap-build-code/ba-p/13652771</A></P><P><STRONG>Joule for freestyle SAPUI5 development in SAP Build Code</STRONG></P><P>Joule helps write freestyle SAPUI5 code in SAP Build Code. Ask Joule by typing code-related requests, in natural language, into Joule's chat window. For example, you could ask Joule to insert a control to a view, add an event handler to a controller, introduce a full new view with routing and much more. This post summarizes some of the key capabilities.</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/joule-for-freestyle-sapui5-development-in-sap-build-code/ba-p/13650005" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/joule-for-freestyle-sapui5-development-in-sap-build-code/ba-p/13650005</A></P><P><STRONG>Our latest roadmaps are available&nbsp;</STRONG></P><P><A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=AACEE9F66E98DE98E35663CD28FEF16A1ACE71FA&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vcm9hZG1hcHMuc2FwLmNvbS9ib2FyZD9QUk9EVUNUPTczNTU0OTAwMTAwODAwMDAxMzYxJnNhcC1vdXRib3VuZC1pZD02MUNEMTI0MDlDNTIxOTEyRTRENDMzRjQ2OUY2NDg0RkMxNjhCMzVBJnNtY19jYW1wYWlnbl9pZD0wMDAwMDM5OTkxJnNvdXJjZT1lbWFpbC1zbWM&amp;_K13_=558&amp;_K14_=c752525985baecf6c66c057c453e78fa46a14e9e3dbae1024bff0393902739da" target="_blank" rel="noopener nofollow noreferrer">SAPUI5 roadmap</A><BR /><A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=3AC1EB01FC5A9A97DA3AD1A4860F25CFE88EA7F2&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vcm9hZG1hcHMuc2FwLmNvbS9ib2FyZD9yYW5nZT1DVVJSRU5ULUxBU1QmcT1zYXAlMjBmaW9yaSUyMGVsZW1lbnRzJnNhcC1vdXRib3VuZC1pZD02MUNEMTI0MDlDNTIxOTEyRTRENDMzRjQ2OUY2NDg0RkMxNjhCMzVBJnNtY19jYW1wYWlnbl9pZD0wMDAwMDM5OTkxJnNvdXJjZT1lbWFpbC1zbWMjUTMlMjAyMDIz&amp;_K13_=558&amp;_K14_=48ce384f3f87373ab64aa7caf759b95c43cf5a0769b1e5ffde98128935f4b6fc" target="_blank" rel="noopener nofollow noreferrer">SAP Fiori elements roadmap</A><A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=B62B33A0455C2C37FBDFF17412E0179D7B92E4BB&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vcm9hZG1hcHMuc2FwLmNvbS9ib2FyZD9QUk9EVUNUPTY3ODM3ODAwMTAwODAwMDA3MDc3JnJhbmdlPUNVUlJFTlQtTEFTVCZzYXAtb3V0Ym91bmQtaWQ9NjFDRDEyNDA5QzUyMTkxMkU0RDQzM0Y0NjlGNjQ4NEZDMTY4QjM1QSZzbWNfY2FtcGFpZ25faWQ9MDAwMDAzOTk5MSZzb3VyY2U9ZW1haWwtc21jI1EzJTIwMjAyMw&amp;_K13_=558&amp;_K14_=852c4b5ab13d3f7d18f3db8c82eba1deca910a49a84e0863d5bcb576e2d6b6a2" target="_blank" rel="noopener nofollow noreferrer"><BR />SAP Business Application Studio roadmap</A><BR /><A href="https://smc-link.s4hana.ondemand.com/eu/data-buffer/sap/public/cuan/link/100/61CD12409C521912E4D433F469F6484FC168B35A?_V_=2&amp;_K11_=EAA108790071D1AD966F905411B6A888AB5E61D3&amp;_L54AD1F204_=c2NlbmFyaW89TUxDUEcmdGVuYW50PW15MzAwNzIzLnM0aGFuYS5vbmRlbWFuZC5jb20mdGFyZ2V0PWh0dHBzOi8vcm9hZG1hcHMuc2FwLmNvbS9ib2FyZD9yYW5nZT1DVVJSRU5ULUxBU1QmcT1zYXAlMjBmaW9yaSUyMHRvb2xzJnNhcC1vdXRib3VuZC1pZD02MUNEMTI0MDlDNTIxOTEyRTRENDMzRjQ2OUY2NDg0RkMxNjhCMzVBJnNtY19jYW1wYWlnbl9pZD0wMDAwMDM5OTkxJnNvdXJjZT1lbWFpbC1zbWMjUTMlMjAyMDIz&amp;_K13_=558&amp;_K14_=b0086322dce37972a7e5ce0fca7d7e391c15cb6564a935684bb033ee5c200bbb" target="_blank" rel="noopener nofollow noreferrer">SAP Fiori tools roadmap</A></P><H1 id="toc-hId-689096799">Developer Tutorials&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="developer_training.png" style="width: 98px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111225i71990C0C476B4C29/image-size/large?v=v2&amp;px=999" role="button" title="developer_training.png" alt="developer_training.png" /></span></H1><P>&nbsp;</P><P><STRONG>New Tutorial: Key User Adaptation for SAPUI5 applications </STRONG></P><P>To extend SAPUI5 applications, SAPUI5 Flexibility offers capabilities not only for developers but also for key users and end users using simple visual / WYSIWYG tools..</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/new-tutorial-mission-key-user-adaptation-for-sapui5-applications/ba-p/13639694" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/new-tutorial-mission-key-user-adaptation-for-sapui5-applications/ba-p/13639694</A></P><P><STRONG>Tutorial: SAPUI5 Adaptation Projects for SAP S/4HANA Cloud </STRONG></P><P>SAPUI5 Adaptation Projects in SAP Business Application Studio are not new. But what is new is the support for SAP S/HANA Cloud. This enables developers to enhance SAPUI5 applications in SAP S/4HANA Cloud with comprehensive features that were previously exclusive to on-premise customers. See this blog post linking to an extensive, end-to-end tutorial:</P><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/extending-sap-s-4hana-cloud-public-edition-using-sapui5-adaptation-projects/ba-p/13607813" target="_blank">https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/extending-sap-s-4hana-cloud-public-edition-using-sapui5-adaptation-projects/ba-p/13607813</A></P><P><STRONG>Developing and extending SAP Fiori elements apps openSAP course </STRONG></P><P><A href="https://open.sap.com/courses/fiori-ea1" target="_blank" rel="noopener noreferrer">https://open.sap.com/courses/fiori-ea1</A></P><H1 id="toc-hId-492583294">Developer Events&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="developer_events.png" style="width: 98px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111226i9789C7FD6F37F70B/image-size/large?v=v2&amp;px=999" role="button" title="developer_events.png" alt="developer_events.png" /></span></H1><P>&nbsp;</P><P><STRONG>UI5con and reCAP coming in June </STRONG></P><P>The community conferences around UI5 and CAP are coming back in 2024. See the announcements on UI5con and reCAP.</P><P><A href="https://openui5.org/ui5con/germany2024/" target="_blank" rel="noopener nofollow noreferrer">https://openui5.org/ui5con/germany2024/</A></P><P><A href="https://recap-conf.dev/" target="_blank" rel="noopener nofollow noreferrer">https://recap-conf.dev/</A></P><P><A href="https://abapconf.org/" target="_blank" rel="noopener nofollow noreferrer">https://abapconf.org/</A></P><P>These three events together form CodeConnect 2024, which starts the week of June 3.</P><P><A href="https://code-connect.dev/" target="_blank" rel="noopener nofollow noreferrer">https://code-connect.dev/</A></P><P>&nbsp;</P><P><STRONG>SAP S/4HANA Cloud extensions with SAP Build best practices: an expert roundtable podcast </STRONG></P><P>In this blog adapted from the podcast “SAP S/4HANA Cloud extensions with SAP Build best practices: an expert roundtable”, SAP experts discuss SAP S/4HANA extensibility best practices.</P><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-s-4hana-cloud-extensions-with-sap-build-best-practices-an-expert/ba-p/13656552" target="_blank">https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-s-4hana-cloud-extensions-with-sap-build-best-practices-an-expert/ba-p/13656552</A></P><P><STRONG>SAP Fiori Innovation Days - coming later in 2024 </STRONG></P><P>Please mark your calendar for the next SAP Fiori Innovation Day events.</P><P>Chicago - August 13</P><P>Paris - November 19</P><P>We will share details and registration information in an upcoming newsletter</P><P>&nbsp;</P><H2 id="toc-hId-425152508">Back issues from the past year</H2><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-fiori-development-newsletter-march-2024-issue-27/ba-p/13646140" target="_self">SAP Fiori development newsletter #27 (March 2024)</A></P><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sap-fiori-development-newsletter-january-2024-issue-26/ba-p/13582916" target="_self">SAP Fiori development newsletter #26 (January 2024)</A></P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-fiori-development-newsletter-november-2023-issue-25/ba-p/13573104" target="_self">SAP Fiori development newsletter #25 (November 2023)</A></P><P><A href="https://blogs.sap.com/2023/09/12/sap-fiori-development-newsletter-september-2023-issue-24/" target="_blank" rel="noopener noreferrer">SAP Fiori development newsletter #24 (September 2023)</A></P><P><A href="https://blogs.sap.com/2023/07/18/sap-fiori-development-newsletter-july-2023-issue-23/" target="_blank" rel="noopener noreferrer">SAP Fiori development newsletter #23 (July 2023)</A><BR /><BR /><BR /></P><P>&nbsp;</P> 2024-05-16T15:50:00.021000+02:00 https://community.sap.com/t5/technology-blogs-by-members/syniti-rdg-provides-a-simplified-design-to-create-multi-value-validation/ba-p/13675776 Syniti RDG provides a simplified design to create Multi Value Validation and Derivation Rules 2024-05-17T12:35:22.385000+02:00 UmaArjunan https://community.sap.com/t5/user/viewprofilepage/user-id/1096 <P style=" text-align : justify; "><A href="https://www.sapappcenter.com/apps/59234" target="_blank" rel="noopener nofollow noreferrer">Syniti RDG</A>&nbsp;is an SAP-endorsed application on the Business Technology Platform (SAP BTP) to facilitate MDG<BR />implementation with intuitive UI and process automation. RDG automates many of the technical configuration<BR />steps that are required to implement SAP MDG and it offers a user-friendly interface to be more relatable<BR />to business users.</P><UL><LI>A multi-value check rule is for validating multiple attribute values against a logical condition.</LI><LI>A multi value derivation rule is to derive multiple attributes values based on a logical condition.</LI></UL><P>The below example is used to create Multi value validation to be triggered for a specific Change Request Type<BR />to validate attribute values of Entity&nbsp;‘BP_CENTRL’ of data model ‘BP’.</P><P>Step 1: Create <STRONG>Multi Validation Rule</STRONG> in Syniti RDG&nbsp;</P><P>In the main menu, select "Manage Business Rules".</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pic1.png" style="width: 754px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108593i543DCD1C97325410/image-dimensions/754x166?v=v2" width="754" height="166" role="button" title="pic1.png" alt="pic1.png" /></span></P><P>In the business Rules Page, define a New Rule: Start by creating a new rule, select the type of rule as "Multivalue Check Rule" to create.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic12.png" style="width: 929px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108596iA44AC91EC25F4D6E/image-size/large?v=v2&amp;px=999" role="button" title="fin_pic12.png" alt="fin_pic12.png" /></span></P><P>In the following steps, the user can choose a Change request type from the list and select the entity for which<BR />the rule must be created. The user then needs to select the type of Business Rule that he/she wants to create,<BR />Mutli Value Check Rule to create Validation Rule in BRFPlus and Derivation Rule to create Derivation Rule in<BR />BRFPlus.</P><P>Select Data model as ‘BP’, ‘ZBP1P1V1’ CR Type (select relevant CR type as required) , Entity as ‘BP_CENTRL’,<BR />Rule type: Multi Value Validation and then click on an option like "Rule1” to start defining a new validation rule.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108611i155E061221F1806D/image-size/large?v=v2&amp;px=999" role="button" title="fin_pic1.png" alt="fin_pic1.png" /></span></P><P>Business Scenario: Only Green business partners are allowed to create. Choose the attributes<BR />BP_CENTRL~NAME_ORG1 that needs to be validated. If BP_CENTRL~NAME_ORG1 = ‘RED’, send a warning message ‘Enter name1 as Green’</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic2.png" style="width: 746px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108615i2EF3FE33E5D34B80/image-dimensions/746x302?v=v2" width="746" height="302" role="button" title="fin_pic2.png" alt="fin_pic2.png" /></span></P><P>Click’+’ to create "Rule2” validation rule. If BP_CENTRL~NAME_ORG1 = ‘YELLOW’, send a warning message ‘Enter name1 as Green’</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic3.png" style="width: 734px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108617i3C5E9E714B9B7E4F/image-dimensions/734x300?v=v2" width="734" height="300" role="button" title="fin_pic3.png" alt="fin_pic3.png" /></span></P><P>Click’+’ to create "Rule3” validation rule. Define a new condition&nbsp;</P><P>If BP_CENTRL~NAME_ORG1 = ‘GREEN’ and BP_CENTRL~NAME_ORG2 != ‘CORP’ , When the conditions are not met,&nbsp;send error message ‘Enter name2 as CORP’</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic4.png" style="width: 742px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108620iE7E2DCC99E01F9D8/image-dimensions/742x286?v=v2" width="742" height="286" role="button" title="fin_pic4.png" alt="fin_pic4.png" /></span></P><P>Multi value validation BADI implementation has bee created in the back end automatically to check the multi value validation.</P><P>Step 2: Trigger the rule in nwbc application.&nbsp;</P><UL><LI>The rules created in the previous step are triggered when creating a Change Request of the type for which&nbsp;the rules are created in RDG (ZBP1P1V1).</LI></UL><P>Validation Rule1 :</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mv_nwbc_pic1.png" style="width: 731px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108629i178072F76875D494/image-dimensions/731x344?v=v2" width="731" height="344" role="button" title="mv_nwbc_pic1.png" alt="mv_nwbc_pic1.png" /></span></P><P>Now name1 is entered as GREEN, Error message appears for name 2</P><P>Validation Rule3:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mv_nwbc_pic2.png" style="width: 737px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108634iB2DEA78722B234D6/image-size/large?v=v2&amp;px=999" role="button" title="mv_nwbc_pic2.png" alt="mv_nwbc_pic2.png" /></span></P><P>After successful verification of Validation Rule1 &amp; Rule 3 , ‘No Errors found’<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mv_nwbc_pic3.png" style="width: 739px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108633iED4E117BC6D209DF/image-size/large?v=v2&amp;px=999" role="button" title="mv_nwbc_pic3.png" alt="mv_nwbc_pic3.png" /></span></P><P>Below is the Decision table that got automatically generated in BRFPlus through Syniti RDG.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic7_mv.png" style="width: 750px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108635iE712BA4A3B370436/image-dimensions/750x354?v=v2" width="750" height="354" role="button" title="fin_pic7_mv.png" alt="fin_pic7_mv.png" /></span></P><P>Validation Rules created in FMDM Catalog automatically in decision table format</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="fin_pic6_mv.png" style="width: 765px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108637i92E0477F9A9C61C8/image-dimensions/765x360?v=v2" width="765" height="360" role="button" title="fin_pic6_mv.png" alt="fin_pic6_mv.png" /></span></P><P><STRONG>Multi Derivation Rule:</STRONG> Most of the steps are similar to Multi Validation rules, except here we have to mention<BR />the multiple deriving attributes which is derived based on satisfying certain condition</P><P>In the business Rules Page, define a New Rule: Start by creating a new rule, select the type of rule as "Multi Value Derivation Rule" to create.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MD_NEW_PIC.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108719i2752A91543C98B95/image-size/large?v=v2&amp;px=999" role="button" title="MD_NEW_PIC.png" alt="MD_NEW_PIC.png" /></span></P><P><STRONG>Step 1 :</STRONG> Select Data model as ‘BP’, ‘ZBP1P1V1’ CR Type (select relevant CR type as required) , Entity as ‘BP_CENTRL’,<BR />Rule type: Multi Derivation and then click on an option like "Rule1” to start defining a new derivation rule.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="md_fin_pic11.png" style="width: 939px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108653i10A98D57F0ECC35A/image-size/large?v=v2&amp;px=999" role="button" title="md_fin_pic11.png" alt="md_fin_pic11.png" /></span></P><P>Business Scenario: For all Green business partners, derive multiple attributes like Salutation, Title, BU search term1,<BR />BU search term2 through multi value validation rules, for the ease of understanding, simple business derivations rules are taken and<BR />explained here, there is no restriction to create multiple rules with multiple condition.</P><P>If BP_CENTRL~NAME_ORG1 = ‘GREEN’, following attributes will be derived automatically upon successful validation rules&nbsp;</P><P>BP_CENTRL~BU_SORT1,&nbsp;BP_CENTRL~BU_SORT2,&nbsp;BP_CENTRL~TITLE_LET,&nbsp;BP_CENTRL~TITLE_BP</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="md_fin_pic4(derived attributes.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108664iE083D6CC526932F3/image-size/large?v=v2&amp;px=999" role="button" title="md_fin_pic4(derived attributes.png" alt="md_fin_pic4(derived attributes.png" /></span></P><P>After saving the Mutli value derivation business rule thru RDG,&nbsp;Multi value derivation BADI implementation has been<BR />created / updated in the back end automatically to derive multiple attributes&nbsp;&nbsp;</P><P>Step 2: Trigger the rule in NWBC application.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="md_fin_pic3(derived values).png" style="width: 757px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108665i19E9ED2C1B60CED2/image-dimensions/757x356?v=v2" width="757" height="356" role="button" title="md_fin_pic3(derived values).png" alt="md_fin_pic3(derived values).png" /></span></P><P>Multi Value Derivation Rules created in FMDM Catalog automatically in decision table format</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="md_fin_pic7_brf_plus_decision table.png" style="width: 755px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108666i3FA86DDEC6EE0871/image-dimensions/755x355?v=v2" width="755" height="355" role="button" title="md_fin_pic7_brf_plus_decision table.png" alt="md_fin_pic7_brf_plus_decision table.png" /></span></P><P>With the help of Syniti RDG, you can now create multi value validation / derivation rules without the effort of creating<BR />Custom BADI implementation in the backend and it simplifies the way of creating decision tables automatically&nbsp;in BRFPlus.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP Endorsed logo.png" style="width: 403px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108716iAD11FBE668E11017/image-dimensions/403x76?v=v2" width="403" height="76" role="button" title="SAP Endorsed logo.png" alt="SAP Endorsed logo.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P><A href="https://store.sap.com/dcp/en/product/display-2001014736_live_v1/syniti-rapid-data-governance" target="_blank" rel="noopener noreferrer"><SPAN>Syniti RDG</SPAN></A><SPAN> is a certified SAP BTP solution and is available on </SPAN><A href="https://store.sap.com/dcp/en/" target="_blank" rel="noopener noreferrer"><SPAN>SAP App Store</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>&nbsp;</SPAN><SPAN>To know more details about the product, check the blog </SPAN><A href="https://blogs.sap.com/2021/02/05/how-partner-add-on-solutions-enhance-saps-master-data-governance/" target="_blank" rel="noopener noreferrer"><SPAN>Partner Add-on Solutions</SPAN></A><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Your opinions and feedback are highly appreciated and feel free to post them in the comment section.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Please follow and read more interesting blogs on </SPAN><A href="https://blogs.sap.com/tags/67837800100800004488/" target="_blank" rel="noopener noreferrer"><SPAN>SAP Master Data Governance | SAP | SAP Blogs</SPAN></A><SPAN>&nbsp;</SPAN></P><P><SPAN>You can also find and post questions about the product here: </SPAN><A href="https://answers.sap.com/tags/67837800100800004488" target="_blank" rel="noopener noreferrer"><SPAN>SAP Master Data Governance Community</SPAN></A><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P> 2024-05-17T12:35:22.385000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-abap-environment-release-2405/ba-p/13705247 SAP BTP ABAP Environment – Release 2405 2024-05-17T21:33:18.532000+02:00 merveyalcin https://community.sap.com/t5/user/viewprofilepage/user-id/425636 <P>As follow-up to our previous release <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-abap-environment-release-2402/ba-p/13616379" target="_blank">2402</A>, this blog post provides an update to our most recent release 2405, which is available for customers and partners on May 18th/ 19th. Please enjoy my little overview of the most important features.</P><P>Many thanks to Florian Wahl for his contributions to this blog post!</P><P>All available new features can be found on the&nbsp;<A href="https://help.sap.com/whats-new/7a822d3bcaa74f31b98fa315601e9c96?Version=ABAP%20Environment%202405&amp;locale=en-US" target="_blank" rel="noopener noreferrer">official release notes&nbsp;</A>page.</P><P><STRONG>ABAP Development Tools</STRONG></P><UL><LI>Enhancements to <STRONG>authorization check issue handling</STRONG> relating to authorization object S_DEVELOP (<A href="https://help.sap.com/docs/link-disclaimer?site=https://me.sap.com/notes/3441852" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Availability of new editors for <STRONG>launchpad spaces and page template </STRONG>(<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/74d5b1a9ec654bf59871631eba0491d6.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>clear console</STRONG> when running an ABAP application (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/launching-abap-program-console?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>exporting an ABAP runtime error</STRONG> as ZIP file (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/exporting-short-dumps?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>display application job catalog entries</STRONG> (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/working-with-application-job-catalogs?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>ATC checks</STRONG> for knowledge transfer documents (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/knowledge-transfer-documents?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Availability of <STRONG>new property ABAP language version</STRONG> (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/property-filter?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>display of failed assertions</STRONG> and <STRONG>status test methods </STRONG>(<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/evaluating-abap-unit-test-results?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Enhancements to <STRONG>large ABAP traces</STRONG> for better handling (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/analyzing-trace-events-in-aggregated-call-tree?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>ABAP contract check violations feed </STRONG>(<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/abap-contract-check-violations?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>custom code migration project scheduling</STRONG> via application jobs (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/651ef65d8d37488cb8f84a1fd2ab4455.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>software component relations editor </STRONG>(<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/working-with-software-component-relations?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>toggling the step size</STRONG> in the ABAP debugger (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/defining-step-size?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>launching ABAP unit tests</STRONG> with quick actions (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/how-to-write-abap-unit-test-classes?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>test code highlighting</STRONG> for method calls (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/test-code-highlighting?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>quick action usage</STRONG> to insert ABAP unit test class templates (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/how-to-write-abap-unit-test-classes?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>template context</STRONG> while creating metadata extensions (<A href="https://help.sap.com/docs/abap-cloud/abap-cds-tools-user-guide/creating-metadata-extensions?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>tools bridges</STRONG> between ABAP Development Tools for Eclipse and VS Code/BAS (<A href="https://help.sap.com/docs/abap-cloud/abap-cds-tools-user-guide/creating-fiori-project?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A><SPAN>)</SPAN></LI><LI>Support for <STRONG>display remote ATC runs</STRONG> from SAP BTP (<A href="https://help.sap.com/docs/abap-cloud/abap-development-tools-user-guide/working-with-atc-result-browser" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>ABAP RESTful Application Programming Model</STRONG></P><UL><LI>Support for <STRONG>subentities</STRONG> as authorization master that are not defined as root entity</LI><LI>Support for <STRONG>entity assignment</STRONG> of RAP business events</LI><LI>Support for <STRONG>defining result cardinality</STRONG> [1..*] for factory actions</LI></UL><P><STRONG>Administration</STRONG></P><UL><LI><STRONG>IP address changes on AWS </STRONG>(<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-abap-environment-ip-address-changes-on-aws/ba-p/13693196" target="_blank">details</A>)</LI><LI>Support <STRONG>for display</STRONG> whether<STRONG> dependent business catalog</STRONG> is optional (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/82d17cfdb0f3464b9735e4ded705f71f.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support <STRONG>for defining several general restrictions</STRONG> by leading and filter undefined restrictions in Maintain Restrictions UI (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/365b0d6fe67d4cecbfe11cc8344264cc.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>factory calendar pull integration </STRONG>from SAP S/4HANA Cloud to SAP BTP, ABAP environment (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/2a41550e1999405b8b64a41ac7f8cf4d.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>table analysis</STRONG> of table statistics from aggregated views over time (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/c0b97f8000164a5e940f8f91d26608d8.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>merging spaces and pages</STRONG> at the same time (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/1fa208d9cd63465b9539906ceeefc6c9.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>, <A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/655c6ce6f1444bcbac1897c304b2400a.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>translation</STRONG> <STRONG>of new CDS annotation</STRONG>: UI.dataPoint.title, EnterpriseSearch.modelName and EnterpriseSearch.modelNamePlural (<A href="https://help.sap.com/docs/abap-cloud/abap-data-models/cds-based-enterprise-search-models?version=sap_btp" target="_blank" rel="noopener noreferrer">details</A>)</LI><LI>Support for <STRONG>upload of primary and secondary signing certificate </STRONG>(<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/950709c564d6424babb0dcacaad2440a.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>Integration &amp; </STRONG><STRONG>Connectivity</STRONG></P><UL><LI>Support for <STRONG>setting the AIR key as custom HTTP header field</STRONG> to a SOAP request (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/29229464873a4357922d5e290ea4e9e4.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>Key User Extensibility</STRONG></P><UL><LI>Support for <STRONG>user names in Manage View dialog </STRONG>(<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/1f638f22410349e5922a0699dd79bec8.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>Reuse Services</STRONG></P><UL><LI>Support for <STRONG>usage of source templates</STRONG> to provide content specification of a metadata extension and <STRONG>reading the longtext of a message</STRONG> using the XCO library (<A href="https://help.sap.com/docs/PRODUCTS/36609a00dcea4e6fa7c4ca2f2868e972/29229464873a4357922d5e290ea4e9e4.html?locale=en-US&amp;version=Cloud" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>Data Access</STRONG></P><UL><LI>Support for <STRONG>SQL-based remote access from SAP HANA Cloud databases to ABAP system </STRONG>(<A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-data-access-guide/create-abap-cloud-remote-source?version=2024_1_QRC" target="_blank" rel="noopener noreferrer">details</A>)</LI></UL><P><STRONG>Additional Information</STRONG></P><P>You can find the (new) product page on&nbsp;<A href="https://help.sap.com/docs/sap-btp-abap-environment" target="_blank" rel="noopener noreferrer">SAP BTP, ABAP Environment | SAP Help Portal</A></P><P>For the new documentation structure, see&nbsp;<A href="https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-environment" target="_blank" rel="noopener noreferrer">Standalone Documentation</A>. The new documentation page makes search and navigation for SAP BTP, ABAP environment topics easier.</P><P>In addition to the&nbsp;<A href="https://roadmaps.sap.com/board?range=CURRENT-LAST&amp;PRODUCT=73555000100800001164" target="_blank" rel="noopener noreferrer">Roadmap Explorer</A>, see&nbsp;<A href="https://help.sap.com/docs/abap-cross-product/roadmap-info/abap-platform-roadmap-information?locale=en-US&amp;source=redirect" target="_blank" rel="noopener noreferrer">SAP BTP, ABAP environment Roadmap</A>&nbsp;for more details on the roadmap items.</P><P>As always, please let us know if you have questions.</P><P>Stay healthy and take care!</P> 2024-05-17T21:33:18.532000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/ai-fre-part-1-enabling-enterprise-ai-adoption-through-the-btp-fre/ba-p/13706705 AI@FRE (Part 1) - Enabling Enterprise AI Adoption through the BTP FRE Engagement Model 2024-05-20T14:01:27.023000+02:00 Linh_Nguyen15 https://community.sap.com/t5/user/viewprofilepage/user-id/556798 <P>In this blog, we will explore the challenges of adopting Business AI; what use cases are for AI and not for AI; and how enterprises can effectively roadmap their Business AI Adoption Journey with foundational BTP AI Services.</P><P>With <A href="https://news.sap.com/2024/01/trustworthy-ai-can-reinvent-companies-and-help-resolve-global-challenges/" target="_self" rel="noopener noreferrer">Business AI</A>, our goal is to maximize business value for customers by providing <STRONG>R</STRONG>elevant, <STRONG>R</STRONG>esponsible, and <STRONG>R</STRONG>eliable intelligent capabilities through AI and GenAI. These beneficial applications are evident across various SAP LoBs functions, showcasing the transformative potential of AI in accelerating and reimagining business processes.</P><P>&nbsp;</P><H3 id="toc-hId-1143894720"><STRONG>SAP Business AI sounds great. Why I haven’t started implementing it yet?</STRONG></H3><P><SPAN>Adopting Business AI involves navigating both technical and non-technical challenges. </SPAN></P><P>Organizations must first develop a clear understanding of how AI can be effectively utilized within their operations. This includes identifying appropriate <STRONG>business use cases for AI</STRONG>, such as automation, analytics, and personalized recommendations; while recognizing that <STRONG>AI is less suitable for</STRONG> tasks requiring high levels of creativity and innovation, mission-critical decision-making, compliance, and handling complex matters, as well as random or overly simple scenarios.</P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Linh_Nguyen15_2-1716204935156.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112917i19C52C78D7B96C19/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="Linh_Nguyen15_2-1716204935156.png" alt="Linh_Nguyen15_2-1716204935156.png" /></span></P><P style=" text-align: center; "><EM>Business Use Cases FOR AI</EM></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Linh_Nguyen15_1-1716204781012.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112916iAAD23844B745F327/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="Linh_Nguyen15_1-1716204781012.png" alt="Linh_Nguyen15_1-1716204781012.png" /></span></P><P style=" text-align: center; "><EM>Business Use Cases NOT for AI</EM></P><P>&nbsp;</P><P><SPAN>On the non-technical side, one of the primary challenges is incorporating a <STRONG>human element into AI</STRONG> deployments. This means understanding which tasks should remain human-centric and ensuring that AI complements rather than replaces human capabilities. Furthermore, effectively <STRONG>bridging the skills</STRONG> <STRONG>gap</STRONG> is crucial. Organizations must invest in training and development to equip their workforce with the necessary skills to work alongside AI technologies. This balanced approach ensures that AI adoption enhances business operations without undermining the human contributions that are essential for creativity, critical thinking, and complex decision-making.</SPAN></P><P><SPAN>&nbsp;</SPAN></P><H3 id="toc-hId-947381215"><STRONG>I Understand the Challenges. What Are the Recommended First Steps for AI Adoption?</STRONG></H3><P>The advantage of SAP Business AI is that it seamlessly integrates <STRONG>the right AI capabilities into the appropriate business processes</STRONG>, embedding AI into Cloud LoB applications to make customers' business operations more intelligent. SAP AI Business Services, developed through <STRONG>strong ecosystem partnerships with leading AI model and cloud platform providers</STRONG>, help organizations overcome the complexities of their initial machine learning projects. These services offer easy-to-use, enterprise-ready intelligent solutions that address specific business problems across various processes. By leveraging these capabilities, organizations can further solidify their AI foundation and prepare for more advanced applications.</P><P>When <STRONG>organizations begin their journey with AI</STRONG>, focusing on <STRONG>quick-win use cases</STRONG> can set a positive trajectory. For instance, infusing AI into enterprise functions, such as deploying AI co-pilots and digital assistant applications like <A href="https://www.sap.com/germany/products/artificial-intelligence/ai-assistant.html" target="_blank" rel="noopener noreferrer">SAP Joule</A>, can deliver immediate value and demonstrate AI's potential to enhance productivity and efficiency. Digital assistants platform, such as SAP Conversational AI, <A href="https://developers.sap.com/topics/conversational-ai.html" target="_blank" rel="noopener noreferrer">can improve customer service</A> by providing instant responses to common inquiries, reducing wait times and improving customer satisfaction. These quick wins can build confidence and pave the way for more comprehensive AI integration.</P><P><STRONG>Establishing guardrails</STRONG> is essential to guide AI adoption and ensure long-term success. <STRONG>Standardization</STRONG> is key; without a solid foundation in data management, UX, security setup, and a clean core infrastructure, AI integration efforts are likely to falter. For instance, inconsistent data formats or poor data quality can severely hinder AI performance. A standardized approach ensures that data is clean, well-organized, and secure, providing a reliable foundation for AI applications. Additionally, <STRONG>building AI systems that are responsible, ethical, and explainable</STRONG> is critical. This means ensuring that AI operates transparently, making decisions that can be easily understood and justified, thereby fostering trust and compliance with regulatory standards. For example, <A href="https://www.sap.com/industries/life-sciences-healthcare.html#artificial-intelligence" target="_blank" rel="noopener noreferrer">in healthcare</A>, an explainable AI model used for diagnosing diseases should provide clear insights into how it arrived at a particular diagnosis, allowing doctors to verify and trust the AI's recommendations. These guardrails help integrate AI responsibly and sustainably, aligning with broader business objectives and setting the stage for long-term success.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Linh_Nguyen15_3-1716204954768.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112918iF42186988FDC0746/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="Linh_Nguyen15_3-1716204954768.png" alt="Linh_Nguyen15_3-1716204954768.png" /></span></P><P style=" text-align: center; "><EM>Guardrails for Future Ready Business Transformation with AI</EM></P><H3 id="toc-hId-750867710">&nbsp;</H3><H3 id="toc-hId-554354205"><STRONG>Hmmm… That’s good to know but I am a bit lost again in my AI Adoption Journey. Any structure framework to guide me?</STRONG></H3><P>Embracing change with new innovation is usually challenging for customers operating within complex environments. <STRONG>The Future Ready Enterprise Engagement (#FRE) </STRONG>Model is designed and developed specifically to help customers <STRONG>Embrace Change, Operate at Pace, and Protect their Core.</STRONG> (To revisit FRE and its value lens to partners / customers, please visit this <A href="https://community.sap.com/t5/technology-blogs-by-sap/the-future-ready-enterprise-a-framework-for-sap-business-technology/ba-p/13548443" target="_blank">SAP Blog on #FRE Engagement Model</A>).</P><P><SPAN>Th</SPAN>e #FRE&nbsp;<SPAN>model</SPAN> also<SPAN> provides a structured approach for adopting AI in their platforms, guiding them from getting started to becoming mature, proficient users of Business AI.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Linh_Nguyen15_0-1716205170184.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112920iAF8EAEE3B6C48D36/image-size/large/is-moderation-mode/true?v=v2&amp;px=999" role="button" title="Linh_Nguyen15_0-1716205170184.png" alt="Linh_Nguyen15_0-1716205170184.png" /></span></P><P style=" text-align: center; "><EM>The FRE Engagement Model for Platform Maturity</EM></P><P>&nbsp;</P><P><SPAN>For organizations looking to adopt AI, #FRE offers a comprehensive roadmap. The journey with BTP Business AI&nbsp;<STRONG>starts by </STRONG></SPAN>infusing / embedding<SPAN> AI capabilities into operations, focusing on enhancing business functions and <STRONG>standardizing</STRONG> security architecture. As organizations progress, the FRE model guides them in <STRONG>driving business process excellence</STRONG>, standardizing UX architecture, and developing a robust data strategy with ethical and secure AI use. Once these foundations are established, organizations move towards <STRONG>scalable execution</STRONG>, <STRONG>optimizing business processes</STRONG> with reliable AI. The final stage involves creating an <STRONG>Enterprise AI Center of Excellence</STRONG> and implementing <STRONG>Change Management </STRONG>strategies for sustainable AI adoption.</SPAN></P><P>In Part 2 of the AI@FRE Blog Series, we will discover how customers can start with BTP foundational capabilities, to accelerate GenAI capabilities in their business processes.</P><P>For more information on BTP FRE Engagement Model and how FRE can establish foundational capabilities for customer's AI Adoption, please feel free to reach out to our team at&nbsp;<SPAN><A href="mailto:BTPFRE@sap.com" target="_blank" rel="nofollow noopener noreferrer">BTPFRE@sap.com</A> </SPAN></P> 2024-05-20T14:01:27.023000+02:00