https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Build-blog-posts.xml SAP Community - SAP Build 2024-05-20T20:00:37.689000+00:00 python-feedgen SAP Build blog posts in SAP Community https://community.sap.com/t5/technology-blogs-by-members/unlocking-full-stack-potential-using-sap-build-code-part-1/ba-p/13667300 Unlocking Full-Stack Potential using SAP build code - Part 1 2024-04-16T12:53:38.653000+02:00 jenifer_ranjani https://community.sap.com/t5/user/viewprofilepage/user-id/149737 <P><U><STRONG>Introduction</STRONG></U></P><P><SPAN>Last year at TechEd, SAP unveiled Build Code, and now it's accessible to the users through trial accounts, offering them a firsthand experience of its generative AI capabilities. SAP Build Code stands as a cornerstone in the realm of SAP Cloud Application Programming Model (CAP), SAP Fiori, mobile, and SAPUI5 development. Tailored to enhance the application development journey on SAP BTP.... it integrates coding, testing, and application management seamlessly. Leveraging SAP Business Application Studio alongside essential services and SDKs on SAP BTP, SAP Build Code simplifies and accelerates the development process.</SPAN></P><P>At its core lies Joule, the AI copilot of SAP, facilitating the automatic generation of application code, data models, services, and sample data. This integration ensures adherence to the best practices delineated in the SAP BTP Developer's Guide. With AI-based code generation optimized for Java and JavaScript, SAP Build Code offers a comprehensive solution for coding, testing, integrations, and application lifecycle management.</P><P>Recently I got a chance to do a test drive on build code and I have tried out a full stack use case. In part 1 we will create a simple CAP and UI App using Joule and we'll deploy it to the BTP subaccount. We will test, create a managed app router configuration, and access the UI and service endpoints successfully.&nbsp;</P><P>Check out the&nbsp;SAP documentation to know more about the&nbsp;<A href="https://help.sap.com/docs/build_code" target="_self" rel="noopener noreferrer">SAP Build Code.</A></P><P><U><STRONG>Now Let's get into action!!!</STRONG></U></P><UL><LI>As an initial step setup the Build code subscription in your BTP account. Follow this blog to achieve that.</LI><LI>Inside your service marketplace under subscription hit on the SAP build code and click the goto application.<P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_0-1712851835524.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95210iA31316099C95A3A0/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_0-1712851835524.png" alt="jenifer_ranjani_0-1712851835524.png" /></span></P></LI><LI>Inside your service marketplace under subscription hit on the SAP build code and click the goto application.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_0-1713262113333.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96995i1B9A99BAC9C844D8/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_0-1713262113333.png" alt="jenifer_ranjani_0-1713262113333.png" /></span></P><P>&nbsp;</P><UL><LI>Inside the build lobby, hit the create button and select Build apps and then Build code</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_1-1713262113355.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96997iB09FDE8E865FBA30/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_1-1713262113355.png" alt="jenifer_ranjani_1-1713262113355.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_2-1713262113365.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96996iBE86CF3E906CC785/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_2-1713262113365.png" alt="jenifer_ranjani_2-1713262113365.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_3-1713262113372.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96998iD53B05712D29A739/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_3-1713262113372.png" alt="jenifer_ranjani_3-1713262113372.png" /></span></P><P>&nbsp;</P><UL><LI>We are going to build a full stack application use case here so hit the full stack option and fill in the basic details and hit create.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_4-1713262113379.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96999i4D0F315A0898F3D0/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_4-1713262113379.png" alt="jenifer_ranjani_4-1713262113379.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_5-1713262113386.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97000i7F9B36DFACEFC32D/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_5-1713262113386.png" alt="jenifer_ranjani_5-1713262113386.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_6-1713262113402.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97003i6160488739CE9539/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_6-1713262113402.png" alt="jenifer_ranjani_6-1713262113402.png" /></span></P><UL><LI>Click on your newly created project which will be available in the Build lobby, this opens up your BAS IDE and You can also look for your projects in this path “/home/user/projects” if you are not able to locate it when you launch the BAS.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_7-1713262113403.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97001iB578BEDF2CC0B928/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_7-1713262113403.png" alt="jenifer_ranjani_7-1713262113403.png" /></span></P><UL><LI>Your storyboard shows the project's partial skeleton with a service and no model exists right now.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_8-1713262113408.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97002i08C8E63533F04C68/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_8-1713262113408.png" alt="jenifer_ranjani_8-1713262113408.png" /></span></P><UL><LI>So far we have created a project using your Build code now lets make use of SAP Joule – the copilot to generate other technical artifacts.</LI><LI>As described in the introduction, we will give a simple text-based prompt to Joule as below, and let's anticipate the surprises it has in store.</LI><LI>Click on the Joule icon on the left side panel and provide the prompt now.. to create simple entities with a few fields also let's mention data types of them.</LI></UL><P><U><STRONG>Prompt</STRONG> </U>– “Create an employee details app with 2 entities “Project allocation” and “Employee Info”.&nbsp;<BR />Project allocation entity should have the following fields cust_Activitycode of type String and size 20, cust_Allocation of type decimal,cust_CTC of type decimal,cust_Closuredate of type Date,cust_Costcenter of type String,cust_Costcontrolmanager of type String,cust_Enddate of type Date,cust_Initiationdate of type Date,cust_Jobcode of type String,cust_Jobtitle of type String,cust_ProjectID of type String,cust_ProjectLocation of type String,cust_Projectname of type String.</P><UL><LI>Employee Info entity should have the following fields startDate of type Date, endDate of type Date, seqNumber of type Integer,userId of type String, company of type String,costCenter of type String, countryOfCompany of type String”</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_9-1713262113418.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97005i6EAE658C8949E931/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_9-1713262113418.png" alt="jenifer_ranjani_9-1713262113418.png" /></span></P><UL><LI>On click on generate, in a few seconds you’ll get your data model ready based on your prompt like below.. Jaw-dropping isn’t it? Accept it as such and now you can see new two entities under the DB section of your storyboard.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_10-1713262113425.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97004i0844BD9A3CCEF1DA/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_10-1713262113425.png" alt="jenifer_ranjani_10-1713262113425.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_11-1713262113432.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97006iE88E108915B34CAD/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_11-1713262113432.png" alt="jenifer_ranjani_11-1713262113432.png" /></span></P><UL><LI>Lets load some sample / mock data into the models for our further testing. Click on the Open Editor drop-down and select Sample data, select your entity and click Add.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_12-1713262113440.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97008i9C5A6D918140C636/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_12-1713262113440.png" alt="jenifer_ranjani_12-1713262113440.png" /></span></P><UL><LI>Click on Import and repeat the same for the second entity.. The sample data was generated by the Build code itself and we haven’t fed any inputs yet.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_13-1713262113445.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97007i7B3141161097C26E/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_13-1713262113445.png" alt="jenifer_ranjani_13-1713262113445.png" /></span></P><UL><LI>Validate the cells and in case of corrections click on the enhance option, now we are going to make use of the Joule copilot to correct the data generated..</LI></UL><P><STRONG>Prompt</STRONG> – “Correct the custCTC and custAllocation data in projectallocation table to two decimal precisions”</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_14-1713262113455.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97009i85844D598391B848/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_14-1713262113455.png" alt="jenifer_ranjani_14-1713262113455.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_15-1713262113460.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97010iAEF6510118576706/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_15-1713262113460.png" alt="jenifer_ranjani_15-1713262113460.png" /></span></P><UL><LI>Now, joule has generated the sample data based on your prompt and the decimal places are rectified. Accept the changes and the rectified data reflects in your project allocation data model.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_16-1713262113463.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97011iA1595C4862C3E753/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_16-1713262113463.png" alt="jenifer_ranjani_16-1713262113463.png" /></span></P><UL><LI>Analyse the data and proceed further to test your CAP output.</LI><LI>Now lets run the app locally to see the output of the service… Open the terminal and provide the “cds serve” command or you can click on the play icon on the top right corner.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_17-1713262113471.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97012i9517379743FAE3C6/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_17-1713262113471.png" alt="jenifer_ranjani_17-1713262113471.png" /></span></P><UL><LI>Upon running the local run the mock data is accessible as below when the entities are hit from the browser, the same works positive when tested via Postman.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_18-1713262113476.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97014i136B72231C627113/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_18-1713262113476.png" alt="jenifer_ranjani_18-1713262113476.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_19-1713262113481.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97015i1570E5F1C82AFD9B/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_19-1713262113481.png" alt="jenifer_ranjani_19-1713262113481.png" /></span></P><UL><LI>Let's quickly create a UI app based on the Fiori elements template … Click on Add under the UI section and then fill in as below.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_20-1713262113484.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97013iAD240DD447041718/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_20-1713262113484.png" alt="jenifer_ranjani_20-1713262113484.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_21-1713262113488.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97016iFC155D9DD755693C/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_21-1713262113488.png" alt="jenifer_ranjani_21-1713262113488.png" /></span></P><UL><LI>Select template based and proceed next…</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_22-1713262113493.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97017i5CB0E2EDBD0E1DED/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_22-1713262113493.png" alt="jenifer_ranjani_22-1713262113493.png" /></span></P><UL><LI>Select List report page … we’ll explore Custom page in part two of the blog.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_23-1713262113498.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97018i872572D610865FD1/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_23-1713262113498.png" alt="jenifer_ranjani_23-1713262113498.png" /></span></P><UL><LI>Select the data model from our CAP app… here im going with project allocation. Click on Generate.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_24-1713262113502.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97020iC1ABEE17AECA1DC0/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_24-1713262113502.png" alt="jenifer_ranjani_24-1713262113502.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_25-1713262113503.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97019i36CEBDB1B0465D12/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_25-1713262113503.png" alt="jenifer_ranjani_25-1713262113503.png" /></span></P><UL><LI>Run the application, and you’ll be able to see the output as a list report page as below.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_26-1713262113512.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97021iD2F91831A554CE0A/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_26-1713262113512.png" alt="jenifer_ranjani_26-1713262113512.png" /></span></P><UL><LI>Now lets deploy your app to the subaccount.. Your app will not be having mta file so provide “cds add mta” command in the terminal.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_27-1713262113517.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97024i89F6725C259A5797/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_27-1713262113517.png" alt="jenifer_ranjani_27-1713262113517.png" /></span></P><UL><LI>Right click on the mta file and select build.. once the mtar is generated, deploy your application to your subaccount…</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_28-1713262113526.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97023i26C32F4A4B79F1AF/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_28-1713262113526.png" alt="jenifer_ranjani_28-1713262113526.png" /></span></P><UL><LI>Select your cloud foundry settings.. here I have logged in to my global account using my credentials.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_29-1713262113528.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97022i50CFFDB056836871/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_29-1713262113528.png" alt="jenifer_ranjani_29-1713262113528.png" /></span></P><UL><LI>Before deployment, make sure that you have subscribed to the HANA cloud instance if not you might face issues during deployment.</LI><LI>Once deployed, your CAP application route is available, and you can quickly test it out from Postman.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_30-1713262113536.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97025i1D50069F7DEB6BAC/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_30-1713262113536.png" alt="jenifer_ranjani_30-1713262113536.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_31-1713262113542.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97026i8C50F24FD4220CDD/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_31-1713262113542.png" alt="jenifer_ranjani_31-1713262113542.png" /></span></P><UL><LI>Now, the UI app should be available post-deployment… Ohoooo Nooo! We forgot to add an approuter to our application to access the app via Build Work zone standard edition… Let's add that now and then do the rebuild, deployment.</LI><LI>Right click on the mta.yaml and select “Create MTA module from template”</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_32-1713262113549.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97027iCA6C12A2D3E56CE4/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_32-1713262113549.png" alt="jenifer_ranjani_32-1713262113549.png" /></span></P><UL><LI>Select the approuter type as ‘Managed approuter’…and click on create.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_33-1713262113552.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97028i92C16E0387F92FA5/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_33-1713262113552.png" alt="jenifer_ranjani_33-1713262113552.png" /></span></P><UL><LI>Your mta.yaml should automatically get updated with the needed configurations that are used by the SAP Build Work Zone, standard edition.</LI><LI>Build your project again and then redeploy… You should find the UI app under the HTML5 Applications</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_34-1713262113560.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97029i8A34573D94355C8C/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_34-1713262113560.png" alt="jenifer_ranjani_34-1713262113560.png" /></span></P><UL><LI>Open the deployed application route and hit go you should find the results from our full stack app which is built out of Build Code.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="jenifer_ranjani_35-1713262519165.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97037iCF7C0B96B29C7D86/image-size/medium?v=v2&amp;px=400" role="button" title="jenifer_ranjani_35-1713262519165.png" alt="jenifer_ranjani_35-1713262519165.png" /></span></P><P><U><STRONG>Conclusion</STRONG></U></P><P>We have explored a full stack scenario covering the creation of CAP, a UI app using SAP Joule co-pilot on Build code. In the next part we'll add application logic to the cap app, consume data from external services and&nbsp;configure the portal site using the build work zone standard edition.</P><P>Thank you for going through the blog. Stay Tuned for the next part! <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span></P><P>&nbsp;</P><P>&nbsp;</P> 2024-04-16T12:53:38.653000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-connectivity-options-for-low-code/ba-p/13666667 Consuming SAP with SAP Build Apps - Connectivity options for low-code development - part 2 2024-04-16T13:51:25.397000+02:00 LudoNoens https://community.sap.com/t5/user/viewprofilepage/user-id/15040 <P>This blog post is the second in a series of posts that cover the connectivity options available for SAP Build Apps to interface with SAP systems. In case you've missed it, part 1 of the series can be found <A title="Consuming SAP with SAP Build Apps - Connectivity options for low-code development - part 1" href="https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-connectivity-options-for-low-code/ba-p/13604697" target="_blank">here</A>. The series will cover connecting SAP Build Apps with the following:</P><OL><LI>CAP-based services</LI><LI>S/4HANA systems</LI><LI>ABAP systems</LI></OL><P>The format of this post is similar to a tutorial. However, I'll provide more comprehensive details, tips and the opportunity for you to provide feedback. Based on the feedback we will be able to adjust and enhance this post and future parts of the series, and might even be able to improve the products involved as well.&nbsp;Just like in real-world scenarios, we will start with a very basic app and gradually enhance it.&nbsp;</P><P>&nbsp;</P><H1 id="toc-hId-862640484">Introduction</H1><P>Before we get into the details of setting up connections between SAP Build Apps and SAP Systems, I intend to introduce SAP technology components in each post that are relevant for the use cases covered in the series.&nbsp;</P><H2 id="toc-hId-795209698">IAS</H2><P>SAP Identity Authentication Service (IAS) is a cloud service for authentication, single sign-on, and user management in SAP cloud and on-premise applications.&nbsp;<SPAN>It can act as an identity provider or be used as a proxy to integrate with an existing single sign-on infrastructure.&nbsp;</SPAN><SPAN>IAS offers the following features:</SPAN></P><DIV class=""><DIV class=""><UL><LI><SPAN>Authentication:&nbsp;</SPAN><SPAN>Standardized methods, flexible options, and password policies</SPAN></LI><LI><SPAN>Integration:&nbsp;</SPAN><SPAN>Flexible scenarios with existing identity providers and corporate IdPs</SPAN></LI><LI><SPAN>User experience:&nbsp;</SPAN><SPAN>Customizable look-and-feel, self-service capabilities, and invitation workflows</SPAN></LI><LI><SPAN class="">Security:<SPAN>&nbsp;</SPAN></SPAN><SPAN class="">Risk-based authentication, two-factor authentication, and delegated authentication</SPAN></LI></UL></DIV></DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="IAS.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96895i73675218ACE71387/image-size/large?v=v2&amp;px=999" role="button" title="IAS.png" alt="IAS.png" /></span></P><H1 id="toc-hId-469613474">&nbsp;</H1><H1 id="toc-hId-273099969">Use case B : Control access to the CAP service through Roles</H1><P>For this use case, we will enhance the previously&nbsp;created basic CAP project in <FONT color="#FF00FF"><STRONG>SAP Build Code</STRONG></FONT>&nbsp;and introduce Roles to control access to the service.&nbsp;Depending on the user’s Role, the access and capabilities are controlled. As SAP Build Apps uses IAS for authentication, the configuration&nbsp;is a bit more complicated. Follow along the steps below to learn how to get this set up.</P><H2 id="toc-hId-205669183">Creating Roles</H2><P>We go back to the Storyboard in SAP Build Code (or SAP Business Application Studio, depending on your subscription) and select the menu Open Editor. Select User Roles. This will open the <STRONG>Authorization Editor</STRONG>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1712826726186.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95004i57B0CE5E472C970C/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_0-1712826726186.png" alt="LudoNoens_0-1712826726186.png" /></span></P><P>First, let’s create a role called ProductsViewer, allowing the user to read the product list. Select the + button to add a new role, configure as shown below and save it.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_1-1712826842186.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95005iC724A36D572C3754/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1712826842186.png" alt="LudoNoens_1-1712826842186.png" /></span></P><P>Select the ProductsViewer role and select your service for the Service Assignments. Click Add Service Entities and toggle the Assigned button for Component "Products" to On. For the Privileges, keep the default "Read". Select Save. The ProductsViewer should now be configured as follows:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1712827358137.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95021i41A76E6C7BEC6C87/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1712827358137.png" alt="LudoNoens_2-1712827358137.png" /></span></P><P>We will add another role called ProductsManager, allowing full access to the data. We could go even further into details on which actions a user is allowed to perform (e.g. Read, Update, Delete). But to keep this example short, we’ll just give the manager full access.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1712894031435.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95423i5C2905D4D620624F/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1712894031435.png" alt="LudoNoens_0-1712894031435.png" /></span></P><P>To apply this Role-based access control to the service, we will have to redeploy it. Follow the steps as mentioned previously to deploy the CAP-based service.</P><P>After successful redeployment, you will find 2 new Role Collections in your BTP subaccount's cockpit. The names of the Role Collections were automatically generated and contain the roles we had specified in the Authorization Editor.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_1-1712896023131.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95430i48A0B10FF5AA9B75/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1712896023131.png" alt="LudoNoens_1-1712896023131.png" /></span></P><H2 id="toc-hId-9155678">&nbsp;</H2><H2 id="toc-hId--187357827">Informing the user in case data access is denied</H2><P>Before we move on and run the UI application, let's add a small enhancement in SAP Build Apps to inform the user when data access is denied. Without this enhancement the user will be left in the dark in case the products list is not showing up.</P><P>Go to the SAP Build Apps designer and select the UI CANVAS tab. Switch from VIEW to VARIABLES. Go to DATA VARIABLES and select the ProductsList we have added in the previous blog post. At the bottom of the page, open the logic canvas by selecting the "Add logic to HOME PAGE". Now drag and drop "Dialog | Alert" onto the canvas. Connect the failure output node (bottom connector) of "Data | Get record collection" to the input node of "Dialog | Alert".</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1713237525866.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96879i48C044ED9A890ABA/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1713237525866.png" alt="LudoNoens_0-1713237525866.png" /></span></P><P>Select the alert dialog and change the title. For this example use case, I am going to make the assumption that in case of any failure, the reason is that the user doesn't have access to the service data. There could actually be other reasons, but we'll ignore this here. Change the Dialog title to "Access denied". For the Dismiss button label, you can use the default "Ok". In my case, I've changed it to "Understood". For the dialog message, bind a formula as shown below and save your changes. Besides the message "You do not have access to the products list.", the formula will output the technical error message.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713168595806.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96475i0FE6B0AC6D64B064/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713168595806.png" alt="LudoNoens_2-1713168595806.png" /></span></P><H2 id="toc-hId--383871332">Quick preview of the UI app</H2><P>We are actually <STRONG>not</STRONG> <STRONG>done</STRONG> configuring the Role Collections for your user at this point. So let us try the enhancement. If we would run the app now, it should inform us that access is denied.&nbsp;</P><P>In SAP Build Apps, select the LAUNCH tab and select "Open preview portal".</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_4-1713172356910.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96508iF4C5BD961B20A864/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_4-1713172356910.png" alt="LudoNoens_4-1713172356910.png" /></span></P><H2 id="toc-hId--580384837">&nbsp;</H2><H2 id="toc-hId--776898342">Assigning Roles to users</H2><P>To provide the user access to the data service, we now have to ensure the user has the required Roles assigned. For this, we have 2 options:</P><OL class="lia-list-style-type-lower-alpha"><LI>Assign Role Collections to the Custom IdP (IAS) user in the BTP Cockpit.</LI><LI>Create a Group in the custom IdP; assign users to this group; and map this Group to a Role Collection in the BTP Cockpit. This is a better option in case you are planning to expose the data to a larger group of users.<BR /><BR /></LI></OL><H2 id="toc-hId--626157490">Assign Role Collection to the Custom IdP user in the BTP Cockpit</H2><P>Assigning the role collection to the custom IdP user works best for the developer use case, where a limited set of users is to be provided access to the data offered through the service. You'll basically have to apply this for each user / developer in your team.</P><P>Go to the BTP subaccount cockpit and navigate to the Security &gt; User tab. As you are using two identity providers, you will see your user for the Identity Provider “Custom IAS tenant” and “Default identity provider”. SAP Build Apps makes use of the “Custom IAS tenant”. Therefore, we need to ensure this user is assigned to the necessary Role Collection. Depending on your use case, you can assign yourself the “manager” or “viewer” role, as defined for your service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1713184880937.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96603i3EA4D6ECBEA7849E/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1713184880937.png" alt="LudoNoens_0-1713184880937.png" /></span></P><P>Note that without assigning a Role Collection to your user, you will not have access to the data. You will still be able to connect to the destination and check the entity types exposed; but you will not see any data and receive a 403 error, indicating you have no permission to access the data itself. In case you run into this, and you've updated the Role Collections assigned to your user, then please log out and log in again to ensure&nbsp; the new Roles take effect.&nbsp;</P><H2 id="toc-hId--822670995">Mapping a Group in Custom IAS tenant to a Role Collection in the BTP Cockpit</H2><P>As mentioned, this option is more suitable when managing access for larger group of users.</P><P>Go to the BTP subaccount cockpit and navigate to the Security &gt; Trust Configuration tab. Open the link to the Custom IAS tenant.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_3-1712897437843.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95439i7778BFE372EAEDE5/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_3-1712897437843.png" alt="LudoNoens_3-1712897437843.png" /></span></P><P>On the overview page, open the link to the Host Name of Identity Authentication Tenant. This brings you to the administration page of the SAP Cloud Identity Service.&nbsp;Assuming you have set up a user here, navigate to Users &amp; Authorizations &gt; Groups.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_5-1712897639878.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95443i47291B9270437E4B/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_5-1712897639878.png" alt="LudoNoens_5-1712897639878.png" /></span></P><P>Select the “+ Create” button to create a new Group. Provide a Name, Display Name and description.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1712899584090.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95447i9AFFAC66B6E3D52B/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_0-1712899584090.png" alt="LudoNoens_0-1712899584090.png" /></span></P><P>Once the group is created, select it to manage the users of the group. Select the “+ Add” button. You can easily pick users known in the system.</P><P>Follow the same steps to create a new Group for Managers who have full access.</P><P>Now that you’ve set up Groups in SAP Cloud Identity Services, go back to the BTP subaccount cockpit and navigate to the tab Security &gt; Role Collections. Select the Role Collection you want to assign to the IAS Group. Select the “Edit” button, so you can make changes. In the section User Groups, you can select the Identity Provider “Custom IAS tenant” and enter the exact name of the Group, as defined in IAS.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_1-1712899941211.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95451iBFE27102B0BA3897/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1712899941211.png" alt="LudoNoens_1-1712899941211.png" /></span></P><P>Save your changes. The mapping will also be reflected in the Role Collections overview.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1712900163718.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95454iC8E19F3AE88D423B/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1712900163718.png" alt="LudoNoens_2-1712900163718.png" /></span></P><H2 id="toc-hId--1019184500">&nbsp;</H2><H2 id="toc-hId--1215698005">Testing the newly added access control</H2><P>To test the access control, please assign only the 'Viewer' Role Collection to your user. Take note that there are two ways to do this: in SAP Cloud Identity Services and in the BTP subaccount cockpit.&nbsp;</P><P>Log out and log in again to ensure your changes are used in the system. Please note that&nbsp;<SPAN class="">changes in Role Collections assigned to custom IdP users can take some time to propagate. If you notice your changes have not taken effect yet, please have some patience.</SPAN></P><P>The app we have created so far only allows users to view a product list. To make changes or add new entries, we can use the data functionality built into SAP Build Apps.&nbsp;Open SAP Build Apps, navigate to the Data tab and select the Products OData integration. Select BROWSE REAL DATA.</P><P>If you don't see data for the Products entity, then you've probably missed a step described above.</P><P>Select an entry and make changes to the name and the price. Then, select SAVE RECORD.&nbsp;</P><P>Having the Viewer role, you will not be able to change or add entries. Your request will fail with status code 403.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713239859797.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96889iF94914FAC081EE55/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713239859797.png" alt="LudoNoens_2-1713239859797.png" /></span></P><P>When you add the Administrator role collection to your user, you will be able to change and add records. But again, please note that you'll have to log out and log in again, and have some patience before these changes take effect.</P><P>Note that we have not (yet) deployed any UI application at this point. We have been running our app in the context of SAP Build Apps.</P><H2 id="toc-hId--1412211510">Summary – use case B</H2><P>Without writing a single line of code, we have added Role-based access control to the CAP-based service. With this in place, authentication to the platform is not enough for users to access the data we have exposed through the service. We have added Roles to the user by assigning platform Role Collections to the Custom IdP user or mapping the Custom IdP group to a specific Role Collection. Depending on platform Roles assigned, a user will be able to perform specific actions on the data. The service is still made available to platform users through a BTP destination and it is discoverable for SAP Build Apps. In SAP Build Apps, we have added an integration to the CAP service through the destination. The destination forms the bridge between the CAP-based service and the applications consuming it.<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713267280552.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97059iCF3F85AE4670DB98/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713267280552.png" alt="LudoNoens_2-1713267280552.png" /></span></P><P>&nbsp;</P><H1 id="toc-hId--1315322008">What's next</H1><P>In the <A title="Consuming SAP with SAP Build Apps - Mobile Apps for iOS and Android" href="https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-mobile-apps-for-ios-and-android/ba-p/13667638" target="_blank">next blog post</A>, we will create dedicated mobile apps that can consume the data service we have enhanced in this post. For authentication, we will be adding SAP Mobile Services into the solution diagram.</P> 2024-04-16T13:51:25.397000+02:00 https://community.sap.com/t5/sap-builders-blog-posts/what-s-in-sap-build-for-our-partners-insights-from-sovanta-ag/ba-p/13674300 What’s in SAP Build for our Partners? Insights from sovanta AG 2024-04-18T10:30:11.505000+02:00 chingweitseng https://community.sap.com/t5/user/viewprofilepage/user-id/5070 <P><SPAN>sovanta AG, our esteemed partner, plays a crucial role in our collaborative efforts. Join us for an engaging interview with sovanta, where they will shed light on empowering customers through innovative SAP Build portfolios. Be prepared to be inspired as <SPAN class=""><A href="https://www.linkedin.com/in/chr-heinrich/" target="_self" rel="nofollow noopener noreferrer">Christian Heinrich</A></SPAN>, Executive Board Member, and <SPAN class=""><A href="https://www.linkedin.com/in/lisa-keller-b44399205/" target="_self" rel="nofollow noopener noreferrer">Lisa Keller</A></SPAN>, Senior Project Manager at sovanta, share their valuable insights!</SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId-992584066">&nbsp;</H2><H2 id="toc-hId-796070561"><STRONG><SPAN>SAP has recently launched Enterprise Automation with SAP; how do you perceive its importance in the context of your customers' journey?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>Process Automation is certainly one of the most important topics for our customers now. On the one hand, it is a topic with extremely high potential. Every customer can name off the top of their head a multitude of processes within their company or their department where there is potential for improvement. And all the customers we talk to quickly realize that SAP Build Process Automation can help them with exactly those challenges. On the other hand, the topic is an excellent opportunity to get started with BTP. Many of our customers have used it to gain initial experience with the platform and the cloud and have ventured into other topics from there.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAP and sovanta at DSAG Technologietage 2023 in Mannheim: Official launch of the sovanta Innovation Factory" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97990iCBC2C0BFDF7F285C/image-size/large?v=v2&amp;px=999" role="button" title="chingweitseng_0-1713427755136.jpeg" alt="SAP and sovanta at DSAG Technologietage 2023 in Mannheim: Official launch of the sovanta Innovation Factory" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP and sovanta at DSAG Technologietage 2023 in Mannheim: Official launch of the sovanta Innovation Factory</span></span></P><P>&nbsp;</P><H2 id="toc-hId-599557056"><STRONG><SPAN>What are the biggest issues your customers are facing now?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>We have many clients that we are privileged to serve on BTP. Some are already well advanced on their BTP journey, while others have just started their journey. We repeatedly hear similar challenges from customers who are still very new to BTP. On the one hand, they wonder how best to get started on BTP. On the other hand, they don't know which expertise they need to get started or they simply do not have the resources available to get active on BTP. Many companies have a lot of expertise with traditional SAP, but do not yet have enough employees with expertise in BTP. In my view, SAP Build can be an important pillar in answering these challenges, as many of the tools offer a quick and lightweight introduction and employees have a steep learning curve.</SPAN><SPAN>&nbsp;</SPAN></P><P>&nbsp;</P><H2 id="toc-hId-403043551"><STRONG><SPAN>How do you consider low code generally at </SPAN></STRONG><STRONG><SPAN>sovanta</SPAN></STRONG><STRONG><SPAN>?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>The topic of low code plays a decisive role for us. As a member of the AppHaus Network, we have been pursuing the human-centered approach to innovation for years, in which close coordination with end users and their involvement in IT projects is of crucial importance. Up to now, we have relied heavily on visual prototypes for coordination with users. Low Code offers us completely new opportunities to involve business users even more closely in projects. Not only do we get results even faster, but we also increase commitment, because it's always different when you've worked on a solution yourself. </SPAN><SPAN>&nbsp;</SPAN><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>In addition, the issue of speed cannot be overestimated. On the one hand, low code gives us the opportunity to integrate other user groups into the solution creation process and thus scale it differently, and on the other hand, we are increasingly able to convince pro developers of the advantages of low code and thus make their work even more efficient. Low Code is a great addition to the toolbox for developers.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Christian Heinrich on stage at the SAP Build Experience Day in the sovanta Innovation Factory" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97991i6B80BE4E037500EE/image-size/large?v=v2&amp;px=999" role="button" title="chingweitseng_1-1713427755138.jpeg" alt="Christian Heinrich on stage at the SAP Build Experience Day in the sovanta Innovation Factory" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Christian Heinrich on stage at the SAP Build Experience Day in the sovanta Innovation Factory</span></span></P><P><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId-206530046"><STRONG><SPAN>How did you start with SAP Build?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>We started a lot of activities before the actual announcement of SAP Build. We worked actively with customers in SAP Work Zone and SAP Workflow Management, and we tried </SPAN><SPAN>SAP Build Apps </SPAN><SPAN>for internal solutions.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId-10016541"><STRONG><SPAN>What is SAP Build for in your portfolio?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>We have integrated the entire SAP Build portfolio into our sovanta portfolio. Because in the end, for us it is always about improving the user experience. SAP Build is an excellent tool for this. We help customers to implement employee or customer portals based on SAP Build Work Zone. We modernize and improve processes for our customers with the help of SAP Build Process Automation and we help to implement extensions based on SAP Build Apps. Of course, SAP Build Apps cannot support all our extension projects, for many of them we continue to rely on the established Pro Code support such as SAP CAP or SAP Fiori (Elements). But where it makes sense, we have had good experience of working in "fusion teams" with the citizen developers on the customer side. We have developed a special solution for this called "SAP Build Apps Bootcamp" in which we realize a solution together with business experts on the customer side in just three weeks. The customer does the actual low-code work, and we provide support with UX design, integration, and expert consultations.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN> </SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAP &amp; sovanta speakers at the SAP Build Experience Day in the sovanta Innovation Factory" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97992i3EEB662699265981/image-size/large?v=v2&amp;px=999" role="button" title="chingweitseng_2-1713427755140.jpeg" alt="SAP &amp; sovanta speakers at the SAP Build Experience Day in the sovanta Innovation Factory" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP &amp; sovanta speakers at the SAP Build Experience Day in the sovanta Innovation Factory</span></span></P><P><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId--186496964"><STRONG><SPAN>Can you share an example on how SAP Build Process Automation helped in a customer project?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>We all must admit, paper-based processes are still around a lot. While those scenarios might not be the shiniest ones, they are the ones with a lot of potential and clear business cases. </SPAN><SPAN>One of our customers from the real estate management sector has really taken a liking to process automation and we have already been able to improve several processes together with them. One of these processes involved a classic of process automation - approvals. Investments as part of renovation work must be checked and approved by several people. However, the associated documents can sometimes fill several folders. Instead of carrying these across the company as before, the process can now be mapped completely digitally thanks to process automation.</SPAN><SPAN>&nbsp;</SPAN><SPAN> </SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId--383010469">&nbsp;</H2><H2 id="toc-hId--579523974"><STRONG><SPAN>Can you share an example on how SAP Build Apps helped in a customer project?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>If it's ok, I'd like to use a sovanta internal example here. This example shows very well the challenges that SAP Build Apps can help with. It involved the implementation of a solution within our Innovation Factory. We wanted to provide employees with all relevant information and assets from our Innovation Factory in one central location. However, sometimes it is difficult to find the right experts for a new internal topic even within a software company at short notice, especially when everyone is heavily involved in customer projects. So, we thought, let's just try it out ourselves based on SAP Build Apps. And I have to say, it worked very well. Sometimes SAP Build Apps simply opens new possibilities for tackling projects quickly, even when resources are scarce.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>&nbsp;</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Hands-on session at the SAP Build Experience Day in the sovanta Innovation Factory" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97995i929D3A392FFA326B/image-size/large?v=v2&amp;px=999" role="button" title="chingweitseng_3-1713427755142.jpeg" alt="Hands-on session at the SAP Build Experience Day in the sovanta Innovation Factory" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Hands-on session at the SAP Build Experience Day in the sovanta Innovation Factory</span></span></P><P>&nbsp;</P><H2 id="toc-hId--776037479"><STRONG><SPAN>Can you share an example on how SAP Build Work Zone helped in a customer project?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>SAP Build Work Zone is great whenever you have processes span multiple systems. Having relevant data sitting in separated systems can lead to scenarios where there is a lot of room for improvement. This was also the case within a project we realized together with one of our customers in the retail field. Within one of their core processes the customers employees had to touch multiple systems to get their jobs done. By using SAP Build Work Zone for a central cockpit, we now allow the users to have all relevant information at hand and to trigger all needed steps for the process from one central cockpit.</SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId--625296627">&nbsp;</H2><H2 id="toc-hId--821810132"><STRONG><SPAN>How do you plan to use SAP Build in the future?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>For us SAP Build Process Automation and SAP Build Work Zone are really a no brainer. They are well established within our portfolio; our experts know how to handle it and are always up to date when it comes to new features.&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN> </SPAN><SPAN>For SAP Build Apps we are currently figuring out how we can further support the decision process. A lot of customers ask us about parameters that indicate whether a planned solution should be realized by Low Code or by Pro Code. Whereas we worked out a set of criteria to support that decision there is still the need to give even better guidance, maybe by introducing a clear decision tree.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>In addition, we are really interested in getting our hands dirty with SAP Build Code, how GenAI and Low Code can be integrated into the everyday work lives of our Developers.</SPAN><SPAN>&nbsp;</SPAN></P><H2 id="toc-hId--1018323637">&nbsp;</H2><H2 id="toc-hId--1214837142"><STRONG><SPAN>Could you kindly provide insights into your methodology and activities for assisting customers in migrating from SAP Intelligent RPA and SAP Workflow Management to SAP Build Process Automation?</SPAN></STRONG><SPAN>&nbsp;</SPAN></H2><P><SPAN>It is possible to make processes easily available in the ‘new world’ via the appropriate APIs. However, we recommend using the moment to challenge and improve the process and remodel it with the SAP Build artifacts - this way customers benefit from the advantages of Low Code.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>We want to give a big thank you to Christian and Lisa for taking the time to join us in the interview. Their commitment to connecting with customers through SAP Build solutions is truly impressive. We appreciate their efforts and can't wait to work with them in the future.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Additionally, SAP Build has organized an insightful interview with <A href="https://www.linkedin.com/in/maria-woydich-b2a43b259/" target="_self" rel="nofollow noopener noreferrer">Maria Woydich</A>, Senior Software Engineer, and <A href="https://www.linkedin.com/in/christian-bernhardt-918a8790/" target="_self" rel="nofollow noopener noreferrer">Christian Bernhardt</A>, Senior Project Manager, both from sovanta. Don't miss out on their fantastic insights: <div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FhabQxl33kms%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DhabQxl33kms&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FhabQxl33kms%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="400" height="225" scrolling="no" title="What's in SAP Build for our Partners? Insights from sovanta AG" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></SPAN></P><P>&nbsp;</P><P><SPAN><span class="lia-unicode-emoji" title=":play_button:">▶️</span></SPAN><SPAN>Learn more about sovanta’s SAP Build solutions: </SPAN><A href="https://sovanta.com/en/simplify-it/process-automation/" target="_blank" rel="noopener nofollow noreferrer"><SPAN>https://sovanta.com/en/simplify-it/process-automation/</SPAN></A><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Thanks for reading! Enjoyed the highlights or have feedback? Press thumbs up and reach out to us in the comments. Follow and engage with us on </SPAN><A href="https://www.linkedin.com/company/sapbuild/" target="_blank" rel="noopener nofollow noreferrer"><SPAN>LinkedIn,</SPAN></A><SPAN> </SPAN><SPAN>X</SPAN><SPAN>&nbsp;and </SPAN><A href="https://www.youtube.com/@SAPBuild" target="_blank" rel="noopener nofollow noreferrer"><SPAN>YouTube</SPAN></A><SPAN> and sign up for </SPAN><A href="https://www.sap.com/cmp/nl/sap-builders-nl/index.html?source=social-Global-LINKEDIN_COMPANY-AudienceEngagement-Business_Technology_Platform-SAPBuild-spr-10197640883-account_name&amp;campaigncode=CRM-YA23-SMS-1941773&amp;sprinklrid=10197640883" target="_blank" rel="noopener noreferrer"><SPAN>SAP Build newsletter</SPAN></A><SPAN> to avoid missing updates!</SPAN><SPAN>&nbsp;</SPAN></P> 2024-04-18T10:30:11.505000+02:00 https://community.sap.com/t5/application-development-blog-posts/sap-developer-news-april-18th-2024/ba-p/13674660 SAP Developer News, April 18th, 2024 2024-04-18T14:16:44.083000+02:00 qmacro https://community.sap.com/t5/user/viewprofilepage/user-id/53 <P><STRONG><SPAN><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FFVAali4nfLQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFVAali4nfLQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FFVAali4nfLQ%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="600" height="337" scrolling="no" title="CodeJam Roadshow, CAP Plugins, Build Dev Challenge, FioriConf, AI Webinar | SAP Developer News" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></SPAN></STRONG></P><P><STRONG><SPAN>SAP CodeJam European Roadshow</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>SAP CodeJam Event Calendar: </SPAN><A href="https://community.sap.com/t5/sap-codejam/eb-p/codejam-events" target="_blank"><SPAN>https://community.sap.com/t5/sap-codejam/eb-p/codejam-events</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>SAP CodeJam Group: </SPAN><A href="https://community.sap.com/t5/sap-codejam/gh-p/code-jam" target="_blank"><SPAN>https://community.sap.com/t5/sap-codejam/gh-p/code-jam</SPAN></A><SPAN>&nbsp;</SPAN>&nbsp;</LI></UL><P><STRONG><SPAN>SAP CodeTalk with Daniel Schlachter on the CAP plugin concept</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>The interview </SPAN><A href="https://www.youtube.com/watch?v=cG-cMqAhqyQ" target="_blank" rel="noopener nofollow noreferrer"><SPAN>https://www.youtube.com/watch?v=cG-cMqAhqyQ</SPAN></A> <SPAN>&nbsp;</SPAN></LI><LI><SPAN>The Capire section on "CAP Plugins &amp; Enhancements" </SPAN><A href="https://cap.cloud.sap/docs/plugins/#cap-plugins-enhancements" target="_blank" rel="noopener nofollow noreferrer"><SPAN>https://cap.cloud.sap/docs/plugins/#cap-plugins-enhancements</SPAN></A> <SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>SAP Build Developer Challenge Week 3 Announcement</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>SAP builders group discussion : </SPAN><A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-3/td-p/13672860" target="_blank"><SPAN>https://community.sap.com/t5/sap-builders-discussions/april-</SPAN></A> <A href="http://citizen-/" target="_blank" rel="noopener nofollow noreferrer"><SPAN>citizen-developer-challenge-sap-build-apps-task-3/td-p/13672860</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>FioriConf 2024 and SAP CodeJam – SAP Fiori elements flexible programming model</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>FioriConf 2024: </SPAN><A href="https://www.fioriconf.org/" target="_blank" rel="noopener nofollow noreferrer"><SPAN>https://www.fioriconf.org/</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>SAP CodeJam topic list: </SPAN><A href="https://community.sap.com/t5/sap-codejam-blog-posts/sap-codejam-topics/ba-p/221407" target="_blank"><SPAN>https://community.sap.com/t5/sap-codejam-blog-posts/sap-codejam-topics/ba-p/221407</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>SAP CodeJam – SAP Fiori elements flexible programming model: </SPAN><A href="https://github.com/SAP-samples/fiori-elements-fpm-exercises-codejam" target="_blank" rel="noopener nofollow noreferrer"><SPAN>https://github.com/SAP-samples/fiori-elements-fpm-exercises-codejam</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG><SPAN>Solution Experience Live Session: Deliver Real-World Results with SAP Business AI, April 30, 2024</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Register: </SPAN><A href="https://events.sap.com/live-session-sap-business-ai/en/home" target="_blank" rel="noopener noreferrer"><SPAN>https://events.sap.com/live-session-sap-business-ai/en/home</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>SAP Business AI release highlights: </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/deliver-real-world-results-with-sap-business-ai-q4-2023-amp-q1-2024-release/ba-p/13650291" target="_blank"><SPAN>https://community.sap.com/t5/technology-blogs-by-sap/deliver-real-world-results-with-sap-business-ai-q4-2023-amp-q1-2024-release/ba-p/13650291</SPAN></A><SPAN>&nbsp;</SPAN></LI></UL><P><STRONG>CHAPTER TITLES&nbsp;&nbsp;</STRONG></P><P><SPAN>0:00 Intro</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>0:07 SAP CodeJam European Roadshow&nbsp;</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>1:04 SAP CodeTalk with Daniel Schlachter on the CAP plugin concept</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>2:16 SAP Build Developer Challenge Week 3 Announcement</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>3:00 FioriConf 2024 and SAP CodeJam </SPAN><SPAN>– </SPAN><SPAN>SAP Fiori elements flexible programming model</SPAN><SPAN>&nbsp;<BR /></SPAN><SPAN>3:55 Solution Experience Live Session: Deliver Real-World Results with SAP Business AI, April 30, 2024</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN><STRONG>TRANSCRIPT</STRONG></SPAN></P><P>[Tom]<BR />This is the SAP Developer News for the 18th of April, 2024. Live from Amsterdam. Live from Bucharest. Live from Leverkusen, Germany. Hey there, we're halfway through this year's SAP Code Jam European Roadshow. As the little intro there demonstrated, we've hit three cities already, we've got Paris, France, and Madrid, Spain still to go on this trip. We've had a wonderful time interacting with all the community members, developers out there, introducing them to ABAP cloud as well as the SAP cloud application programming model. And this is a great time to remind you that anybody can request and offer to host an SAP Code Jam, we'll do our best to accommodate and and make that possible. So if you'd like to see next time's road show come to an area near you, consider hosting a code jam in the future.</P><P>[DJ]<BR />Recently, there's a new plugin concept that's been introduced in the SAP Cloud Application programming model. On the one hand, it allows the CAP team to build out new functions and features for CAP in a really beautifully modular way and it allows us as developers to consume those extensions and new features also in a really beautifully simple way, often only requiring one line in our projects. It also allows us in the community to contribute extensions to CAP as well. This is the CAP plugin concept and recently I got the opportunity to talk about the CAP plugin concept and learn more about it from one of the enablement team members Daniel Schlachter. It's in a code talk format so you can consume it in video form or in audio form in the code talk podcast. Check it out. The link is in the description.</P><P>[Shrini]<BR />Hello, SAP Builders. We are already in week three of the developer challenge. And this time, we will be diving into the theming capabilities of SAP Build. Our very own developer advocate, Rekha, has prepared an exciting challenge that will walk you through all the different options available in the theme, style, and layout tabs of SAP Build apps. She has also provided step-by-step instructions on how to complete the challenge in a post. Participate in the challenge and share your screenshots, along with the hashed answers in the reply section of this discussion in the SAP Builders group. We are eager to see your responses to this challenge.</P><P>[Nico]<BR />Hi everyone, and welcome to the SAP Developer News. This is just a friendly reminder that FioriConf 2024 happens on April 24th. It's free, live, online only, with a 100% focus on SAP Fiori. The event is organized by SAP community members and is a great fit for everyone working with SAP Fiori, be it developers, consultants, architects, or admins. Make sure to check out the link in the description. And speaking of SAP Fiori, we just added a new topic to the list of available topics for SAP Code Jam events, the SAP Fiori Elements Flexible Programming Model. Make sure to check out the link in the description if you want to host or attend an SAP Code Jam event, and also check out the repository with the content. Hope to see you soon. Bye.</P><P>[Nora]<BR />Many partners and customers always ask me what SAP means by business AI, and what SAP's approach is to business AI, and how SAP can help them transform their businesses and leverage AI for their businesses. If you also have those questions, Then listen up because SAP Learning is hosting a 16-minute solution experience live session on the 30th of April at 1.30 Central European summertime to answer exactly those questions. The session is suitable for all audiences as it is a get started session. And you will not only learn about SAP's latest innovative use cases of AI, but also understand SAP's strategy towards business AI and how your business can benefit from it. The speaker is no other than Dr. Philipp Herzig, our Chief AI Officer, who will also guide you through the 2024 Q1 releases of Business AI and he will share all the know-how with you that you need to stay up to date and to transform your business. So make sure you register with the link below and sign up for the event and don't miss out on all the insights.</P> 2024-04-18T14:16:44.083000+02:00 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 Building Low Code Extensions with Key User Extensibility in SAP S/4HANA and SAP Build 2024-04-19T08:08:19.293000+02:00 ThomasSchneider https://community.sap.com/t5/user/viewprofilepage/user-id/139277 <P>More than one year ago, SAP announced SAP Build, a toolset for creating low code / now code (LCNC) extension on SAP BTP (<A href="https://www.sap.com/products/technology-platform/low-code.html" target="_blank" rel="noopener noreferrer">Low-Code App Development and Automation Solutions | SAP Build</A>). In this blog I want to share my ideas on how both tools can be combined to build powerful extensions.</P><P>&nbsp;</P><H1 id="toc-hId-863532199"><STRONG>Who Are Key Users?</STRONG></H1><P>Who are key users? An excellent answer to this question has been given by my colleague&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/131660">@Jocelyn_Dart</a>&nbsp;&nbsp;in her blog <SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-fiori-for-sap-s-4hana-what-is-key-user-extensibility-and-who-are-your/ba-p/13560372" target="_blank">SAP Fiori for SAP S/4HANA – What is Key User Exten... - SAP Community</A></SPAN>. I want to briefly summarize it here: key users are users who are authorized to make changes on behalf of other users, typically for the users of a special group or department. Examples are:</P><UL><LI><SPAN>During your project, you might designate your functional consultants as your key users to make some initial adjustments as they discuss business needs directly with your business stakeholders.</SPAN></LI><LI><SPAN>Some organizations have a central process governance group who might be designated as responsible for key user changes or for certain types of key user extensions.</SPAN> <SPAN>For example, you might want your central process governance group to control adding custom fields, so that you don't end up with several teams creating similar fields</SPAN>.</LI><LI><SPAN>You might give some key user capabilities to your IT team or even selected developers – as key user functions can be the most effective way to extend your apps and the essential way to add custom fields.</SPAN> <SPAN>For example, as you build your skills into intelligent technologies, you might want your IT team to make some initial settings for your pilot machine learning or situation handling use cases.</SPAN></LI></UL><P>K<SPAN>ey user extensibility uses a no-code/low-code approach </SPAN>so <SPAN>business users </SPAN>can make <SPAN>the changes themselves</SPAN>. Thus,<SPAN> you can <STRONG>minimize lost-in-translation errors and communication overhead between business and IT</STRONG>.</SPAN></P><P>&nbsp;</P><H1 id="toc-hId-667018694"><STRONG>What do key users expect? </STRONG></H1><P>Well, key users expect that they can create extensions:</P><UL><LI><SPAN>Simple – no-code/low-code (LCNC)</SPAN></LI><LI><SPAN>Cost-effective – </SPAN>with<SPAN> minimum cost/effort/skill</SPAN></LI><LI><SPAN>Upgrade-stable – </SPAN>extensions <SPAN>are automatically retained as you upgrade releases</SPAN></LI><LI><SPAN>Safe - changes </SPAN>can <SPAN>be </SPAN>tested in a draft mode, they can be <SPAN>undone or reset, if needed</SPAN></LI></UL><P>Example: You all know that business processes require governance processes and not all processes are handled by central IT systems. So, key users start creating excels or word templates and over time they will add more and more logic (calculations, validations, etc. to it). But in the end, the data in the excel or word files must be synchronized with the central IT systems. So the more key users can adapt the system itself, the less overhead for data synchronization is needed.</P><P>&nbsp;</P><H1 id="toc-hId-470505189"><STRONG>What are Key User Extensibility Tools and What is SAP Build?</STRONG></H1><P><STRONG>Key User Extensibility Tools</STRONG> are Fiori apps that are part of SAP S/4HANA ( <a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA/pd-p/73554900100800000266" class="lia-product-mention" data-product="799-1">SAP S/4HANA</a>&nbsp;) (or other products such as SAP IBP) and that can be used by key users to adapt SAP applications and services (e.g. adapt the UI, forms, add custom fields and logic) or to create small custom applications (e.g. create custom CDS views, custom business objects, …). In other words, it is the LCNC offering that is embedded in the prod</P><P><STRONG>SAP Build</STRONG>&nbsp;(&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Build/pd-p/73555000100700001491" class="lia-product-mention" data-product="1181-1">SAP Build</a>&nbsp;) is a set of LCNC tools on SAP BTP:</P><UL><LI><STRONG>SAP Build Apps</STRONG> is a visual programming environment where citizen and professional developers can build enterprise-ready custom applications without writing any code. With hundreds of pre-built components and logic functions, you can jumpstart your application projects and reduce development time. Explore how you can develop web and native mobile cross-platform apps while integrating to other SAP systems with drag-and-drop ease.</LI><LI><STRONG>SAP Build Process Automation</STRONG> allows you to simplify automation of business processes with visual drag-and-drop tools. It enables both citizen and professional developers to easily digitize their workflows without writing code. There are hundreds of pre-built content packages and connectors you can use to jumpstart your automation projects and save on development time.</LI><LI><STRONG>SAP Build Work Zone</STRONG> enables you to bring together all types of content, UI tools, IT systems, content repositories, applications, and channels using drag-and-drop and customization tools to create portals, intranets, and workspaces.</LI></UL><P>The following picture shows the four options for building extensions for SAP S/4HANA in context.</P><UL><LI>Low code/no code options for key users (already explained).</LI><LI>Options for developers: &nbsp;<UL><LI>the on-stack SAP S/4HANA Cloud ABAP Environment</LI><LI>SAP Build Code or ABAP Environment as the side-by-side extensibility options on SAP BTP</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98537i7311397417B8E53A/image-size/medium?v=v2&amp;px=400" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P>&nbsp;</P><H1 id="toc-hId-273991684"><STRONG>Why Two Different Tools Sets? When Do I Use What?</STRONG></H1><P><STRONG>Key user tools are used for local extension.</STRONG> If you want to adapt a Fiori UI (e.g. hide or rename fields on the UI), or you want add a validation for a field, you have to do it locally in the app. And this is why you use the <STRONG>embedded key user tools</STRONG> for this case. Also, if you want to add a custom field or custom tables to the S/4HANA data model and you want to use the data closely together with the S/4HANA data, for example in analytics.</P><P><STRONG>But if you want to create a new UI or a new process</STRONG>, for example a workflow, not only one S/4HANA may be involved; it makes sense to create these extensions in a central “hub” on SAP BTP.</P><P>Let me explain this in two examples:</P><H1 id="toc-hId-77478179"><STRONG>Example 1: New UI for a Custom Business Object</STRONG></H1><P>With the Custom Business Object key user app, you can create new custom tables in SAP S/4HANA and on top of the tables CDS views and a business object with a generic maintenance UI without writing one line of code. The CDS views that are generated on top of the tables are available for other key user extensions, for example in custom logic or custom analytical applications. The generic maintenance UI that comes with the custom business object is sufficient for most cases.</P><P>But in some cases, you would expect a more elaborate UI for a broader audience. You might even need a UI for users that do not have direct access to the SAP S/4HANA system (= they have no business user in the SAP S/4HANA system). Here, SAP Build Apps is the ideal tool to create an elaborate UI without being a developer and writing code.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture2.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98538i46B8A40B6E476BCF/image-size/medium?v=v2&amp;px=400" role="button" title="Picture2.png" alt="Picture2.png" /></span></P><P>The following tutorial leads you through a typical use case:<BR /><SPAN><A href="https://learning.sap.com/learning-journeys/extending-sap-s-4hana-with-sap-build-apps-and-key-user-extensibility" target="_blank" rel="noopener noreferrer">Extending SAP S/4HANA with SAP Build Apps and Key User Extensibility | SAP Learning</A></SPAN></P><P>An app is created that helps users in goods inbound processing to check the incoming goods and perform specific checks on the goods (e.g. for chemical or other dangerous goods). The specific checks and check results are stored in custom business objects. An app created with SAP Build Apps uses the standard SAP services for products and purchase orders and the services generated for the custom business object to guide the user through the check process.</P><P>Another tutorial that you can use for a start is the following:<BR /><SPAN><A href="https://developers.sap.com/tutorials/build-apps-s4hana-crud.html" target="_blank" rel="noopener noreferrer">https://developers.sap.com/tutorials/build-apps-s4hana-crud.html</A></SPAN></P><P>The tutorial describes how to build a UI with SAP Build App on an S/4HANA OData service, namely the Business Partner. You can adapt the tutorial to custom business objects (CBO) in S/4. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Instead of the A_BusinessPartner entity in the tutorial, you would use the root entity of your custom business object, and instead of the A_BusinessPartnerAddress entity you would use a sub-node of your custom business object.</P><P>&nbsp;</P><H1 id="toc-hId--119035326"><STRONG>Example 2: New Process for a Custom Business Object</STRONG></H1><P>Key users typically define the processes for a specific department or user group, which includes workflow. To empower the key user to implement their processes themselves, it makes sense to combine the Custom Business Object key user app and the process automation on SAP BTP.</P><P>Thus, the custom business object is created locally in the SAP S/4HANA system (so that it can be used by other extensions). Conversely, the process is created centrally on SAP BTP, so that they can be combined with other processes and potentially other data sources that are available on SAP BTP.</P><P>A typical example is: A bonus plan application is developed as custom business object using key user extensibility in SAP S/4HANA. When a bonus plan is created, an approval is required. This process is created with SAP Build Process Automation and runs on SAP BTP. When the approval is finished, the BTP process calls the bonus plan service and creates the bonus plan SAP S/4HANA.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture3.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98539iC81D73F3C36E38B2/image-size/medium?v=v2&amp;px=400" role="button" title="Picture3.png" alt="Picture3.png" /></span></P><P>The following tutorials can be used to implement such a use case:</P><UL><LI>Create a custom business object:<UL><LI><SPAN><A href="https://developers.sap.com/group.abap-extensibiliy-cbo-cce-ccl.html" target="_blank" rel="noopener noreferrer">Create Custom Business Objects in S/4HANA Cloud | SAP Tutorials</A></SPAN></LI></UL></LI><LI>Create an approval process and trigger the creation of a business object instance from a process: with SAP Build Build Process Automation<UL><LI><SPAN><A href="https://developers.sap.com/mission.sap-process-automation.html" target="_blank" rel="noopener noreferrer">Build Your First Business Process with SAP Build Process Automation | SAP Tutorials</A></SPAN></LI><LI><SPAN><A href="https://developers.sap.com/group.connect-process-external-sap-bpa.html" target="_blank" rel="noopener noreferrer">https://developers.sap.com/group.connect-process-external-sap-bpa.html</A></SPAN></LI><LI>Note that these tutorials show you how to create an approval process and call a service on SAP S/4HANA for an SAP business object. But you can use these tutorials also to create a custom business object.</LI></UL></LI></UL><H1 id="toc-hId--315548831"><STRONG>Summary</STRONG></H1><P>In this blog post, I explain why it makes sense to combine the capabilities of the local key user extensibility tools with the capabilities of SAP Build to empower key users to create powerful extensions without any lines of code.</P><P>&nbsp;</P> 2024-04-19T08:08:19.293000+02:00 https://community.sap.com/t5/sap-builders-blog-posts/what-s-new-in-sap-build-seamless-integration-of-processes-and-apps/ba-p/13675739 What’s New in SAP Build – Seamless Integration of Processes and Apps 2024-04-19T11:13:49.972000+02:00 EsmeeX https://community.sap.com/t5/user/viewprofilepage/user-id/8621 <P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="blog hero image.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98675iF84D31DB738ADB8F/image-size/large?v=v2&amp;px=999" role="button" title="blog hero image.png" alt="blog hero image.png" /></span><SPAN>Greetings Builders!</SPAN></P><P><SPAN>We’re pleased to announce this major feature release for our low-code portfolio SAP Build. It is now possible to</SPAN><STRONG><SPAN> trigger and consume processes from SAP Build Process Automation directly in SAP Build Apps.</SPAN></STRONG></P><P><SPAN>By bridging the gap between the two products, this new capability is a significant step towards a more unified experience across SAP Build. Previously, the primary way to establish a connection was via APIs – the process is described in this </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/integrate-sap-build-apps-and-sap-build-process-automation-using-sap-btp/ba-p/13564379" target="_blank"><SPAN>blog.</SPAN></A><SPAN> Now when developing applications and automations, the integration steps have been simplified to a smooth transition, allowing developers to get deeper insights into process and decision scenarios while enabling a native mobile or web experience.</SPAN></P><P><FONT size="5"><STRONG><SPAN>How to get started</SPAN></STRONG></FONT></P><P><SPAN>Before getting started with this feature in your projects, we recommend looking at the guide </SPAN><A href="https://help.sap.com/docs/build-apps/service-guide/right-way-to-sap-build-apps" target="_blank" rel="noopener noreferrer"><SPAN>Best Practices: A Strategic Approach to SAP Build Apps.</SPAN></A><SPAN> While the low-code approach allows both citizen and professional developers to get started quickly, it’s important to understand optimal approaches, especially for data integrations, to create enterprise apps and extensions that are both scalable and secure.</SPAN></P><P><FONT size="4"><STRONG><SPAN>SAP BTP prerequisites</SPAN></STRONG></FONT></P><P><SPAN>You will need a </SPAN><STRONG><SPAN>BTP Subaccount</SPAN></STRONG><SPAN> with service assignments for both SAP Build Apps and SAP Build Process Automation under your </SPAN><A href="https://help.sap.com/docs/btp/sap-business-technology-platform/entitlements-and-quotas" target="_blank" rel="noopener noreferrer"><SPAN>entitlements</SPAN></A><SPAN>. See the initial setup guides for both:</SPAN></P><UL><LI><A href="https://help.sap.com/docs/build-apps/service-guide/prerequisites" target="_blank" rel="noopener noreferrer"><SPAN>Subscribe to SAP Build Apps</SPAN></A></LI><LI><A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/initial-setup" target="_blank" rel="noopener noreferrer"><SPAN>Subscribe to SAP Build Process Automation</SPAN></A></LI></UL><P><FONT size="4"><STRONG><SPAN>Setting up the integration</SPAN></STRONG></FONT></P><P><STRONG><SPAN><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span>&nbsp;<EM><FONT color="#0000FF">For the complete steps to set up this integration, see the </FONT></EM></SPAN></STRONG><EM><A href="https://help.sap.com/docs/build-apps/service-guide/sap-build-library" target="_self" rel="noopener noreferrer"><STRONG>Help Portal.</STRONG></A></EM></P><P><STRONG>Important note:</STRONG></P><UL><LI><SPAN>When configuring destinations in the SAP BTP Cockpit, check your service destination (technical name: </SPAN><STRONG><SPAN>sap_process_automation_service_user_access</SPAN></STRONG><SPAN>) and make sure you have added the following properties: </SPAN><STRONG><SPAN>AppgyverEnabled</SPAN></STRONG><SPAN> – true, and </SPAN><STRONG><SPAN>MobileEnabled</SPAN></STRONG><SPAN> – true. This is mainly for subaccounts that were previously provisioned with SAP Build Process Automation via booster. For new ones, the booster should add these properties automatically.</SPAN></LI></UL><P><SPAN>To start discovering and utilizing processes within your applications, you will need to create at least one Business Process and release it in SAP Build Process Automation.</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="process leave.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98678iDDF6F2AF60533105/image-size/large?v=v2&amp;px=999" role="button" title="process leave.png" alt="process leave.png" /></span></SPAN><I><SPAN>Check out this blog from Rama Murari to explore these steps with a use case for </SPAN></I><A href="https://community.sap.com/t5/technology-blogs-by-sap/trigger-a-process-in-sap-build-process-automation-from-sap-build-apps/ba-p/13656725" target="_blank"><I><SPAN>releasing credit blocked sales orders in SAP S/4HANA.</SPAN></I></A></P><P><SPAN>You will find your published processes in the </SPAN><STRONG><SPAN>SAP Build Library</SPAN></STRONG><SPAN>, which is a new integration option for connecting SAP Build products. Once you enable the selected process, you can begin to leverage it in your apps by adding a logic function that will trigger the process.</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="trigger flow function.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98679iAB9BB6C829A2370D/image-size/large?v=v2&amp;px=999" role="button" title="trigger flow function.png" alt="trigger flow function.png" /></span></SPAN></P><P><STRONG>Important notes:</STRONG></P><UL><LI><SPAN>Only processes with an API Trigger are visible in the SAP Build Library.</SPAN></LI><LI><SPAN>SAP Build Apps can only access the latest published process version. Make sure to always publish the newest version to the library.</SPAN></LI></UL><P><SPAN>After completing the integration steps, you can test it out with the preview app to see that your process is running. In the </SPAN><STRONG><SPAN>SAP Build Lobby, </SPAN></STRONG><SPAN>you can also confirm your process is successfully triggered with the exact inputs entered into the app!</SPAN></P><P><SPAN><span class="lia-unicode-emoji" title=":backhand_index_pointing_right:">👉</span></SPAN><EM><FONT color="#0000FF"><STRONG>&nbsp;See the complete steps for this feature in the </STRONG></FONT><A href="https://help.sap.com/docs/build-apps/service-guide/sap-build-library" target="_self" rel="noopener noreferrer"><STRONG>Help Portal.</STRONG></A></EM></P><P><SPAN>We’re excited to make this feature available to our customers as it brings SAP Build closer together with a more harmonized low-code experience. Let us know your thoughts and feedback in the comments.</SPAN></P><P><SPAN>Happy Building! 🥳<span class="lia-unicode-emoji" title=":handshake:">🤝</span></SPAN></P><P><SPAN>***</SPAN></P><P><span class="lia-unicode-emoji" title=":white_small_square:">▫️</span><I><SPAN>Check out what else is on the horizon this year in the Roadmap Explorer: </SPAN></I><A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800004334&amp;range=CURRENT-LAST#Q2%202024" target="_blank" rel="noopener noreferrer"><I><SPAN>SAP Build Apps</SPAN></I></A><I><SPAN> and </SPAN></I><A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800003832&amp;range=CURRENT-LAST#Q2%202024" target="_blank" rel="noopener noreferrer"><I><SPAN>SAP Build Process Automation</SPAN></I></A></P><P><span class="lia-unicode-emoji" title=":white_small_square:">▫️</span>&nbsp;<I><SPAN>For all recent releases, see What’s New: </SPAN></I><A href="https://help.sap.com/whats-new/cf0cb2cb149647329b5d02aa96303f56?Component=SAP%20Build%20Apps&amp;locale=en-US" target="_blank" rel="noopener noreferrer"><I><SPAN>SAP Build Apps</SPAN></I></A><I><SPAN> and </SPAN></I><A href="https://help.sap.com/whats-new/190af73e1b314925bc5f3bf8751fc9ce?locale=en-US" target="_blank" rel="noopener noreferrer"><I><SPAN>SAP Build Process Automation</SPAN></I></A></P><P><span class="lia-unicode-emoji" title=":white_small_square:">▫️</span><I><SPAN>Stay connected with the latest in SAP Build: <A href="https://community.sap.com/t5/sap-builders/gh-p/builders" target="_self">Builders Group</A>, <A href="https://www.linkedin.com/company/sapbuild/posts/?feedView=all" target="_self" rel="nofollow noopener noreferrer">LinkedIn</A>, <A href="https://www.youtube.com/channel/UCNU_yXRIOsIvcuOi5VpRovw" target="_self" rel="nofollow noopener noreferrer">YouTube</A></SPAN></I></P> 2024-04-19T11:13:49.972000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/it-s-official-sap-btp-is-again-a-leader-in-g2-s-reports/ba-p/13676078 It’s Official - SAP BTP is Again a Leader in G2’s Reports 2024-04-19T15:56:03.286000+02:00 ChrisGrundy https://community.sap.com/t5/user/viewprofilepage/user-id/171629 <P>G2’s most recent reports for <A href="https://company.g2.com/news/g2s-spring-2024-reports" target="_blank" rel="noopener nofollow noreferrer">Spring 2024</A> again identify SAP Business Technology Platform (BTP) as a Leader for its technologies and solutions in multiple categories, across Cloud Platform as a Service (PaaS) to Cloud Computing Platforms, Infrastructure as a Service (IaaS) and Database as a Service (DBaaS).</P><P>I’m delighted that SAP customers are continuing to report their satisfaction with SAP BTP through the <A href="https://www.g2.com/products/sap-business-technology-platform/reviews" target="_blank" rel="noopener nofollow noreferrer">reviews and ratings</A> that they leave with <A href="https://www.g2.com/" target="_blank" rel="noopener nofollow noreferrer">G2</A>, and would like to say a huge “thank you” to the many SAP customers who leave us these wonderful reviews!</P><P>You may recall from my <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-a-leader-in-g2-s-winter-2024-reports/ba-p/13575296" target="_blank">previous blog</A>, that G2 leverages user reviews and a robust scoring methodology to rank vendor solutions and award leader badges based directly on software buyers’ vetted, verified and authentic reviews, which surely lends confidence that this recognition is based on credible and trusted information.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Badge Image1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98830i822EAE9529DFEFFD/image-size/large?v=v2&amp;px=999" role="button" title="Badge Image1.png" alt="Badge Image1.png" /></span></P><H3 id="toc-hId-1121723709"><STRONG>What’s Driving Customer Satisfaction?</STRONG></H3><P>From the G2 badges earned among many solutions, including a <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-master-data-rated-1-for-user-satisfaction-amp-market-presence-by-g2/ba-p/13661075" target="_blank">#1 rating for SAP Master Data Governance for User Satisfaction and Market Presence</A>, it’s clear to see that SAP BTP is hitting the right notes, with many reviewers. But I’m sure that like myself, many readers are also curious to learn what’s driving this level of customer satisfaction. So, taking the view that badges are just the headline, perhaps a bit more digging into user reviews is needed to understand the sources of satisfaction which customers are feeling about SAP BTP. With this in mind, and taking a not-too scientific approach, I looked at the most recent three SAP customer reviews on the G2 website today. Here’s what they had to say about SAP BTP, in their own words:</P><P style=" text-align : right; ">"<A href="https://www.g2.com/products/sap-business-technology-platform/reviews/sap-business-technology-platform-review-9494950" target="_blank" rel="noopener nofollow noreferrer">Multiple Cloud platform used as a SAAS/PAAS for Enterprise Services</A></P><P style=" text-align : right; ">The Invoicing &amp; tax assessment used for the PO Order fulfilment is automated using SAP BT and it makes it very easy to fulfil the payments by the business team. It improves efficiency and provides security at the highest level”.</P><P style=" text-align : right; ">Enterprise organization, review on April 1, 2024</P><P style=" text-align : right; ">"<A href="https://www.g2.com/products/sap-business-technology-platform/reviews/sap-business-technology-platform-review-9462279" target="_blank" rel="noopener nofollow noreferrer">Platform to build, deploy and host all your business apps</A></P><P style=" text-align : right; ">SAP Business Technology Platform offers many many tools, if you have a problem that needs solving and you are wondering does SAP has a tool for it there is good chance there is, from data storage to hosting your apps and can be easily integrated with each other if you are going to use those tools. DevOps is also there if you need some help with cloud so in terms of Customer Support they have a good support”.</P><P style=" text-align : right; ">Small Business, Information Technology and Services, review on March 26, 2024</P><P style=" text-align : right; ">“<A href="https://www.g2.com/products/sap-business-technology-platform/reviews/sap-business-technology-platform-review-9469553" target="_blank" rel="noopener nofollow noreferrer">Empowering Innovation and Scalability</A></P><P style=" text-align : right; ">Sometimes, it's hard to make sense of all the different data we have. It's scattered everywhere and comes in all sorts of shapes and sizes. But with SAP Business Technology Platform, things are a lot easier. They give us tools like SAP HANA Database and Data Management solutions, which help us bring all our data together in one place”.</P><P style=" text-align : right; ">Mid-Market organization, Information Technology and Services, review on 25 March 2024</P><H3 id="toc-hId-925210204"><STRONG>Success with SAP BTP is Found in Many Places</STRONG></H3><P><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="Success in many places1.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/98831i918B451A3F22F619/image-size/medium?v=v2&amp;px=400" role="button" title="Success in many places1.jpg" alt="Success in many places1.jpg" /></span></STRONG></P><P>It’s clear from just these three statements, taken directly from the last G2 reviews, that customers are finding success with SAP BTP in many different places. And the words they, and others use nicely embody the love they are showing (have you seen the badge?) for the solutions and technologies that they use, from Data Management, to Integration, Automation and Security to name but a few.</P><P>As ever, I need to express my thanks to G2, for once more awarding SAP BTP some incredible Spring 2024 badges, as well as to our customers too their kind words.</P><P>If you’d like to learn more about SAP BTP then that’s also really easy, simply hop over to our <A href="https://www.sap.com/products/technology-platform.html" target="_blank" rel="noopener noreferrer">website</A>, where you’ll find all the information you need, from <A href="https://www.sap.com/products/technology-platform/solutions.html" target="_blank" rel="noopener noreferrer">product</A> details, to <A href="https://www.sap.com/products/technology-platform/use-cases.html" target="_blank" rel="noopener noreferrer">use cases</A> and <A href="https://www.sap.com/products/technology-platform/customer-stories.html" target="_blank" rel="noopener noreferrer">customer stories</A>, to start to consider how you too might begin to use these technologies and solutions to help your own business transformation. There’s even an option to <A href="https://www.sap.com/products/technology-platform/pricing.html" target="_blank" rel="noopener noreferrer">try before you buy</A>, for those of you eager to get busy with the technology!</P><P>&nbsp;</P><P>I hope to be back again next quarter with more good news. Until then, I hope you enjoy reading our <A href="https://www.g2.com/products/sap-business-technology-platform/reviews" target="_blank" rel="noopener nofollow noreferrer">many SAP BTP customer reviews</A>.</P><P>Chris Grundy, Product Marketing, SAP BTP</P><P>&nbsp;</P> 2024-04-19T15:56:03.286000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046 Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content 2024-04-20T18:48:27.667000+02:00 Archana https://community.sap.com/t5/user/viewprofilepage/user-id/15812 <P><A href="https://www.sap.com/india/products/technology-platform/process-automation/features.html" target="_self" rel="noopener noreferrer">SAP Build Process Automation</A> is one the three services of SAP Build. SAP Build is a low-code and no-code solution of SAP that provides services and capabilities to create applications, automate tasks and processes and design business sites with drag-and-drop approach and simple configurations.</P><P>With low-code no-code tools, SAP is already helping organizations to accelerate their developer efficiency thereby addressing the challenges faced by scarcity in skilled developers and empowering citizen developers or non-IT developers to contribute to the application and process development.</P><P>To further accelerate the solution development, SAP Build has published wide variety of pre-built content packages across different industries and line of businesses on common identified whitespaces. These <STRONG>450+ pre-built content can be explored from SAP Business Accelerator Hub</STRONG> where the content is published by SAP (available for free) and by our partners (available with price).</P><P>Each content package contains pre-built processes/workflows, business rules, automations, business monitoring dashboards, UI5 applications, DOX (document extraction) templates and many other artifacts that are needed for the pre-built use case. Organizations can import and configure these content packages – for free – without writing even a single line of code. &nbsp;</P><P>Isn’t that what you want when you are working on common scenarios like creating and managing business partners, dealing with mass maintenance of billing blocks in sales orders, or working with journal entry external approvals before posting or invoices processing etc.</P><P>If you too are planning to start development on any new scenarios or upgrade existing scenarios in Finance, Procurement, Human Resources, Sales, Asset Management, Manufacturing etc. in your organization, then this blog will help you to kick-start your project with pre-built content.</P><P>In this blog, you will find answers to all the queries on the content like where can I discover the content, how to search for the right content, what is SAP Store and how is it different from Business Accelerator Hub, how to import the content, can the content be extended, where to get the support, how to publish content as a partner and many more. If you still do not find the answer, then please leave a comment and I will address it.</P><P>Let us start with very basic query:</P><H3 id="toc-hId-1121753405"><STRONG>Why Pre-Built Content? </STRONG></H3><P>You may ask why we should go for pre-built content when I have an IT team or implementation partner to build the same use case. Valid point! An enterprise solution requires an IT team or team of professional or solution developers to create an end-to-end use case. There are many building blocks to an enterprise solution. They can create these building blocks using SAP Build or SAP BTP tools and services. But it takes time!</P><P>Pre-built content just helps these teams to accelerate their development by saving resources, saving time to market, having a modularized approach, and reducing waste with less coding and testing efforts. Then why not leverage the enterprise ready template or ready-to-use pre-built content that are available for free, aligned with SAP best practices and having full scope of customization and extension.</P><P>I strongly recommend my customers and stakeholders, to look for the pre-built content for their industry use cases, import them, extend them if needed and finally integrate them with their applications or other components of their solutions.</P><P>… now you will wonder where to look for these pre-built content?</P><H3 id="toc-hId-925239900"><STRONG>How to find the right content? </STRONG></H3><P>SAP Build content can be discovered from:</P><UL><LI><STRONG>SAP Business Accelerator Hub</STRONG> from the following direct link: <A href="https://hub.sap.com/build" target="_blank" rel="noopener noreferrer">https://hub.sap.com/build</A>&nbsp;<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 1.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99399i7864CAD97C9761BA/image-size/large?v=v2&amp;px=999" role="button" title="Picture 1.png" alt="Picture 1.png" /></span><BR /><P>&nbsp;</P></LI><LI><STRONG>Store</STRONG> option in SAP Build Process Automation subscription application.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 2.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99413i73C969DCF86061EE/image-size/large?v=v2&amp;px=999" role="button" title="Picture 2.png" alt="Picture 2.png" /></span><SPAN>where </SPAN><EM>SAP Business Accelerator Hub</EM><SPAN> store is free to explore which means that you can navigate through the store without the need for license of SAP Build or Build Process Automation service but for embedded </SPAN><EM>Store</EM><SPAN> option you will need SAP Build or Build Process Automation service subscription.</SPAN></LI></UL><P>Let me start with Business Accelerator Hub options and same steps will apply for embedded store as well.</P><P>When you reach to the Business Accelerator Hub – SAP Build Domain page, you will be provided with search and filter options on the left panel. Using these options, you can filter the content or direct type in the search-term to find the content you are looking for.</P><P>For example: I want to search for all Finance content, so I will expand Line of Business section and select Finance and you will get the list of related content.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 3.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99414iB246FDC7D23568FB/image-size/large?v=v2&amp;px=999" role="button" title="Picture 3.png" alt="Picture 3.png" /></span></P><P>Another example: let us say you know the few terms based on your use case, then you can directly write in search-text. Say Fixed Asset</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 4.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99416iB4D5CFCD1AC10C16/image-size/large?v=v2&amp;px=999" role="button" title="Picture 4.png" alt="Picture 4.png" /></span></P><P>Go across all the results to find the right content by looking at the title and the description. If you want to know more about the content, then click on content tile and it will take you to the details.</P><UL><LI>In the <STRONG>overview</STRONG>, you will find the long description of the content which explain what this content does and how it extends the standard solution, including a solution diagram<BR />(which explains the component interactions)</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 5.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99417iA511445B1F9D21FE/image-size/large?v=v2&amp;px=999" role="button" title="Picture 5.png" alt="Picture 5.png" /></span></P><UL><LI>On switching to <STRONG>Artefacts</STRONG>, it gives an overview of complete list of artefacts it bundles. These are the artefacts that you will configure and extend after importing the content.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 6.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99418i6B70570AE7E832D8/image-size/large?v=v2&amp;px=999" role="button" title="Picture 6.png" alt="Picture 6.png" /></span></P><UL><LI><STRONG>Documents</STRONG> section provides a detailed step-by-step setup and configuration guide. This will be needed once you decide to use the content. It is the first set of instructions you will need to consume the content in your project.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 7.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99419i0D5CF0AE2FC34CA5/image-size/large?v=v2&amp;px=999" role="button" title="Picture 7.png" alt="Picture 7.png" /></span></P><H3 id="toc-hId-728726395"><STRONG>How to import and use the content? </STRONG></H3><P>To import the content, you will need respective SAP Build service. For now, as most of the content is based on capabilities of SAP Build Process Automation service so:&nbsp;</P><OL><LI>First thing you have to do is <STRONG>install SAP Build Process Automation</STRONG>, if you do not have the subscription already ( follow this <A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/initial-setup?locale=en-US" target="_blank" rel="noopener noreferrer">help documentation</A> to setup the service in your enterprise or trial account )<BR /><BR /></LI><LI>Open SAP Build Process Automation subscription application which will take you to Lobby. From Lobby, click to <STRONG>open Store</STRONG> from the left panel.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 8_.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99420iD32A7DBC136511D1/image-size/large?v=v2&amp;px=999" role="button" title="Picture 8_.png" alt="Picture 8_.png" /></span><BR /><BR /></LI><LI>Store or embedded Store provides the view of only SAP Build content packages as seen in SAP Business Accelerator Hub, with options to import the content. Here as well you can filter or directly search the content with search-text. Same experience as from accelerator hub.<BR /><BR />note: you will notice button options like Create from Template, Add or both.</LI></OL><UL><LI><STRONG>Add</STRONG> option is shown for ready-to-use content which means these content packages are imported as-is and only minimum configurations are allowed.</LI><LI><STRONG>Create from Template </STRONG>is shown for template content which means the new business project will be created from this template, and you get full scope for any customization or extension.</LI><LI>There will be few contents which has both options, which means you can use them as ready-made, or template based on your requirements.<BR /><BR />you can find more details on these metadata properties <A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/using-store?locale=en-US" target="_blank" rel="noopener noreferrer">here</A>.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 9.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99421iE08F61B3F3C4D4A9/image-size/large?v=v2&amp;px=999" role="button" title="Picture 9.png" alt="Picture 9.png" /></span></P><P style=" padding-left : 30px; ">4.&nbsp; Import the content using <STRONG>Add</STRONG> or <STRONG>Create from Template</STRONG> one-click action.<BR /><BR />Important Note: You must follow the setup and configuration guide ( attached with each content) to ensure that you have created and configured all the needed mandatory artefacts like destinations to connect to S/4HANA system, embedded UI5 application as Start tile in Work Zone, setup cloud connectors for any on-premise based content etc.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 11.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99423iA3FA44E747D2C377/image-size/large?v=v2&amp;px=999" role="button" title="Picture 11.png" alt="Picture 11.png" /></span></P><P style=" padding-left : 30px; ">5. Once the content is imported in the Lobby, you can navigate into the respective project to <STRONG>configure, customize, or extend the content</STRONG><BR /><BR />All the artefacts, templates (excel, PDF or DOX) and source-code (for SAPUI5 apps, CAP models etc.) are provided to you with the imported business project. You can now follow the documentation to first configure the mandatory artifacts, as explained in the document and then choose to extend it based on the requirements or use it with the minimum configuration.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 12.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99424iE6557F0E2CB218D9/image-size/large?v=v2&amp;px=999" role="button" title="Picture 12.png" alt="Picture 12.png" /></span></P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 13.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99425iFAD13C529DD3B97D/image-size/large?v=v2&amp;px=999" role="button" title="Picture 13.png" alt="Picture 13.png" /></span></P><P>That’s it, that it all it needs to use the SAP Build content. If you haven’t explored them yet I would recommend trying them out in your ongoing or next project – and I am sure you will be pleasantly surprised with the variety of the content and how much it helps you ease your work.</P><P>-----------------------------------------</P><P>Let me now cover some commonly asked questions:</P><P style=" padding-left : 30px; "><STRONG>1. How to get support for the content?</STRONG></P><P style=" padding-left : 30px; ">Not all contents are supported. The content that are supported, the respective support information is provided in the documentation. It will either be an email or support component where you can raise ticket for any bug or consultation.</P><P style=" padding-left : 30px; "><STRONG>2. What is difference between SAP Store and SAP Business Accelerator Hub? </STRONG></P><P style=" padding-left : 30px; ">For SAP Build Process Automation content, SAP Store is the commercial hub which means any partner or LoB who wants to publish a paid content – will have to publish the content in SAP Store. The same gets replicated in SAP Business Accelerator Hub or embedded Store. You cannot directly import the paid content from the embedded Store.<BR /><BR />You will notice the <STRONG>Buy</STRONG> option for such content when opened in the embedded store. Clicking this option takes you to SAP Store – which means you must first buy the content from respective vendor, and they will provide instructions to use the content.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 14.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99426i30F4B71C3151EE2F/image-size/large?v=v2&amp;px=999" role="button" title="Picture 14.png" alt="Picture 14.png" /></span></P><P style=" padding-left : 30px; "><STRONG>3. Can customer or partner publish the content? </STRONG></P><P style=" padding-left : 30px; ">Currently only partners can create and publish the content in the store. All the guidance to publish the SAP Build Process Automation content is available in Partner Edge portal.</P><P>-----------------------------------------</P><P>In upcoming blogs, you will find interesting details on some of our selective and most-sought-after content for different industries. Concluding this blog with some important links that will help you learn further:</P><UL><LI><A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/using-store?locale=en-US" target="_self" rel="noopener noreferrer">SAP Help Documentation</A></LI><LI><A href="https://www.youtube.com/watch?v=IVr9JYUtvu4" target="_self" rel="nofollow noopener noreferrer">Devtoberfest Session on Pre-Built Content</A></LI><LI><A href="https://www.youtube.com/watch?v=yn1qGpoaOEA" target="_self" rel="nofollow noopener noreferrer">Using Pre-built Content From Store (YouTube)</A></LI><LI><A href="https://help.sap.com/whats-new/190af73e1b314925bc5f3bf8751fc9ce" target="_self" rel="noopener noreferrer">What's New (for newly published content)</A></LI></UL> 2024-04-20T18:48:27.667000+02:00 https://community.sap.com/t5/sap-builders-blog-posts/create-on-brand-navigation-experiences-in-sap-build-apps-using-custom/ba-p/13617392 Create on-brand navigation experiences in SAP Build Apps using custom navigation 2024-04-23T10:29:47.674000+02:00 marihirvi https://community.sap.com/t5/user/viewprofilepage/user-id/166231 <P><EM>Do you feel limited by the regular navigation elements in SAP Build Apps? Would you like to create truly on-brand experiences for your users? Whether you're a seasoned SAP Builder or just getting started, in this article you'll learn how to use and create custom navigation elements to take your app design to the next level.</EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="customnav_withlogo.gif" style="width: 640px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100430iA727647FABC904EE/image-dimensions/640x412?v=v2" width="640" height="412" role="button" title="customnav_withlogo.gif" alt="customnav_withlogo.gif" /></span></P><H2 id="toc-hId-987132594">Adding custom navigation to the project</H2><P>While the built-in navigation in SAP Build Apps is great for native mobile applications, when building web applications you might be looking for a more flexible approach. You can get creative with navigation by first adding a&nbsp;<STRONG>custom navigation list</STRONG>&nbsp;to your project on the Navigation tab. These lists of pages can be used as inputs for <STRONG>navigation components</STRONG>&nbsp;on the UI Canvas to craft custom experiences.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="marihirvi_0-1708961112782.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71385iEDB50F3A250C460B/image-size/large?v=v2&amp;px=999" role="button" title="marihirvi_0-1708961112782.png" alt="marihirvi_0-1708961112782.png" /></span></P><H2 id="toc-hId-790619089">Using the 'Responsive navigation bar' component</H2><P>As an out-of-the box solution for web apps, there is a custom navigation component on the Marketplace called&nbsp;<STRONG>Responsive navigation bar</STRONG>. The configuration is simple: Select the<STRONG> Navigation list </STRONG>you want to use for this component and type the name of the current page into the&nbsp;<STRONG>Current page</STRONG>&nbsp;property.</P><P>For styling, you have some options to&nbsp;determine at what screen size the menu should collapse into a mobile-style view, and two different style classes to control&nbsp;if the menu items should be aligned to the right or left. It's also up to you if you'd like to display icons next to the page names or not. Finally, you can&nbsp;upload your logo image to give the menu an on-brand touch. If you want to further customize the component's appearance, edit the Style class.</P><P>Once you're happy with how the component looks on the initial page of your app, repeat the configuration on each page included in your navigation list to complete the picture.&nbsp;<STRONG>Tip:</STRONG> Use Ctrl+C/Ctrl+V to copy-paste the component between pages. You will only need to change the name of the current page in the configuration.</P><P>Using the SAP Morning Horizon theme, the result will look something like this:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="custom-nav-app.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/71379iDC275D971C989DC3/image-size/large?v=v2&amp;px=999" role="button" title="custom-nav-app.png" alt="custom-nav-app.png" /></span></P><H2 id="toc-hId-594105584">Creating your own custom navigation component</H2><P>If you want to go all in on the design and craft your own custom navigation component, start by converting a Container into a new component and giving it a 'navigation' type property in the Component Template Editor. You can find more information about creating custom navigation components in the <A href="https://help.sap.com/docs/build-apps/service-guide/navigation?locale=en-US" target="_self" rel="noopener noreferrer">documentation</A>. If you want to implement responsive behaviour in the component, taking a look at the inner workings of the Responsive navigation bar can be a good idea.</P><P>I hope this post has left you feeling inspired and empowered to use and create custom navigation elements in new or existing apps. I would love to see any components you come up with in the comments!</P><P>Happy building&nbsp;<span class="lia-unicode-emoji" title=":hugging_face:">🤗</span></P> 2024-04-23T10:29:47.674000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-mobile-apps-for-ios-and-android/ba-p/13667638 Consuming SAP with SAP Build Apps - Mobile Apps for iOS and Android 2024-04-24T11:00:11.784000+02:00 LudoNoens https://community.sap.com/t5/user/viewprofilepage/user-id/15040 <P>This blog post is the third in a series of posts that cover the connectivity options available for SAP Build Apps to interface with SAP systems. The series will cover connecting SAP Build Apps with the following:</P><OL><LI>CAP-based services</LI><LI>S/4HANA systems</LI><LI>ABAP systems</LI></OL><P>The format of this post is similar to a tutorial. However, I'll provide more comprehensive details, tips and the opportunity for you to provide feedback. Based on the feedback we will be able to adjust and enhance this post and future parts of the series, and might even be able to improve the products involved as well.&nbsp;<BR /><BR /></P><H1 id="toc-hId-862670183">Introduction </H1><P>Before we get into the details of setting up connections between SAP Build Apps and SAP Systems, I intend to introduce a couple of SAP technology components in each post that are relevant for the use cases covered in the series.&nbsp;<BR /><BR /></P><H2 id="toc-hId-795239397">SAP Mobile Services</H2><P>The use case described in this blog post makes use of <A title="SAP Mobile Services Documentation - Introduction" href="https://help.sap.com/doc/f53c64b93e5140918d676b927a3cd65b/Cloud/en-US/docs-en/guides/index.html" target="_blank" rel="noopener noreferrer">SAP Mobile Services</A> to authenticate the mobile apps we will be running on our devices.</P><P>SAP Mobile Services is a collection of services on SAP Business Technology Platform that enables mobile application development, configuration and management. It is a cloud-based offering complemented by various development tools such as the native SDKs for iOS and Android, the mobile development kit (MDK) or SAP Mobile Cards. <SPAN>The overall objective is to deliver reusable services, which can be leveraged in mobile app development projects. W</SPAN>e have recently added integration with SAP Mobile Services in SAP Build Apps.</P><P>In the context of SAP Build Apps in this blog post, we will be using the server features related to security: enterprise authentication and enterprise app management. SAP Mobile Services authenticates your mobile users with Cloud Identity Services and provides access to integrations and SAP BTP services within your mobile applications. For the mobile apps, SAP Build Apps will use some portions of the SAP SDKs that allow for easy authentication through SAP Mobile Services.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="mobile-services-feature-overview-build-apps.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99771i60753103E3A7D35B/image-size/large?v=v2&amp;px=999" role="button" title="mobile-services-feature-overview-build-apps.png" alt="mobile-services-feature-overview-build-apps.png" /></span></P><H2 id="toc-hId-598725892">Build service</H2><P>SAP Build Apps offers a build service that allows you to build your web application and mobile applications for iOS and Android in the cloud, without the need to install the required tools on your local machine. After building your web application, you can deploy the app to SAP Business Technology Platform. For the mobile apps, you can download the IPA (iOS) and APK (Android) file and install the app on your mobile device(s).</P><P>As you might be aware, Apple has restricted the building of iOS apps to Apple hardware. With the SAP Buiild Apps build service, non-Apple hardware users can still build iOS apps, provided these users have access to specific files required for signing the apps.</P><P>Note: although SAP Mobile Services offers a reuse service for "Cloud Build Service for CI" as shown in the diagram above, SAP Build Apps does not make use of this and offers a separate Build service, dedicated for building SAP Build Apps client apps.<BR /><BR /></P><P>&nbsp;</P><H1 id="toc-hId-273129668">Use case C : Consume the CAP service in a mobile app on the iOS and Android platforms</H1><P>For this use case, we will make use of the previously created basic CAP service in <FONT color="#FF00FF"><STRONG>SAP Build Code</STRONG></FONT>. We will be creating dedicated mobile apps for the iOS and Android platforms to consume this service. In the first post in this series, I've already highlighted that you can <STRONG>preview</STRONG>&nbsp;your app on a mobile device using the SAP Build Apps client app that is available for download in the public app stores for <A title="SAP Build Apps Preview - iOS app" href="https://apps.apple.com/us/app/sap-build-apps-preview/id1585856868" target="_blank" rel="noopener nofollow noreferrer">iOS</A> and <A title="SAP Build Apps Preview - Android app" href="https://play.google.com/store/apps/details?id=com.sap.appgyver.preview.release&amp;hl=en&amp;gl=US&amp;pli=1" target="_blank" rel="noopener nofollow noreferrer">Android</A>. But you can't use this to publish your own apps. We offer you a way to build your own apps in the cloud. There is no need to install tooling on your own machines to accomplish this.</P><H2 id="toc-hId-205698882">Solution diagram</H2><P>Let's first take a quick look at what we need to change in our solution overview to accommodate for mobile apps. Building upon the solution diagram created in the <A title="Consuming SAP with SAP Build Apps - Connectivity options for low-code development - part 2" href="https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-connectivity-options-for-low-code/ba-p/13666667" target="_blank">previous blog post</A>, we now add <STRONG>SAP Mobile Services</STRONG>. The design time environment of SAP Build Apps will register the application with SAP Mobile Services. End users install our mobile app on their device. The mobile app authenticates with the Identity Authentication service (IAS). SAP Mobile Services handles the token exchange with Authorization and Trust Management (XSUAA) and acts as a proxy to provide access to the BTP destination. Only users who have the correct Roles assigned will be able to access the data provided in the CAP-based data service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_3-1713944850590.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100970i7AB144AAFA2DBA66/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_3-1713944850590.png" alt="LudoNoens_3-1713944850590.png" /></span></P><H2 id="toc-hId-9185377">Developing the mobile apps</H2><P>Before we start, as a teaser, let me show you a few screenshots of the iOS app we will be creating. An animated recording is available at the end of this blog post.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="screencaptures_bloga.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100917i02FD1CB9828D5EE3/image-size/large?v=v2&amp;px=999" role="button" title="screencaptures_bloga.png" alt="screencaptures_bloga.png" /></span></P><P>Let's get started building this mobile app. </P><P>Open <STRONG>SAP Build Apps</STRONG>, and navigate to the Launch tab. Select the "Open build service" button on the Build your app tile.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1713776904935.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99827i0276B426863475ED/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1713776904935.png" alt="LudoNoens_0-1713776904935.png" /></span></P><P>You will now see three options. In this blog we will focus on the mobile apps. We'll take a look at web app in one of the next posts.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_1-1713777192990.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99832i6D3126A1A28943A0/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1713777192990.png" alt="LudoNoens_1-1713777192990.png" /></span></P><H2 id="toc-hId--187328128">Building the Android app</H2><P>The easiest mobile build is for Android. Select Configure under Android Mobile/Tablet.</P><H3 id="toc-hId--254758914">Android keystore</H3><P>Your first task is to create and upload an Android keystore. The Android platform requires that all APKs (Android application package) are digitally signed with a certificate before they are installed on a device or updated.</P><P>To create a new keystore, you'll need a CLI tool called&nbsp;<STRONG>keytool</STRONG>, which is part of the Java Development Kit (JDK). Instead of downloading this JDK from our competitor and agreeing to all kinds of legal fine print, you could also download this from the <A title="SAP Development Tools" href="https://tools.eu1.hana.ondemand.com/#cloud" target="_blank" rel="noopener nofollow noreferrer">SAP Development Tools site</A>&nbsp;(look for the SAP JVM package for your machine). However, this package is rather large. If you don't want to install anything on your local machine, we have an even better option: your Dev Space in <STRONG>SAP Build Code</STRONG> ! This Dev Space contains various developer tools out-of-the-box, and a key feature is that you can actually run them directly in this cloud environment. Simply go back to SAP Build Code (or SAP Business Application Studio) and open the terminal.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1713840423953.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100241iDF8247ECA283114C/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_0-1713840423953.png" alt="LudoNoens_0-1713840423953.png" /></span></P><P>Generate the keystore from the Command Line, using the following (adapt file name and alias to your own preferences):<BR /><BR /></P><PRE>keytool -genkey -v -keystore blogdemoapp.keystore.jks -alias blogdemoapp -keyalg RSA -keysize 2048 -validity 10000</PRE><P>Answer the questions asked by the keytool and note the password, which we need to provide later on in the SAP Build Apps build configuration UI.</P><P>Once completed, you will have a keystore file stored in your Dev Space. Navigate to the (File) Explorer, find the keystore file and right-click on it. Select Download, to store the file on your local machine.</P><P>Going back to SAP Build Apps, upload the keystore file and provide the password. The alias is optional and you can leave it blank. Select NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713777418871.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99834i5661DF222ABAAC35/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713777418871.png" alt="LudoNoens_2-1713777418871.png" /></span></P><H3 id="toc-hId--451272419">Android application bundle</H3><P>In the Bundle Settings, select APK for the build scheme. Provide a package identifier in the form of a reverse domain name.&nbsp;Provide a display name for the app, which will be visible on your device's home screen. Select NEXT.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1713777523682.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99835iA98C1EFFAE26061C/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1713777523682.png" alt="LudoNoens_0-1713777523682.png" /></span></P><H3 id="toc-hId--647785924">Image Assets</H3><P>In the Image Assets tab, we can <U>optionally</U> upload images for the application icon, the splash screen and notification icon. This allows you to apply your personal or company's branding to the app. The application icon will be visible on your device's home page. When opening up the app, users will briefly see a splash screen, which can be used as introduction or welcome page. This is where we can show the splash screen image.</P><P>For the icon image, I've actually used a Generative AI service (in my case Microsoft Copilot). Feel free to get creative yourself, or use some other image generation service. The images have to be in PNG format and provided in various sizes to support all the various device form factors and display resolutions available in the market. There are various online tools available to help you create these images from a source image. Search for "icon splash android generator" to find one that suits your needs.</P><P>Recommendation: keep your images as small as possible. The splash screen is a nice to have, but will only be visible to the user for a very short period of time.</P><P>After uploading all required images, click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_1-1713777578744.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99836i7B1BBC1B0BB03AF8/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1713777578744.png" alt="LudoNoens_1-1713777578744.png" /></span></P><H3 id="toc-hId--919530798">Application permissions</H3><P>On the Permissions tab, you can configure application permissions that your app might require. For our demo, we will skip this and click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713777651247.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99837iABBB3BD2E600060D/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713777651247.png" alt="LudoNoens_2-1713777651247.png" /></span></P><H3 id="toc-hId--1116044303">Mobile Services connection</H3><P>Last but not least, we have to configure the Mobile Services connection. Your app will be interfacing with a specific instance of SAP Mobile Services, available in your subaccount. We need to provide the endpoint for this particular instance. Otherwise your app will not know where Mobile Services can be found. Click the Enable SAP Mobile Services button and log in.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_4-1713777735701.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99839iCEAF4AB08CBF1295/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_4-1713777735701.png" alt="LudoNoens_4-1713777735701.png" /></span></P><P>Select the API endpoint for your subaccount. In case you are not sure which one this is, you can check the Overview page on your subaccount's BTP cockpit. Once the endpoint is selected, you will need to log in.</P><P>After a successful log in, you will be able to pick the Organization in the dropdown list, followed by the Space.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_5-1713777763341.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99840i3BE9DE1E68DA67B3/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_5-1713777763341.png" alt="LudoNoens_5-1713777763341.png" /></span></P><P>Once this is configured, you again click on the&nbsp;Enable SAP Mobile Services button. During this process, SAP Build Apps will register your app with SAP Mobile Services.&nbsp;</P><P>Selecting NEXT will bring you back to the Build page.<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_7-1713777918652.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99846i813F0843736290D3/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_7-1713777918652.png" alt="LudoNoens_7-1713777918652.png" /></span></P><H3 id="toc-hId--1312557808">Build for Android</H3><P>Now that we are done configuring the Android build, let's request the build service to produce an APK for us. Click the BUILD button.&nbsp; On the next page, select the client runtime version and provide a version code and version name.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_1-1713845495731.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100255iBDFF21D744FED488/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_1-1713845495731.png" alt="LudoNoens_1-1713845495731.png" /></span></P><P>Once you click the BUILD button, a request to build an APK for your app will be sent and queued. Builds can take some time. We are in the process of significantly speeding this up.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_2-1713845658145.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100256iA6E79ED25AADD9F8/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_2-1713845658145.png" alt="LudoNoens_2-1713845658145.png" /></span></P><P>&nbsp;</P><P>Once the build is done, you can click the DOWNLOAD button to retrieve the APK file and store it on your local machine.</P><H3 id="toc-hId--1509071313">Installing the app on your device</H3><P>For installing the APK onto your device, there are various options (and challenges), depending on what device you have and the PC you are using. In general, you'll need to connect your device to your PC and transfer the file over for example a USB connection. To help transfer the file, you can for example use Android File Transfer. Once the APK file is transferred onto the device, open a file explorer app such as My Files. Select the APK file and open with Package Installer. Once this is done, find your app in the applications list.</P><P>Note: you might run into various challenges when your device is managed (by your company), security settings that are set tight, or Developer Options are turned off.</P><P>Tip: when accessing your device, make sure the screen is unlocked.</P><P>Below is a capture of the app running on a Samsung phone. Please refer to the iOS app for a recording in better quality.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_2-1713932740842.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100892iB9388210AE7FE30A/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_2-1713932740842.png" alt="LudoNoens_2-1713932740842.png" /></span></P><P>&nbsp;</P><H2 id="toc-hId--1412181811">Building the iOS app</H2><P>Compared to the Android build, this task is less easy. This is due to restrictions defined by Apple. The main challenge is in getting the correct certificate and profile to be able to install the app on your device.</P><P>Select the CONFIGURE button on the Build page to configure iOS Mobile/Tablet builds.</P><H3 id="toc-hId--1902098323">Certificates</H3><P>The most tricky part in this process is on the Certificates tab. You need to provide an iOS Distribution Certificate. Take note that an iOS Developer Certificate will NOT work.</P><P>More details on how to get a certificate can be found on the Apple Developer site:&nbsp;<A href="https://developer.apple.com/help/account/create-certificates/create-enterprise-distribution-certificates" target="_blank" rel="noopener nofollow noreferrer">https://developer.apple.com/help/account/create-certificates/create-enterprise-distribution-certificates</A></P><P>If you don't have an iOS Developer account or you are not part of an iOS Enterprise Developer program, then you could ask a colleague to add you to an existing program, or register your device's UDID and provide you with the certificate and provisioning profile (see next step).&nbsp;</P><P>Once done, click NEXT.</P><P>Note: certificates have an expiry date. Your app will no longer start once the certificate is expired.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_0-1713861374042.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100392iC635D6B935589727/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1713861374042.png" alt="LudoNoens_0-1713861374042.png" /></span></P><H3 id="toc-hId--2098611828">Bundle Settings</H3><P>There are two build schemes you can choose from: App Store distribution or Ad Hoc distribution. For development and testing purposes as covered in this blog post, we will use the Ad Hoc distribution. The distribution is limited to a specified set of registered devices. The app will refuse to install on other devices.</P><P>Provide the Display Name of the app. The name will be visible on your device's Home Screen.</P><P>Provide a bundle identifier in the form of a reverse domain name. This is a unique identifier for your application. Take note that the provisioning profile has to include the app's bundle identifier as well.</P><P>Next is another challenge that requires you to navigate the Apple Developer site: getting the Ad Hoc provisioning profile. More details are on Apple's Developer site:&nbsp;<A href="https://developer.apple.com/help/account/manage-provisioning-profiles/create-an-ad-hoc-provisioning-profile" target="_blank" rel="noopener nofollow noreferrer">https://developer.apple.com/help/account/manage-provisioning-profiles/create-an-ad-hoc-provisioning-profile</A>.</P><P>You can skip the URL scheme and lock screen orientation. Select NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_1-1713863377851.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100426i279C160E2744E20B/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1713863377851.png" alt="LudoNoens_1-1713863377851.png" /></span></P><H3 id="toc-hId-1999841963">Image Assets</H3><P>For the app's icon, I am going to use exactly the same image that I've created for Android. For the iOS splash screen I've also used Microsoft's Copilot and enhanced it further with an image editor. For iOS, you'll need different PNG image sizes compared to Android. For the icons you can easily find image converter tools online. For the splash screen I've actually manually resized the original image. When uploading the images, SAP Build Apps will check whether the image is in the correct format and pixel dimensions.</P><P>Once done, click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_2-1713864016899.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100434iAE6651EA8584ACDC/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1713864016899.png" alt="LudoNoens_2-1713864016899.png" /></span></P><H3 id="toc-hId-1803328458">Usage strings</H3><P>We will not change anything here. Click NEXT.</P><H3 id="toc-hId-1606814953">Mobile Services</H3><P>This will be a repeat of the Android configuration. We now need to configure the connection between the mobile app and SAP Mobile Services. Your app will be interfacing with a specific instance of SAP Mobile Services, available in your subaccount. We need to provide the endpoint for this particular instance. Otherwise your app will not know where Mobile Services can be found. Click the Enable SAP Mobile Services button and log in.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LudoNoens_4-1713864835754.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100443iFBDF3458BA1811F2/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_4-1713864835754.png" alt="LudoNoens_4-1713864835754.png" /></span></P><P>Select the API endpoint for your subaccount. In case you are not sure which API endpoint this is, you can check the Overview page on your subaccount's BTP cockpit (see also the tip provided on screen). Once the endpoint is selected, you will need to log in (if you have not done so already).</P><P>After a successful log in, you will be able to pick the Cloud Foundry Organization in the dropdown list, followed by the Space.</P><P>Once this is configured, you again click on the&nbsp;Enable SAP Mobile Services button. During this process, SAP Build Apps will register your app with SAP Mobile Services.&nbsp;On the login screen of the app (see screenshot shared at the beginning of this blog post), you will see the identification of the app as it was registered in SAP Mobile Services. In my case: buildApps94767.</P><P>Selecting NEXT will bring you back to the Build page.<BR /><BR /></P><H3 id="toc-hId-1578485139">Build for iOS</H3><P>Now that we are done configuring the iOS build, let's request the build service to produce an IPA for us. Click the BUILD button.&nbsp; On the next page, select Ad Hoc, the client runtime version and provide a version and short version.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_5-1713865194071.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100444i2BFF0B964EF7CF58/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_5-1713865194071.png" alt="LudoNoens_5-1713865194071.png" /></span></P><P>Once you click the BUILD button, a request to build an IPA for your app will be sent and queued. Builds can take some time. We are in the process of significantly speeding this up.<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1713871373165.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100511i2AA21EAEC33A66C7/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_0-1713871373165.png" alt="LudoNoens_0-1713871373165.png" /></span></P><P>Once the build is done, you can click the DOWNLOAD button to retrieve the IPA&nbsp;file and store it on your local machine.<BR /><BR /></P><H3 id="toc-hId-1381971634">Installing the app on your device</H3><P>For installing the IPA onto your device, there are various options, depending on what device you have and the PC you are using. In general, you'll need to connect your device to your PC and transfer the file over a USB connection. On Mac OS, you can use Finder and select your device. You can then drag and drop the IPA file onto the Finder view and the app will automatically be installed. Once this is done, find your app on your device's home screen. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="RPReplay_Final1713873118a.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/100517i1DC2C4194FB833E2/image-size/large?v=v2&amp;px=999" role="button" title="RPReplay_Final1713873118a.gif" alt="RPReplay_Final1713873118a.gif" /></span></P><P>&nbsp;</P><H2 id="toc-hId-1478861136">Summary – use case C</H2><P>In this use case we have created dedicated mobile apps for the iOS and Android platforms. Building the app in the cloud is relatively easy, as you don't need to install any tools on your local development machine. For iOS apps, getting the correct certificate and provisioning profile can be a challenge though.</P><P>By customising the app's icons and splash screens, you are able to apply your own branding.</P><P>SAP Build Apps registers the application with SAP Mobile Services. Using the mobile app, end users authenticate with IAS. SAP Mobile Services handles the token exchange with XSUAA and acts as a proxy to provide access to the BTP destination. Only users who have the correct Roles assigned will be able to access the data provided in the CAP-based data service.</P><P>&nbsp;</P><H1 id="toc-hId-1575750638">What's next</H1><P>In the next blog post, we will deploy the web application to SAP Build Work Zone.</P> 2024-04-24T11:00:11.784000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-build-process-automation-pre-built-content-for-finance-use-cases/ba-p/13681719 SAP Build Process Automation Pre-built content for Finance Use cases 2024-04-25T08:07:03.067000+02:00 rashmi_mavinakere https://community.sap.com/t5/user/viewprofilepage/user-id/348026 <P>The definition of pre-built content, how it helps your business to jump-start your automation development and how to discover them is explained in the blog, ‘<A href="https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046" target="_blank">Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content’</A></P><P>This blog covers the pre-built content for finance use cases specifically.</P><P>Financial operations refer to the management of finances and resources within a company. These operations include, accounting, budgeting, cash management, financial forecasting etc. They are the backbone of any organization and require strong and robust solutions to accomplish them.</P><P>SAP S/4HANA Finance is SAP’s flagship financial solution. There are many competitive and core features of S/4HANA Finance that helps you solve your Finance and Accounting requirements.</P><P>Though SAP S/4HANA Finance solution offers various solutions for widely used finance operations across the industries, there are some features that must be extended with BTP with side-by-side extension approach in order to solve customer requirements.</P><P>Side-by-side extensions mean extension and integration with custom or standard business applications of the SAP Business Technology Platform (BTP). This is either via stable APIs or through business events from an SAP product, for example, SAP S/4HANA.</P><P>SAP Build Process Automation is used along with the SAP S/4HANA Finance application as a side-by-side extension, to solve complex business use cases that are not planned in the near future as a feature in SAP S/4HANA Finance module. These are identified and validated as a white space in the SAP S/4HANA finance product. Examples of the processes include, Mass processing of Accruals, Creation of Supplier Invoice by Reference Invoice, External Approval while posting Journal Entry etc.</P><P>Currently there are 100+ finance use cases for which pre-built content exists in SAP Business Accelerator Hub</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101658i17295786AB7A1448/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P>These are the widely used use cases in finance industry across various organizations and sectors.</P><P>They can be used with no or very minimal changes which makes it as industry best practice.</P><P>In order to discover the finance use cases, follow the steps mentioned in the blog <A href="https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046" target="_blank">‘Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content’</A></P><P>Or you can simply use the below link to see them in SAP Business Accelerator Hub.</P><P><A href="https://api.sap.com/build?$filter=(LinesOfBusiness:%5B%22Finance%22%5D,ProjectTypeHierarchy:%5B%22Process%3ETask%20Automation%22,%22Process%3EBusiness%20Process%22,%22Process%3ELive%20Process%22%5D)" target="_blank" rel="noopener noreferrer">https://api.sap.com/build?$filter=(LinesOfBusiness:%5B%22Finance%22%5D,ProjectTypeHierarchy:%5B%22Process%3ETask%20Automation%22,%22Process%3EBusiness%20Process%22,%22Process%3ELive%20Process%22%5D)</A></P><H2 id="toc-hId-993422098">Explaining some of the SAP S/4HANA Finance Use-cases:</H2><P>&nbsp;</P><H3 id="toc-hId-925991312">1: Journal Entry Posting Approval</H3><P>A journal entry records financial transactions that a business engages in throughout the accounting period. These entries serve as the initial step to create ledgers and trial balances. <A href="https://www.myaccountingcourse.com/accounting-cycle/journal-entries" target="_blank" rel="noopener nofollow noreferrer">Eventually, they are used to compile a full set of financial statements for the company</A>.</P><P>This pre-built content covers the capability to validate the journal entry details and based on the document checks, it is posted to SAP S/4HANA on-premise system.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture2.png" style="width: 899px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101659iD7DD44349772A103/image-size/large?v=v2&amp;px=999" role="button" title="Picture2.png" alt="Picture2.png" /></span></P><P>This template automates the posting of journal entries to general ledger accounts like making adjustment entries during period end closing or recording business transactions that do not have a source of document etc. It has the below features:</P><UL><LI>StartUI for data input used for entering the journal entry details with create or upload options</LI><LI>TaskUI approval form for the journal entry approval.</LI><LI>Approval process for approval of journal entry data by determined approver(s) that need to be posted to SAP S/4HANA.</LI><LI>Automations for document check &amp; document post.</LI><LI>Decisions to determine approvers to approve the journal entries.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdev.journalentrypostingapproval/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P><A href="https://www.bing.com/videos/riverview/relatedvideo?&amp;q=SAP+Build+process+automation+journal+entry+approval&amp;&amp;mid=51E00F0E6AE8DFB41FA851E00F0E6AE8DFB41FA8&amp;&amp;FORM=VRDGAR" target="_blank" rel="noopener nofollow noreferrer">YouTube video for Journal Entry Posting Approval Process</A></P><P>&nbsp;</P><H3 id="toc-hId-729477807">2: Mass Fixed Asset Acquisition</H3><P>Business organizations need to acquire long-term assets for their business, which is known as Fixed Asset acquisition. Examples include purchasing machinery, furniture, land and buildings, software, vehicles, or other tangible investments that will be used for a period of more than one year. The fixed asset acquisition process involves researching and evaluating potential purchases to ensure they are necessary and appropriate for the business, negotiating terms, obtaining approvals, managing the payment and delivery processes, and recording details in the books of accounts.</P><P>This pre-built content enables business experts to accelerate the mass asset acquisition posting process.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture3.png" style="width: 871px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101661iA53FCBDD637DC90B/image-size/large?v=v2&amp;px=999" role="button" title="Picture3.png" alt="Picture3.png" /></span></P><P>This template facilitates the creation of Mass Fixed Asset Acquisition and has the following features:</P><UL><LI>Start UI screen, to collect the initial selection criteria (Download/Upload) so that required fixed asset acquisition data can be read from SAP S/4HANA Cloud system.</LI><LI>Once the data is read, it is stored in an excel sheet in a specified folder as provided by the requestor of the process.</LI><LI>The data can be reviewed/enhanced by the user and upload it again in the Start UI so that approval workflow gets triggered.</LI><LI>Once the approval is provided by the decision determined approver, the new data gets posted into SAP S/4HANA Cloud system.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdevacc.massfixedassetacquisition2/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>&nbsp;</P><H3 id="toc-hId-532964302">3: Mass Creation of Bank Master</H3><P>Bank master data includes essential details about banks that your company interacts with, such as their addresses, control data, and unique identifiers. This data is maintained once and reused across transactions without frequent changes.</P><P>Bank master creation&nbsp;in SAP refers to the process of setting up and maintaining information related to banks within the SAP system.</P><P>This pre-built content enables businesses to create bank master in an automated way after approval is provided by a designated approver.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture4.jpg" style="width: 903px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101662i9FDF69F1AADF76C4/image-size/large?v=v2&amp;px=999" role="button" title="Picture4.jpg" alt="Picture4.jpg" /></span></P><P>This template facilitates read and create of the bank master in SAP S/4HANA cloud system and has the following features:</P><UL><LI>Check the email with attachment of excel file and save it in a specified folder.</LI><LI>Read the excel file and check the existing bank master data in SAP S/4HANA cloud system.</LI><LI>If data already exists in the SAP S/4HANA cloud system, then details are copied from the system and sent to the requester to review. If details are not existing in the system, an approval flow is triggered so that approver reviews bank master and take a decision on approval.</LI><LI>Once approval is done, data is added into SAP S/4HANA Cloud system.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdevacc.masscreationofbankmaster/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>&nbsp;</P><H3 id="toc-hId-336450797">4: Manage Invoices without Purchase Order</H3><P>Businesses use non-PO invoice that doesn’t have any associated Purchase Orders (PO), which are usually the result of spending outside of the usual procurement process.</P><P>A non-PO invoice, as opposed to a PO-based invoice, hasn’t been pre-approved and, therefore, needs to go through the invoice approval process within the purchasing department.</P><P>This pre-built content enables SAP ERP customers to automate the creation and update of non- PO Vendor Invoice in a transparent approach and provide flexibility to meet business requirements. It includes processes, decisions, automation, and visibility scenario artefacts.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture5.png" style="width: 728px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101664i8EB86A2A1A295F36/image-size/large?v=v2&amp;px=999" role="button" title="Picture5.png" alt="Picture5.png" /></span></P><P>This template contains API trigger that triggers the process with required invoice details that is submitted from SAP UI5 application form. The template has the following features:</P><UL><LI>The SAP UI5 screen has invoice details of header and item level, attachments and comments, which can be used to fill details of the invoice and trigger the process.</LI><LI>Invoice data can be validated with decisions that provide easy &amp; flexible use of business validation.</LI><LI>Approver(s) &amp; watcher(s) are notified via email about the request.</LI><LI>This template also uses a decision to group invoice item details for delegation of approval request to the responsible approvers.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdev.manageinvoiceswithoutpurchaseorder2/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>Other interesting use cases that you may want to explore in SAP Business Accelerator Hub with respect to Finance LOB are:</P><P>1: <A href="https://api.sap.com/package/eu10.storecontentdev.centralfinancemappingscfinmapping/overview" target="_blank" rel="noopener noreferrer">Central Finance Mappings (CFIN Mapping)</A></P><P>SAP Central Finance is used as a single repository of financial accounting. It replicates the master data from different source systems into SAP Central Finance running on&nbsp;<STRONG>SAP S/4HANA RISE (private cloud).</STRONG></P><P>This template automates the process of mapping, replication and is also capable of resolving issues that may occur or provide insight into the issue which would assist an analyst in resolving it.</P><P>This pre-built content is maintained by Central Finance team.</P><P>2: <A href="https://api.sap.com/package/eu10.sapprocessautomationtfe.centralfinancesltbot/overview" target="_blank" rel="noopener noreferrer">Safe Deactivation Procedure for Central Finance Replication</A></P><P>Central Finance uses SAP Landscape Transformation Replication Server (SLT) to transfer data between Source System(s) and the Central Finance system.&nbsp;In a standard replication, users simply deactivate and reactivate replication. However, Central Finance recommends a multi-step procedure for safe deactivation and reactivation.</P><P>This template helps in identifying and performing safe deactivation and reactivation of central and non-central finance replication. Creation of log for the execution and facilitates to send email to designated recipients.</P><P>This pre-built content is maintained by Central Finance team.</P><P>3: <A href="https://api.sap.com/package/eu10.storecontentdevtcs09ba46kh.creationofsupplierinvoicebyreferenceinvoice/overview" target="_blank" rel="noopener noreferrer">Creation of Supplier Invoice by Reference Invoice</A></P><P>Businesses need to create supplier invoices with reference to preceding documents, such as purchase orders, goods and services receipts, inbound deliveries, or purchasing contracts.</P><P>This pre-built content streamlines and automates the process of supplier invoice creation with variable amount by monthly / weekly reference invoice within the SAP S/4HANA public cloud system.</P> 2024-04-25T08:07:03.067000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-build-apps-%E3%82%88%E3%82%8A%E7%B0%A1%E5%8D%98%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9Fsap-build-process-automation%E3%81%A8%E3%81%AE%E9%80%A3%E6%90%BA/ba-p/13682980 SAP Build Apps - より簡単になったSAP Build Process Automationとの連携 2024-04-26T08:04:11.506000+02:00 NaotoSakai https://community.sap.com/t5/user/viewprofilepage/user-id/142482 <P>実はこのブログを書く前に、SAP Build AppsとSAP Build Process Automationの連携についての解説ブログを書いていたのですが、より簡単な機能がリリースされましたので検証がてらご紹介させていただきます。<BR /><BR /><STRIKE>なお、書いていたブログはブログで別のパターンで役に立つので後ほど公開させていただきます。</STRIKE><BR />公開しました。トリガーをフォームのまま行いたい、APIトリガーに変更するのが難しい場合は<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-build-apps%E3%81%A8sap-build-process-automation%E3%81%AE%E9%80%A3%E6%90%BA-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%AE%E5%A0%B4%E5%90%88/ba-p/13683267" target="_self">こちら</A>を参考にしてください。</P><H2 id="toc-hId-993454019">SAP Build Library機能</H2><P><A href="https://help.sap.com/docs/build-apps/service-guide/sap-build-library" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/build-apps/service-guide/sap-build-library</A><BR />として、SAP Build AppsでSAP Build Process Automationのプロセスを実行する機能がSAP Build Appsに実装されました。</P><P>最近SAP Build Process Automationをブースターを使用してセットアップした場合、この機能を使用するためのものがブースターによりセットアップされているのですが、以前にセットアップした場合、もしくはマニュアルでセットアップした場合は前準備が必要です。一応以下が整っているか確認したほうが良いでしょう</P><P><STRONG>1.SAP Build Process Automationのサービスインスタンスの有無</STRONG><BR /> SAP Build Process Automationのサービスインスタンスが作成されているか確認してください。サブスクリプションでは有りません。サービスインスタンスが作成されているかはBTPコックピットでサブアカウントのInstances&nbsp;<SPAN class="">and Subscriptionsからインスタンスの一覧を確認します。<STRONG>サブスクリプションの一覧では有りません。インスタンスの一覧です。</STRONG><BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714105109930.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102107i2B59A6A06C158115/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714105109930.png" alt="NaotoSakai_0-1714105109930.png" /></span><BR />ここにService:SAP Build Process Automation、Plan:Standardが存在すればインスタンスが存在していることになります。存在しない場合はCreateボタンから</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714105272941.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102108iFCB8EE37DC83B51D/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714105272941.png" alt="NaotoSakai_1-1714105272941.png" /></span><BR />PlanでInstancesのStandardを選択してインスタンスを作成してください。</P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%">※なお、このインスタンスの料金は「サブスクリプションに付随するもの」という扱いで無料です。このインスタンスはSAP Build Process Automationに対してAPIでのアクセスを可能にするものです。よってSAP Build Process Automationがサブスクライブされていないと意味がありません。</TD></TR></TBODY></TABLE><P>インスタンスを作成したらサービスキーを発行してください。サービスキーの中身を2で使用します。</P><P><STRONG>2.sap_process_automation_service_user_accessというDestinationの有無</STRONG><BR /> BTPコックピットでDestinationを確認し、sap_process_automation_service_user_accessというDestinationが存在しているか確認してください。存在しない場合は新しく作成する必要があります。内容としては</P><DIV><DIV style=" padding-left : 30px; "><SPAN>Name: sap_process_automation_service_user_access</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Type:HTTP</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Description:</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>URL: &lt;1のサービスキー情報のendpoints/apiの値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Proxy Type:</SPAN><SPAN>Internet</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Authentication: OAuth2JWTBearer</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Client ID: &lt;1のサービスキー情報のuaa/clientidの値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN><SPAN>Client Secret:&nbsp;&lt;1のサービスキー情報のuaa/</SPAN></SPAN><SPAN>clientsecret</SPAN><SPAN>の値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Token Service URL Type: Dedicated</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Token Service URL:&lt;1のサービスキー情報のuaa/urlの値に/oauth/tokenを追加&gt;<BR /></SPAN></DIV><DIV><SPAN>Additional Propertiesとして下記を設定します。</SPAN></DIV><DIV><DIV><DIV style=" padding-left : 30px; "><SPAN>HTML5.DynamicDestination</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>WebIDEEnabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>MobileEnabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>sap.processautomation.enabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Appgyver.Enabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>sap.applicationdevelopment.actions.enabled</SPAN><SPAN>=true</SPAN></DIV></DIV></DIV></DIV><P><SPAN class="">上記を設定したDestinationを作成します。Destination名は決まっているので注意してください。</SPAN></P><H2 id="toc-hId-796940514"><SPAN class=""><BR />使用方法</SPAN></H2><P><SPAN class="">まず、呼び出される側のSAP Build Process Automationのプロセスを作成します。このプロセスのトリガーはAPIである必要があります。トリガーがフォームの場合はこの機能を使用することができません。<BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_2-1714107635600.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102127iD16ED3D91D0C60BC/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_2-1714107635600.png" alt="NaotoSakai_2-1714107635600.png" /></span></P><P>トリガーはAPIで作成する必要があります。<BR />APIトリガーの場合の入力の設定は</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_3-1714107910220.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102128iCB33FB7D0230640F/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_3-1714107910220.png" alt="NaotoSakai_3-1714107910220.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_4-1714107986255.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102130i5434CC158AECC513/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_4-1714107986255.png" alt="NaotoSakai_4-1714107986255.png" /></span></P><P>Process DetailのProcess Inputsから行うことができます。フォームトリガーのプロセスをAPIトリガーに直す場合はこちらでトリガーフォームで入力していた内容を設定する必要があるということです。</P><P>トリガーがAPIである必要を除き、他は通常のSAP Build Process Automationのプロセスとして作成することができます。</P><P>ワークフローの作成が完了したらデプロイします。デプロイした後に、必ずそのプロジェクトをロビーから</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_5-1714108170045.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102132iEE3499BCE7982C46/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_5-1714108170045.png" alt="NaotoSakai_5-1714108170045.png" /></span></P><P>ライブラリに公開するを選んで公開してください。これを行わないとSAP Build Apps側からこのプロジェクトが見えません。<BR /><BR />SAP Build Apps側では必須の条件として「SAP Build Appsは<SPAN>sap_process_automation_service_user_access Destinationが存在するサブアカウントで動作させる必要がある」</SPAN>「BTP認証が必須」があります。<BR /><BR /></P><P>まず、SAP Build Appsのプロジェクト上でBTP認証を有効化します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_6-1714108502658.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102135iC18563433F89DE87/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_6-1714108502658.png" alt="NaotoSakai_6-1714108502658.png" /></span></P><P>そしてDataタブのADD Integrationボタンから</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_7-1714108600168.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102136iF4290D38C3851A1B/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_7-1714108600168.png" alt="NaotoSakai_7-1714108600168.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_8-1714108687749.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102137i16B3298C549AD8B5/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_8-1714108687749.png" alt="NaotoSakai_8-1714108687749.png" /></span></P><P>SAP Build Libraryを選択します。<BR />すると先程公開したプロセスが表示されます。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_9-1714109095372.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102140i961A70AA6FF6F018/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_9-1714109095372.png" alt="NaotoSakai_9-1714109095372.png" /></span></P><P>ここで出てこないという場合は、Destinationの作成や、SAP Build Process Automationで作ったプロセスの公開をし忘れていないか確認してください。</P><P>表示されたSAP Build Process Automationのプロセスを選択し、</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714109839136.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102142i11B6709E314ACD08/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714109839136.png" alt="NaotoSakai_0-1714109839136.png" /></span></P><P>Enable Processボタンを押してプロセスを有効化します。</P><P>これで連携の定義ができました。次はどのように実行するかです。<BR />簡単にこちらのような画面を作りました。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714109957292.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102143iA7DA620E60B851A3/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714109957292.png" alt="NaotoSakai_1-1714109957292.png" /></span></P><P>このボタンをクリックするとプロセス(ワークフロー)起動としたいと思います。<BR />ということでボタンにロジックを追加します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_2-1714110088300.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102144iEEAF7AB6C3A5D350/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_2-1714110088300.png" alt="NaotoSakai_2-1714110088300.png" /></span></P><P>プロセスの起動を行うロジックは標準に存在しませんのでMARKET PLACEをクリックします。<BR />MARKET PLACEで「TRIGGER」と入力し、</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_3-1714110250756.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102145i90D7DA6C07BCF6A8/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_3-1714110250756.png" alt="NaotoSakai_3-1714110250756.png" /></span><BR />Trigger Processロジックをインストールしてください。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_4-1714110355954.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102146iA297072F4F3086C7/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_4-1714110355954.png" alt="NaotoSakai_4-1714110355954.png" /></span></P><P>インストールしたTrigger Processをボタンのタップなどのイベントに接続し、<BR />プロパティを設定します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_5-1714110736158.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102147i0A89AE6FBDC9E81F/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_5-1714110736158.png" alt="NaotoSakai_5-1714110736158.png" /></span><BR />プロパティのINPUTに表示されている項目はSAP Build Process Automationのプロセスに設定した入力と同じ項目であることを確認してください。<BR />これでSAP Build AppsからSAP Build Process Automationのワークフローが起動できるようになりました。</P><P>なお、SAP Build Process Automationのワークフローを起動するのはSAP Build Appsで作ったアプリケーションを使用するユーザーとなります。そのため、このユーザーは両方のアプリを使用する権限が必要となります。</P><P>かなりシームレスに連携ができるようになりました。</P><P>SAP Build Process Automationの欠点としてフォームの自由度が低いというものがあります。例えば申請などで、申請内容を大分類→中分類→小分類とたどって項目を選択させようと言うことは残念ながらSAP Build Process Automationではできません。この手の作業は大体は最初の1枚目のトリガーとなるフォームで行うことがほとんどです。このようなときトリガーフォームの代わりとしてSAP Build Appsで作ったアプリを使うことでより柔軟な申請フォームとして使用することができます。</P><P>ぜひこの機能を活用してみてください。</P> 2024-04-26T08:04:11.506000+02:00 https://community.sap.com/t5/human-capital-management-blogs-by-members/free-sap-build-account-error-quot-creation-failed-couldn-t-create-an/ba-p/13683918 Free SAP Build account error "Creation Failed: Couldn't create an instance..." 2024-04-26T18:12:58.540000+02:00 FrancoTornaghi1 https://community.sap.com/t5/user/viewprofilepage/user-id/41691 <P>When trying to create a free SAP Build free account, the error "Creation failed" stop the process.&nbsp;</P><P>This issue is due to the Sub-account doesn't find an Identity Provider to make everything works.</P><P>To solve it:</P><P>1. Go to your Trial subaccount &gt; Service tab (side panel) &gt; Instance and Subscriptions &gt; <STRONG>Create</STRONG></P><P><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="create button.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102474i8C0AFDD77EDE8CE8/image-size/large?v=v2&amp;px=999" role="button" title="create button.png" alt="create button.png" /></span>2.&nbsp;</STRONG>A new windows will open. Then we will install the Cloud Identity Services into our subaccunt. This will help us to have an Identity tool to make everything works.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ias selection.png" style="width: 970px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102475iDD3D9DDFD20EE392/image-size/large?v=v2&amp;px=999" role="button" title="ias selection.png" alt="ias selection.png" /></span></P><P>You will receive a welcome email from IAS. Follow the IAS procedures (not described at this bolg)</P><P>3. Once the Cloud Identity service is installed you can try to reinstall your free SAP Build application.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cloud installed.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102477i0ECF3AE12E543A28/image-size/large?v=v2&amp;px=999" role="button" title="cloud installed.png" alt="cloud installed.png" /></span></P><P>If you liked it give me a Kudo!</P> 2024-04-26T18:12:58.540000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-build-apps%E3%81%A8sap-build-process-automation%E3%81%AE%E9%80%A3%E6%90%BA-%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%AE%E5%A0%B4%E5%90%88/ba-p/13683267 SAP Build AppsとSAP Build Process Automationの連携(フォームトリガーの場合) 2024-04-30T06:25:48.082000+02:00 NaotoSakai https://community.sap.com/t5/user/viewprofilepage/user-id/142482 <P>※この記事を書いている間にSAP Build Appsに新しい機能がリリースされました。通常はそちらの方法をおすすめします。そちらの機能の解説は<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-build-apps-%E3%82%88%E3%82%8A%E7%B0%A1%E5%8D%98%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9Fsap-build-process-automation%E3%81%A8%E3%81%AE%E9%80%A3%E6%90%BA/ba-p/13682980" target="_blank">こちら</A>です。<BR />この記事は<STRONG>SAP Build Process Automation側でプロセスのトリガーとしてフォームを使用している場合、そしてそれをAPIトリガーに変更することが困難な場合に適用できる方法</STRONG>としてご紹介したいと思います。<BR /><BR />SAP Build AppsのアプリケーションからSAP Build Process Automationのワークフローを呼び出したいというときがあります。結論から言うとこれはワークフローをAPI経由で起動させることで可能です。これを行うには前準備作業が必要です。<BR /><BR /></P><H2 id="toc-hId-993477028">前準備作業</H2><P><STRONG>1.SAP Build Process Automationのサービスインスタンスの有無</STRONG><BR /> SAP Build Process Automationのサービスインスタンスが作成されているか確認してください。サブスクリプションでは有りません。サービスインスタンスが作成されているかはBTPコックピットでサブアカウントのInstances&nbsp;<SPAN class="">and Subscriptionsからインスタンスの一覧を確認します。<STRONG>サブスクリプションの一覧では有りません。インスタンスの一覧です。</STRONG><BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714105109930.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102107i2B59A6A06C158115/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714105109930.png" alt="NaotoSakai_0-1714105109930.png" /></span><BR />ここにService:SAP Build Process Automation、Plan:Standardが存在すればインスタンスが存在していることになります。存在しない場合はCreateボタンから</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714105272941.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102108iFCB8EE37DC83B51D/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714105272941.png" alt="NaotoSakai_1-1714105272941.png" /></span><BR />PlanでInstancesのStandardを選択してインスタンスを作成してください。</P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%">※なお、このインスタンスの料金は「サブスクリプションに付随するもの」という扱いで無料です。このインスタンスはSAP Build Process Automationに対してAPIでのアクセスを可能にするものです。よってSAP Build Process Automationがサブスクライブされていないと意味がありません。</TD></TR></TBODY></TABLE><P>インスタンスを作成したらサービスキーを発行してください。サービスキーの中身を2で使用します。</P><P><STRONG>2.SAP Build Process AutomationのAPIへアクセスするDestinationの作成</STRONG><BR /><SPAN>1で作成したインスタンスのサービスキーの情報を利用してBTPコックピットのサブアカウントDestinationを作成する必要があります。</SPAN></P><P style=" padding-left : 30px; "><SPAN>Name: &lt;自由です&gt;</SPAN></P><DIV><DIV style=" padding-left : 30px; "><SPAN>Type:HTTP</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Description:</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>URL: &lt;1のサービスキー情報のendpoints/apiの値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Proxy Type:</SPAN><SPAN>Internet</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Authentication: OAuth2JWTBearer</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Client ID: &lt;1のサービスキー情報のuaa/clientidの値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Client Secret:&nbsp;&lt;1のサービスキー情報のuaa/</SPAN><SPAN>clientsecret</SPAN><SPAN>の値&gt;</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Token Service URL Type: Dedicated</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Token Service URL:&lt;1のサービスキー情報のuaa/urlの値に/oauth/tokenを追加&gt;<BR /></SPAN></DIV><DIV><SPAN>Additional Propertiesとして下記を設定します。</SPAN></DIV><DIV><DIV><DIV style=" padding-left : 30px; "><SPAN>HTML5.DynamicDestination</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>WebIDEEnabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>MobileEnabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>sap.processautomation.enabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>Appgyver.Enabled</SPAN><SPAN>=true</SPAN></DIV><DIV style=" padding-left : 30px; "><SPAN>sap.applicationdevelopment.actions.enabled</SPAN><SPAN>=true</SPAN></DIV></DIV></DIV></DIV><P>注意1:正しくはDestinationは必須ではありません。しかし、Destinationを使用しないと認証部分をBuild Apps側でロジックとして書かなければならなくなります。これは結構めんどくさい作業です。Destinationを使用することでそれらの作業をスキップすることが可能で、APIを呼び出すだけとすることができます。<BR />注意2:<A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-build-apps-%E3%82%88%E3%82%8A%E7%B0%A1%E5%8D%98%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9Fsap-build-process-automation%E3%81%A8%E3%81%AE%E9%80%A3%E6%90%BA/ba-p/13682980" target="_blank">こちら</A>の記事で作成した/あるいはブースターで作成されたsap_process_automation_service_user_accessというDestinationが存在する場合、それをそのまま使用することができます。<BR /><BR /></P><H2 id="toc-hId-796963523">SAP Build Process Automation側の作業</H2><P>フォームをトリガーとしたプロセスを作成してください。既存のプロセスでも良いでしょう。特に制限はありませんが、強いてあげると、ファイル添付機能を持ったフォームは少々厄介です。これは後で別のブログで解説しようかと思いますので今のところはこの記事に沿った作業を行う場合はファイル添付を行うフォームをトリガーフォームとして使用しないようにしてください。</P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%"><P>厄介な部分として、SAP Build Process Automationのファイル添付機能はSAP Document Management Serviceにファイルが保存されます。SAP Build Appsをトリガーとして使用する場合、SAP Build AppsからDocument Management Serviceにアクセスしてファイルを保管する事が必要です。この部分だけで1本記事が書けるレベルですので別解説とさせていただければと思います。</P></TD></TR></TBODY></TABLE><P>そして、ポイントとなる作業ですが、まずこのプロセスを一度普通に、トリガーフォームから開始してください。トリガーフォームの全ての項目に実際に値を入れて送信してください。<BR />その後、SAP BuildのロビーからMonitoring→Process and Workflow instancesと進み、実行しているワークフローのインスタンスを確認し、Contextの情報を確認します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714116424474.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102208i8A9A076F1F3E0973/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714116424474.png" alt="NaotoSakai_0-1714116424474.png" /></span></P><P>startEventというエントリの下にある項目に注目です。これがトリガーフォームで渡された値です。<BR />これと同じ形式の情報をSAP Build Apps側からSAP Build Process AutomationのAPIを実行する際に付与する必要がありますのでコンテキスト情報をコピーしておいてください。<BR />SAP Buildのロビーを開きましたのでもう一つ、同じくMonitoringから<SPAN>Process and Workflow Definitionsと進み、連携させるワークフローを選択してIDという項目の値を保管しておいてください。この値もAPI実行時に必要です。<BR /></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714116965132.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102211i616F9178628E65D0/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714116965132.png" alt="NaotoSakai_1-1714116965132.png" /></span></P><H2 id="toc-hId-600450018">SAP Build Apps側での設定</H2><P>Destinationを使用するためBTP認証は必須となります。<BR />ワークフローを実行するAPIはREST形式で実行しますので</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714441977707.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103551iFA339755A5830A1E/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714441977707.png" alt="NaotoSakai_0-1714441977707.png" /></span></P><P>DATAタブでのデータ連携設定ではSAP Build Apps classic data entitiesの下にあるSAP BTP Destination REST API Integrationを選択します。<BR />Data entity nameは任意に設定し、BTP Destination nameは前準備2で準備したDestinationを選択します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714442286574.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103552iD5CE0078264E0DBC/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714442286574.png" alt="NaotoSakai_1-1714442286574.png" /></span></P><P>ここで、好みの問題がありますが、このAPIを呼び出すときに引数として明確に扱われるようにResourceSchemaを設定します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_2-1714443051507.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103553i95C48E9CD015ABDB/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_2-1714443051507.png" alt="NaotoSakai_2-1714443051507.png" /></span></P><P>設定する内容はSAP Build Process Automation側でワークフローを実行し、取得したコンテキストのstartEventフィールドに含まれているものを設定します。例として</P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%">"startEvent": {<BR />"itemNumber": "AAAA",<BR />"itemName": "LAPTOP1",<BR />"price": 799.99<BR />}</TD></TR></TBODY></TABLE><P>このようにstartEventフィールドに有りましたのでこの3つを設定します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_3-1714443909336.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103557iF86C79D9289F2D6D/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_3-1714443909336.png" alt="NaotoSakai_3-1714443909336.png" /></span></P><P>データ型はSAP Build Process Automationのワークフロー側に合わせる必要があります。トリガーフォームでのフィールドのデータ型を参考にして設定してください。</P><P>ワークフローを実行するAPIは<A href="https://api.sap.com/api/SPA_Workflow_Runtime/path/post_v1_workflow_instances" target="_blank" rel="noopener noreferrer">https://api.sap.com/api/SPA_Workflow_Runtime/path/post_v1_workflow_instances</A><BR />の/v1/workflow_instancesです。(複数ありますが、start a new instanceと書いてあるものです。)<BR />これはPOSTで実行することが求められていますので、Buils Apps側ではCreateメソッドを用いることにします。create横のスイッチボタンを有効化します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_4-1714444802633.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103566iC41A713B8C59EAAC/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_4-1714444802633.png" alt="NaotoSakai_4-1714444802633.png" /></span></P><P>APIとしては/v1/workflow_instanceを呼び出すことになるのですが、エンドポイントとしては/public/workflow/rest/v1/workflow-instancesとなります。<SPAN>Relative path and queryに追加のパラメータを設定し、Static Textとして/public/workflow/rest/v1/workflow-instancesを追加します。</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_0-1714449665776.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103599i468A450FFCDB25EE/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_0-1714449665776.png" alt="NaotoSakai_0-1714449665776.png" /></span></P><P>このAPIはBODYの内容をJSONで送信する必要がありますのでRequest HeadersにContent-Type : application/jsonを設定します。これはRequest Headersの設定で</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_6-1714445268503.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103573iD777D3AF731EAFA5/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_6-1714445268503.png" alt="NaotoSakai_6-1714445268503.png" /></span></P><P>List of Valuesの方を選択し</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="スクリーンショット 2024-04-30 10.47.00.png" style="width: 390px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103572iB0A19E895D00551F/image-dimensions/390x330?v=v2" width="390" height="330" role="button" title="スクリーンショット 2024-04-30 10.47.00.png" alt="スクリーンショット 2024-04-30 10.47.00.png" /></span></P><P>直接書き込むことで設定します。</P><P>BODY部分はJSONで送信する必要があります。確実にJSONで送信されるように<BR />Request Body Mapperで式を用い、ENCODE_JSON関数を用いて設定します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_7-1714445896779.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103585iE6DC565E52A06888/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_7-1714445896779.png" alt="NaotoSakai_7-1714445896779.png" /></span></P><P>以下のように設定します。書式としては</P><TABLE border="1" width="100%"><TBODY><TR><TD width="100%">ENCODE_JSON({"definitionId":"&lt;事前に取得したワークフローのIDの値&gt;","context": {&lt;startEventに存在する全てのパラメータ&gt;}})</TD></TR></TBODY></TABLE><P>とおぼえておけばよいでしょう。ResourceSchemaで設定した変数はquery.record.&lt;変数名&gt;で参照することができます。<BR />ポイントとして、ENCODE_JSON関数は中で使用された変数のデータ型までは見てくれないようです。そのため、数値型を使用する場合はスクリーンショットのようにNUMBER関数を用いて明示的に数字型として指定して下さい( "price":NUMBER(query.record.price) )。これを行わないと文字列としてダブルクォーテーションで囲まれた状態でAPIに引数として渡され、ワークフローの実行時にデータ型が合わないというエラーになります。</P><P>これでワークフローを実行するためのデータ連携設定が完了しました。<BR />あとはこれを呼び出すだけとなります。<BR />ボタンなどにロジックを作成します。</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_1-1714450375078.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103602iCB40BD20FE6394D7/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_1-1714450375078.png" alt="NaotoSakai_1-1714450375078.png" /></span></P><P>Create Recordロジックを接続し、</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_2-1714450459037.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103603iE8AE30BBAEB7F098/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_2-1714450459037.png" alt="NaotoSakai_2-1714450459037.png" /></span></P><P>プロパティのResource Nameとして先ほど作成したデータ連携設定のものを指定します。Resource Schemaを設定してあればRecordの設定で</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_3-1714450541102.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103604i6716231539B50168/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_3-1714450541102.png" alt="NaotoSakai_3-1714450541102.png" /></span></P><P>このようにわかりやすくパラメータを指定できるので便利です。<BR />Input Fieldなどの値をここに設定することでそれが送信されて、SAP Build Process Automationのワークフロープロセスが起動します。</P><P>SAP Build Process Automation側から見るとトリガーフォームがBuild Appsのアプリケーションに入れ替わった形となります。したがってプロセス上はトリガーフォームの次のロジックから動作し始めるということになります。</P><P>SAP Build Process Automationのフォームでは不可能なこと、例えば</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="NaotoSakai_4-1714450882880.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103610iE1E49F266137D477/image-size/medium?v=v2&amp;px=400" role="button" title="NaotoSakai_4-1714450882880.png" alt="NaotoSakai_4-1714450882880.png" /></span></P><P>このようなカテゴリを選んで製品を絞り込んで申請する、大分類→中分類→小分類→製品と絞り込みたいという場合、トリガーをBuild Appsで作成するという手法を取ることができます。</P><P>SAP Build Process Automationのフォームにより自由度を持たせたいという場合はSAP Build Appsの使用もぜひ検討して下さい。</P> 2024-04-30T06:25:48.082000+02:00 https://community.sap.com/t5/sap-builders-blog-posts/april-citizen-developer-challenge-sap-build-apps-thanks/ba-p/13688091 April (Citizen) Developer Challenge – SAP Build Apps - THANKS! 2024-05-01T08:04:50.108000+02:00 Dan_Wroblewski https://community.sap.com/t5/user/viewprofilepage/user-id/72 <P>It's May Day, which can only mean 1 thing ... the April challenge for SAP Build Apps is over&nbsp;<span class="lia-unicode-emoji" title=":frowning_face:">☹️</span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2024-05-01_08-55-50.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104283i20B0EA938258E677/image-size/large?v=v2&amp;px=999" role="button" title="2024-05-01_08-55-50.png" alt="2024-05-01_08-55-50.png" /></span></P><P><SPAN>I hope you learned a lot, and had a little bit of fun along the way. Thanks for participating, and for the discussions as we together solved the puzzles, and thanks to my colleagues&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/148298">@eshrinivasan</a><SPAN>&nbsp;and&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/156020">@Rekha_DR</a><SPAN>&nbsp;for creating the last 2 challenges.</SPAN></P><P>Everyone who completed at least one of the challenges will get a badge (similar to the one below).&nbsp;</P><UL><LI><SPAN>Task 0:</SPAN><SPAN> </SPAN><A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-0/m-p/13654312" target="_blank"><SPAN>Set Up SAP Build Apps</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Task 1: </SPAN><A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-1-s-4hana-odata/m-p/13657249" target="_blank"><SPAN>OData </SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Task 2: </SPAN><A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-2-formulas/m-p/13665194" target="_blank"><SPAN>Formulas</SPAN></A><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Task 3: </SPAN><A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-3/m-p/13672860" target="_blank"><SPAN>Theming, Styling and Layout Design </SPAN></A><SPAN>         </SPAN><SPAN>&nbsp;</SPAN></LI><LI><SPAN>Task 4: <A href="https://community.sap.com/t5/sap-builders-discussions/april-citizen-developer-challenge-sap-build-apps-task-4-mobile-device/td-p/13680103" target="_self">Mobile device capabilities</A> (this post)</SPAN><SPAN>&nbsp;</SPAN></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Dan_Wroblewski_0-1714540645484.png" style="width: 96px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104258i1E481E2210A532F7/image-dimensions/96x96?v=v2" width="96" height="96" role="button" title="Dan_Wroblewski_0-1714540645484.png" alt="Dan_Wroblewski_0-1714540645484.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2023-12-24_18-40-33.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104261i376A76CC013E40F1/image-size/large?v=v2&amp;px=999" role="button" title="2023-12-24_18-40-33.png" alt="2023-12-24_18-40-33.png" /></span></P><P>Some stats:</P><UL><LI>35,000 views of the challenge post (combined)</LI><LI>397 replies (not written by me) + 65 kudos on the posts</LI><LI>78 people participated in the challenges</LI><LI>63 people completed at least 1 challenge successfully<UL><LI>16 people completed all 5 challenges</LI><LI>14 people completed 4 of the challenges</LI><LI>3 people completed 3 of the challenges</LI><LI>5 people completed 2 of the challenges</LI><LI>25 people completed 1 challenge</LI></UL></LI></UL><P>A shout-out to the 16 people who completed all the challenges:<BR /><BR /></P><TABLE border="1" width="100%"><TBODY><TR><TD width="50%"><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/17170">@M-K</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/148321">@stickman_0x00</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/882058">@beny_illyes_mhp</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/120859">@Ruthiel</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/9180">@geek</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/171965">@RameshShrestha</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/107">@ajmaradiaga</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/12573">@nex</a>&nbsp;</TD><TD width="50%"><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/10951">@VinayKumawat</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/150643">@narendran_nv</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/157865">@SMaaLL</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/861871">@jawahar_bosch</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/45643">@Alpesa1990</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/12314">@tobiasz_h</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/43560">@YogSSohanee</a>&nbsp;<BR /><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/1437709">@Jonathan_Fr</a>&nbsp;</TD></TR></TBODY></TABLE><P>To keep track of the stats for the contest and to check whether people submitted the correct hash, we created an app, in SAP Build Apps, of course, which included:</P><UL><LI>Mash-up of 2 APIs (circumventing CORS with destinations)</LI><LI>Complex logic (including looping) to check all responses and then check hashes, all without JavaScript</LI><LI>Formatted layout to easily show results</LI><LI>Download of CSV for awarding badges</LI></UL><P>This is a classic case of a citizen developer being able to create for themselves an app to help with their day-to-day work. We created the basic app in about a week, and embellished it throughout April. I will try to write a separate blog about the app.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-05-01_08-42-09.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104270i37D7F7FE9865E541/image-size/large?v=v2&amp;px=999" role="button" title="2024-05-01_08-42-09.png" alt="2024-05-01_08-42-09.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-05-01_08-43-43.png" style="width: 802px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104273i36301DDED00B0F89/image-dimensions/802x389?v=v2" width="802" height="389" role="button" title="2024-05-01_08-43-43.png" alt="2024-05-01_08-43-43.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2023-12-24_18-40-33.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104261i376A76CC013E40F1/image-size/large?v=v2&amp;px=999" role="button" title="2023-12-24_18-40-33.png" alt="2023-12-24_18-40-33.png" /></span></P><P>To be honest, I thought I was showing you guys a thing or two about SAP Builds Apps, but found I learned so much about SAP Build Apps during April, including:</P><UL><LI>How to get around CORS with destination</LI><LI>How to get around CORS with headers (including pre-flight conditions)</LI><LI>The 3 ways to open a web page in an app</LI><LI>How to get the current users email (app and mobile)</LI><LI>How to get the user's current location</LI><LI>How to embed a map or YouTube video in a web app</LI><LI>How to work with audio</LI><LI>How to create a custom menu</LI><LI>The 4 ways for spacing out components</LI><LI>The default Authorization header sent when creating REST data resources with destinations (that I didn't realize was ruining my API call)</LI><LI>The 2 ways for navigating</LI><LI>How to use containers for layout</LI><LI>How to do looping in logic flows</LI><LI>How to download a CSV file</LI><LI>... and a few more things</LI></UL><P>Thanks for participating – I hope you enjoyed it.</P><P>Till the next challenge <span class="lia-unicode-emoji" title=":grinning_cat_face:">😺</span></P> 2024-05-01T08:04:50.108000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-web-app-in-sap-build-work-zone-standard/ba-p/13685621 Consuming SAP with SAP Build Apps - Web App in SAP Build Work Zone, standard edition 2024-05-02T03:19:46.516000+02:00 LudoNoens https://community.sap.com/t5/user/viewprofilepage/user-id/15040 <P>This blog post is the fourth in a series of posts that cover the connectivity options available for SAP Build Apps to interface with SAP systems. The series will cover connecting SAP Build Apps with the following:</P><OL><LI>CAP-based services</LI><LI>S/4HANA systems</LI><LI>ABAP systems</LI></OL><P>The format of this post is similar to a tutorial. However, I'll provide more comprehensive details, tips and the opportunity for you to provide feedback. Based on the feedback we will be able to adjust and enhance this post and future parts of the series, and might even be able to improve the products involved as well.&nbsp;<BR /><BR /></P><H1 id="toc-hId-864457605">Introduction </H1><P>Before we get into the details of setting up connections between SAP Build Apps and SAP Systems, I intend to introduce a couple of SAP technology components in each post that are relevant for the use cases covered in the series.&nbsp;<BR /><BR /></P><H2 id="toc-hId-797026819">SAP Build Work Zone</H2><P>SAP Build Work Zone is a digital workplace experience that enables users to build and customise business sites that provide centralised access to business application information from any device.</P><P>Key capabilities are:</P><UL><LI>Quickly create corporate websites providing secure and central access for apps, tasks, notifications, information and communication.</LI><LI>Easily connect with SAP and third-party enterprise applications.</LI><LI>Provide a personalised and role-based user experience.</LI><LI>Provide an extensible framework for development, customisation and branding.</LI></UL><P>The service is currently available in 2 editions:</P><OL><LI>Standard edition - this is basically the same as what we previously called the SAP Launchpad service. This is the edition we will use in this blog post. It has a strong focus on integration of business applications.</LI><LI>Advanced edition - this is what we previously referred to as the SAP Work Zone service. It includes additional capabilities on top of what is available in the standard edition. The information in this blog post can be applied in this edition as well. You typically subscribe to only one edition. The advanced edition adds capabilities around workspaces, knowledge management and user engagement.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_2-1714381872196.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103095i21AEB1EAB4759B98/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1714381872196.png" alt="LudoNoens_2-1714381872196.png" /></span></P><H2 id="toc-hId-600513314">MTAR</H2><P>A multitarget application (MTA) is comprised of multiple parts (also referred to as "modules"), created with different technologies and deployed to different targets, but with a single, common lifecycle.</P><P>A multitarget application archive (MTAR) is an archive that contains a deployment descriptor, configuration files, and module and resource binaries. The archive follows the JAR file specification. A JAR file is essentially a zip file that contains an optional META-INF directory.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1714474595732.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103853i0DE6AB7E0317A327/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1714474595732.png" alt="LudoNoens_0-1714474595732.png" /></span></P><P>An example relevant for the use cases in this blog series is an MTAR created in SAP Build Code that contains the Destination, a node.js based CAP service, and a HANA database deployment application for setting up the persistency layer. All are deployed during a single deployment action, for a specific version of the archive.</P><P>&nbsp;</P><H1 id="toc-hId-274917090">Use case D : Consume the CAP service with a web app provided in SAP Build Work Zone</H1><P>For this use case, we will make use of the previously created basic CAP service in <FONT color="#FF00FF"><STRONG>SAP Build Code</STRONG></FONT>. In the previous blog post, we have created dedicated mobile apps for the iOS and Android platforms to consume this service with SAP Build Apps. We will now use the exact same UI application to build and deploy a web application to SAP Business Technology Platform. After that, we will configure SAP Build Work Zone&nbsp;to provide access to the application.<BR /><BR /></P><H2 id="toc-hId-207486304">Solution diagram</H2><P>Like in the <A title="Consuming SAP with SAP Build Apps - Mobile apps for iOS and Android" href="https://community.sap.com/t5/technology-blogs-by-sap/consuming-sap-with-sap-build-apps-mobile-apps-for-ios-and-android/ba-p/13667638" target="_blank">previous blog post</A>, we will start with a quick look into what needs to change in our solution overview to accommodate for web apps. Building upon the solution diagram created earlier, we now add <STRONG>SAP Build Work Zone, standard edition</STRONG>. The design time environment of SAP Build Apps will deploy the web application to the HTML5 Application Repository service. The application is made available to end users through <STRONG>SAP Build Work Zone</STRONG>, which is configured separately.&nbsp;End users can access the web app from any device. The web app authenticates with the Identity Authentication service (IAS) and accesses data via a <STRONG>Destination</STRONG>. Only users who have the correct Roles assigned will be able to access the data provided in the CAP-based data service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_1-1714476179455.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103874iEF07E53A324296B8/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1714476179455.png" alt="LudoNoens_1-1714476179455.png" /></span></P><H2 id="toc-hId-10972799">Building the web app in SAP Build Apps</H2><P>As the application we have developed so far is actually a cross-platform app, we don't need to change anything in the app itself. We simply need to build it for a different runtime. And for this, we will again make use of the cloud build service we have utilised in the previous blog post.</P><P>Starting in SAP Build Apps, navigate to the Launch tab and select Open build service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103580i19176D7F9385B107/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic.png" alt="Pasted Graphic.png" /></span></P><P>Next, select CONFIGURE for the Web App.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Web App.png" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103584iE2F9C931B67C7FBA/image-size/small?v=v2&amp;px=200" role="button" title="Web App.png" alt="Web App.png" /></span></P><P>For the Bundle Settings, select MTAR and click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 3.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103634i5FBF73F69CF1D2DA/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 3.png" alt="Pasted Graphic 3.png" /></span></P><P>In the Image Assets tab, upload a 32 x 32 pixel icon image (PNG file) for the Favicon and click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 4.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103638i59CBC4BBC5F887C4/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 4.png" alt="Pasted Graphic 4.png" /></span></P><P>On the Plugins tab, you can add React Native plugins for your app. For our app you can see a few plugins have been selected by default, based on the functionality we have already added in the app. We can use the default selection in this case and click NEXT.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 5.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103641iD7E728FB352D167C/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 5.png" alt="Pasted Graphic 5.png" /></span></P><P>Now that we have completed configuring the web app build settings, select BUILD.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt=" BUILD.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103642iA535FA5A8D22815A/image-size/medium?v=v2&amp;px=400" role="button" title=" BUILD.png" alt=" BUILD.png" /></span></P><P>Select MTAR and the Client runtime version. Provide a version number for your application. Select BUILD.</P><P>Once the build is done, you will be able to download the MTAR file, or simply deploy the MTAR.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Web App.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103643i739B71256A25955C/image-size/medium?v=v2&amp;px=400" role="button" title="Web App.png" alt="Web App.png" /></span></P><P>Select DEPLOY MTA.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103644i22158E77B633DB6C/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 1.png" alt="Pasted Graphic 1.png" /></span></P><P>Select the Cloud Foundry API endpoint of your target subaccount. In our case, we will use the same subaccount as the one we have set up in the first blog post of this series. </P><P>Log in to Cloud Foundry and to get authorization to perform deployment to SAP Business Technology Platform.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103645i16C4AC1C9E878506/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 2.png" alt="Pasted Graphic 2.png" /></span></P><P>Once you've selected your target Cloud Foundry organisation and space, select DEPLOY MTA TO &lt;your space name&gt;&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1714460808947.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103649i08132689A0B2A200/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1714460808947.png" alt="LudoNoens_0-1714460808947.png" /></span></P><P>The deployment process will start and your web application will be deployed to the HTML5 Application Repository Service. You can track the progress in the logs.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_1-1714461015698.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103651i0BF76CF8E94D05FC/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_1-1714461015698.png" alt="LudoNoens_1-1714461015698.png" /></span></P><P>Once the deployment finishes, the URL to your application will be shown.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_2-1714461129985.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103654iB4BE9F8A77AF317C/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_2-1714461129985.png" alt="LudoNoens_2-1714461129985.png" /></span></P><P>When you try to open the URL, you are quite likely greeted with the message "Internal Server Error". Looking into details in your browser's developer tools, you can find a response code 500. This indicates something has not been set up correctly (yet). Not to worry ... we'll fix this in the following steps.</P><P>If your subaccount was correctly configured, then you should actually see the web app.</P><P>&nbsp;</P><H2 id="toc-hId--185540706">Provide access to the web app in SAP Build Work Zone</H2><P>We are now going configure SAP Build Work Zone. There are multiple ways to access this. In the context of SAP Build, we can start from the SAP Build landing page. On the landing page, select the Create button.</P><P>What would you like to do ? Well, we'd like to Build a Business Site !</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_3-1714461673821.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103658i4E87518B850778E3/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_3-1714461673821.png" alt="LudoNoens_3-1714461673821.png" /></span></P><P>Select Configure Site in Admin Console.</P><P>Note that in the screenshot below the tile "Manage Workspages and Workspaces" is marked as 'Not Subscribed'. This is because I am using the standard edition of SAP Build Work Zone, which was subscribed through the "Get started with SAP Build Apps" booster. If you have a subscription to the Advanced Edition, then this tile can be selected as well.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Which site would you like to configure.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103659iAA9CFECDBBED8631/image-size/large?v=v2&amp;px=999" role="button" title="Which site would you like to configure.png" alt="Which site would you like to configure.png" /></span></P><P>Alternatively, if you are not using SAP Build, you can configure SAP Build Work Zone by opening the link in your subaccount's cockpit.</P><P>As prerequisite, please check whether your user has the Role <STRONG>Launchpad_Admin</STRONG> assigned.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Description.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103670i65BEDB5F9A45006A/image-size/large?v=v2&amp;px=999" role="button" title="Description.png" alt="Description.png" /></span></P><P>Once configured (and you might need to log out &amp; log in to activate that Role), navigate to the subscriptions and open the link to SAP Build Work Zone, standard edition.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Subscriptions (7).png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103671i05C5DBDB69CA3C88/image-size/medium?v=v2&amp;px=400" role="button" title="Subscriptions (7).png" alt="Subscriptions (7).png" /></span></P><H3 id="toc-hId--252971492">SAP Build Work Zone configuration</H3><P>Now, let's set up a business site that includes our app. Select Create Site.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 10.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103672i02B982B111FA52B4/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 10.png" alt="Pasted Graphic 10.png" /></span></P><P>Provide a name for the Site and click Create.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Create Site.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103673i5070E08D3640CBFE/image-size/medium?v=v2&amp;px=400" role="button" title="Create Site.png" alt="Create Site.png" /></span></P><P>Navigate to the Content Manager tab and select the Content Explorer button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 12.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103675iF7564FBAF7401889/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 12.png" alt="Pasted Graphic 12.png" /></span></P><P>The Content Explorer will open.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 13.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103676iC005422078CB092D/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 13.png" alt="Pasted Graphic 13.png" /></span></P><P>Click on HTML5 Apps to see which apps have been deployed to the HTML5 Application Repository. You will see the app we've created in SAP Builds Apps. Besides that, you will also notice the Launchpad for the products service we've deployed from SAP Build Code.&nbsp;Select the app created and deployed with SAP Build Apps and click the Add button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 15.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103679iCCEC71C2888AEEAA/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 15.png" alt="Pasted Graphic 15.png" /></span></P><P>Going back to the Content Manager, select the Create button and create a new group. Give the group a name and assign the previously added app to the group.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 16.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103680i78BBD36001D1AC2C/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 16.png" alt="Pasted Graphic 16.png" /></span></P><P>Go back to the Content Manager and select the Everyone Role. Enable the previously selected app to be accessible for everyone. Note that this will give users access to the web app itself. Access to the data service is still limited to those having the Role we have configured in the second blog post of this series.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 17.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103681i95C72FA87AD0FCBD/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 17.png" alt="Pasted Graphic 17.png" /></span></P><H3 id="toc-hId--449484997">&nbsp;</H3><H3 id="toc-hId--645998502">Resolving the "Internal Server Error"</H3><P>And now for the previously mentioned 500 response code, resulting in "Internal Server Error". This happens when the authentication mechanism for SAP Build Work Zone and SAP Cloud Portal service uses XSUAA, while your subaccount is actually configured to use a custom IdP (IAS). To switch to Identity Authentication, navigate to the Settings, select the Identity Authentication tab and click Enable (please read the notes before doing this, and confirm that you've completed the required trust configuration).&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pasted Graphic 18.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103682iE407128ADE91B264/image-size/large?v=v2&amp;px=999" role="button" title="Pasted Graphic 18.png" alt="Pasted Graphic 18.png" /></span></P><P> </P><H2 id="toc-hId--624340369">Accessing the web app in SAP Build Work Zone</H2><P>The link to the site can be found on the Site Directory.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_4-1714466297804.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103703iB33EBA4DF4A656A8/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_4-1714466297804.png" alt="LudoNoens_4-1714466297804.png" /></span></P><P>Depending on how you've configured your site in SAP Build Work Zone, it might look a bit different. But you should have the tile of your app visible on your site.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_5-1714466445212.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103705i4A01EE2CA9E47334/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_5-1714466445212.png" alt="LudoNoens_5-1714466445212.png" /></span></P><P>Clicking on the tile will open our web app. Notice the SAP BTP authentication happening before opening the app. Also note that you can open the URL on any device; on mobile as well as desktop devices.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2024-04-30_16-59-11 (4).gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103730iD744402C3B843F55/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-30_16-59-11 (4).gif" alt="2024-04-30_16-59-11 (4).gif" /></span></P><P>In case you are wondering where the icon ended up: check your web browser's tab.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_3-1714476614589.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103878iA53B5CCEE81B1F5D/image-size/medium?v=v2&amp;px=400" role="button" title="LudoNoens_3-1714476614589.png" alt="LudoNoens_3-1714476614589.png" /></span><BR />Alternatively, you can also open the URL provided in SAP Build Apps, or find a link to your app in your subaccount, under the tab HTML5 Applications.&nbsp;<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LudoNoens_0-1714557961791.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/104351i4B9F402C0A4143CA/image-size/large?v=v2&amp;px=999" role="button" title="LudoNoens_0-1714557961791.png" alt="LudoNoens_0-1714557961791.png" /></span></P><H2 id="toc-hId--820853874">Summary – use case D</H2><P>In this use case we have built and deployed our cross-platform app as a web app to SAP BTP. Building and deploying the app in the cloud is easy, as you don't need to install any tools on your local development machine.</P><P>SAP Build Apps deploys the application to the HTML5 Application Repository service. Using the web app, end users authenticate with IAS. Only users who have the correct Role assigned will be able to access the data provided in the CAP-based data service, which we can access through the BTP Destination.</P><P>Access to the app requires configuration of the Identity Authentication in the subaccount.</P><P>We have set up a simple business site in SAP Build Work Zone, to provide end-users easy access to the app.</P><P>And again, all the above was done without writing a single line of code.<BR /><BR /></P><H1 id="toc-hId--723964372">What's next</H1><P>In the next blog post, we will continue on the connectivity topic and connect to an S/4HANA system.</P> 2024-05-02T03:19:46.516000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/10-ways-to-reshape-your-sap-landscape-with-sap-business-technology-platform/ba-p/13691498 10+ ways to reshape your SAP landscape with SAP Business Technology Platform – Blog 7 2024-05-06T09:21:24.167000+02:00 Philipp_Z https://community.sap.com/t5/user/viewprofilepage/user-id/5807 <H1 id="toc-hId-865260264">Blog 7: The Role of Automation for Transformation <SPAN>Projects</SPAN></H1><P>In times of constant change, quickly emerging demands for digitalization and competitive markets, companies are looking for ways to further optimize their processes. Consequently, many organizations have turned to automation technologies, such as RPA tools, to automate mundane and repetitive tasks. The benefits of automation are quite obvious: Automated processes are faster, less prone to error and people can concentrate on more complex, higher value-added activities.</P><P>Especially for activities with high volumes the benefits can be huge. Let me illustrate this with an example: A few weeks ago, I talked to a company from the consumer products industry. While a lot of transactions with its suppliers run fully digital via B2B integration, they still receive roughly 4.000 documents per month such as invoices and purchase orders via email. Let us assume you need on average 2 minutes for processing one document, that is: Extracting and verifying the data, collecting approvals, creating it in the ERP system and so on. In total, this sums up to over 130 hours of manual work per month. Applying RPA tooling and AI for document understanding can drastically speed up the processing of these tasks, thereby freeing people from tedious copy &amp; paste or data entry and export activities.</P><H2 id="toc-hId-797829478">Why looking at automation only is not enough</H2><P>To streamline their processes, many companies have also started looking into other technologies: Besides RPA, also workflow engines, integration middleware as well as tools for process mining and process analytics have risen. One big downside is that these technologies often are not well integrated and hence customers are struggling with setting up an aligned end-to-end approach.</P><P>With our <A href="https://www.sap.com/products/technology-platform/enterprise-automation.html" target="_blank" rel="noopener noreferrer">Enterprise Automation</A> offering we want to address this and provide a unified and interlinked approach. As described in the <A href="https://community.sap.com/t5/technology-blogs-by-sap/introducing-new-capabilities-for-enterprise-automation/ba-p/13557180" target="_blank">blog article</A> by Angela Harvey, this concept is based on the combination of 3 products:</P><UL><LI>SAP Integration Suite: You cannot automate what you can’t connect to. Our suite provides unparalleled connectivity and integration for a variety of scenarios. Be it SAP / Non-SAP, Cloud / on-Premise applications, B2B, B2G, API-led or event-driven scenarios.</LI><LI>SAP Signavio: Before you optimize, you might need to understand where to start and uncover inefficiencies first. With SAP Signavio you can analyze, model and govern your business processes to drive operational change.</LI><LI>SAP Build: Drive automation of long-running processes with capabilities for app development, process automation and portal sites. Low-Code/No-Code and visual design tooling also empower citizen developers and business experts to contribute to the development process in an agile fashion.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Philipp_Z_0-1714839473822.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105838i43D41F71CA3733F5/image-size/large?v=v2&amp;px=999" role="button" title="Philipp_Z_0-1714839473822.jpeg" alt="Philipp_Z_0-1714839473822.jpeg" /></span></P><P>It is important to note that Enterprise Automation is a flexible and modular concept. Hence, customers can start with whatever product they see fit. From a transformation perspective Enterprise Automation can provide significant benefits when modernizing your SAP ERP, so when moving from the classic SAP Business Suite to SAP S/4HANA. It can be applied at any stage, both before the migration as well as after the migration:</P><UL><LI>Before the move: Leverage Signavio’s “<A href="https://www.signavio.com/plug-and-gain-approach/" target="_blank" rel="noopener nofollow noreferrer">plug and gain</A>” approach and <A href="https://www.leanix.net/en/wiki/tech-transformation/sap-s4hana-transformation" target="_blank" rel="noopener nofollow noreferrer">LeanIX</A> to analyze and clean up processes in advance and gain immediate benefits from applying automation (e.g. via pre-built content packages). Use the <A href="https://www.sap.com/services-support/integration-solution-advisory-methodology.html" target="_blank" rel="noopener noreferrer">Integration Solution Advisory Methodology</A> of the SAP Integration Suite to design and prepare a future-proof integration strategy.</LI><LI>After the move: Bring process excellence to the next level by combining process mining, integration and automation and enable a continuous improvement cycle. Enable a governed approach to accelerate and scale the building of process automations based on Low-Code/No-Code techniques.</LI></UL><P>Another advantage in terms of transformation is the versatility – similar to a Swiss Army Knife. Enterprise Automation allows process optimization across the enterprise and line of businesses: Be it sales, procurement, HR, finance, production or logistics. A comprehensive collection of use cases and end-to-end scenarios has been put together by Manuel Namyslo in his blog article: <A href="https://community.sap.com/t5/sap-builders-blog-posts/how-to-get-started-with-enterprise-automation/ba-p/13582512" target="_blank">How to get started with Enterprise Automation.</A></P><H2 id="toc-hId-601315973">The role of AI in Enterprise Automation</H2><P>Let us take a closer look at the role of AI and how it fits into the picture of Enterprise Automation. When transforming business processes and modernizing enterprise applications, AI should be part of the agenda, due to the massive benefits it can provide. Within our Enterprise Automation offering, the AI capabilities are tightly embedded to make the consumption as easy, seamless and relevant as possible.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Philipp_Z_1-1714839473828.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105839i87B9086731C043DB/image-size/large?v=v2&amp;px=999" role="button" title="Philipp_Z_1-1714839473828.png" alt="Philipp_Z_1-1714839473828.png" /></span></P><P>A few highlights of them include:</P><UL><LI>Use Document Information Extraction (DOX) within SAP Build Process Automation to grab data from documents like invoices, payment advices and purchase orders to automate their processing. We also plan to integrate the <A href="https://community.sap.com/t5/technology-blogs-by-sap/introducing-document-information-extraction-premium-edition-unleashing-the/ba-p/13574704" target="_blank">DOX premium edition</A> to make the processing of arbitrary documents with varying structure and layout even simpler.</LI><LI>We plan to use AI to provide recommendations for workflows as proposals based on historic data. This will support and speed up the decision making for approvals and workflow items (see <A href="https://roadmaps.sap.com/board?range=2024Q1-2024Q4&amp;PRODUCT=73554900100800003832#Q1%202024;INNO=F97566F157581EEEAFE9A21AF47EB3ED" target="_blank" rel="noopener noreferrer">roadmap item</A>).</LI><LI>Visual tools already cater towards ease-of-use and simplify the building of process automations by business experts. There are also plans to make the design process even more intuitive by leveraging Generative AI functions (see corresponding <A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800003832&amp;range=CURRENT-LAST&amp;BC=000D3ABE772D1EECA2CFCDF4405525B3#Q3%202024" target="_blank" rel="noopener noreferrer">roadmap items</A>). As illustrated in this preview <A href="https://www.youtube.com/watch?v=0i9XMJ_HuFw" target="_blank" rel="noopener nofollow noreferrer">video</A>, users describe what they need or what they want to craft in natural language. This can be an entire process flow, but also single process steps such as a business rule. The system then automatically generates the respective building blocks. Apart from that the AI-based assistant will also help with the discovery of pre-built content by providing suitable proposals from the content catalog.</LI></UL><P>As you can see AI is a crucial factor in many ways. Not only for the automation of processes, but also to accelerate the design and development process in various aspects. In addition, Enterprise Automation can also help with infusing AI into the process layer, by providing the respective integration capabilities.</P><P>To conclude: Enterprise Automation should be considered as a strategic tool set in the light of any transformation initiative for ERP and enterprise application landscapes. Its modular style allows you to start small at any stage of your project: From simple workflow automation and high-level process modelling, up to a fully-fledged vehicle for continuous process excellence. While our offering is optimized for SAP applications and systems, we embrace openness and enable process excellence across heterogeneous IT landscapes.</P><P>Where to look next and where to start? I recommend checking out the blog article <A href="https://community.sap.com/t5/sap-builders-blog-posts/how-to-get-started-with-enterprise-automation/ba-p/13582512" target="_blank">How to get started with Enterprise Automation</A> to get further inspiration. In addition, Low-Code/No-Code tooling such as SAP Build is well suited for getting Hands-On experience. Therefore, feel free to reach out to your SAP account manager to experience the ease-of-use in a Hands-On workshop. Finally, start by looking into potential use cases and assess them with the help of SAP or partners on how to tackle them with Enterprise Automation.</P><P><STRONG>Previous Blogs:</STRONG></P><UL><LI>Blog 1:&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">The Central Role of Clean Core and AI</A></LI><LI>Blog 2:&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">The Role of BTP as Extension and Innovation Platform</A></LI><LI>Blog 3: <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">How Clean Core can accelerate your <SPAN>SAP Business</SPAN> Transformation</A></LI><LI>Blog 4: <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">Mastering the Data Dance: The Potential of Clean Core and AI</A></LI><LI>Blog 5: <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">How hybrid Integration upholds the role of Clean Core</A></LI><LI>Blog 6: <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">Clean Core Extensibility</A></LI></UL> 2024-05-06T09:21:24.167000+02:00 https://community.sap.com/t5/sap-builders-blog-posts/how-to-add-a-deployed-sap-build-apps-application-to-fiori-launchpad-abap/ba-p/13687184 How to add a deployed SAP Build Apps application to Fiori Launchpad (ABAP Platform) 2024-05-07T14:09:26.907000+02:00 Aparna_N https://community.sap.com/t5/user/viewprofilepage/user-id/181564 <P><SPAN>Hi SAP Builders!</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>In this blog post, I'll showcase how you can add your deployed SAP Build Apps application to </SPAN><SPAN>Fiori Launchpad (ABAP Platform).</SPAN><SPAN>&nbsp;</SPAN></P><P>&nbsp;</P><H1 id="toc-hId-864512571"><SPAN>Design time configuration </SPAN><SPAN>of SAP Build apps </SPAN><SPAN>for FLP(ABAP)</SPAN><SPAN>&nbsp;</SPAN></H1><P><FONT size="5"><STRONG><U>Pre-requisites</U></STRONG></FONT></P><OL><LI>The SAP Build Apps must be deployed to BTP. Refer&nbsp;to&nbsp;<A title="Deploy SAP Build Apps to BTP" href="https://developers.sap.com/tutorials/build-apps-deply.html" target="_blank" rel="noopener noreferrer">Deploy SAP Build Apps to BTP</A>&nbsp;for some hints.</LI><LI>You know the URL of the deployed SAP Build Apps application.<FONT color="#FF0000">&nbsp;*</FONT><SPAN>The URL of the deployed application can be found in the&nbsp;HTML5 Applications repository section of your BTP Subaccount.</SPAN></LI></OL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714733281294.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105501iA60CA2E44C0C224A/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714733281294.png" alt="Aparna_N_0-1714733281294.png" /></span></P><P>NOTE: If a new version of the application is deployed to CF the URL would change, so we need to check for it again here to adjust any bookmark reference to your application.<SPAN>&nbsp;</SPAN><U>Only then we can continue to access the application without any issues.</U></P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><P>If the URL is from an earlier deployment then the application will no longer be available for access.<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1714745081710.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105621iDB2AA9299E2F2C10/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1714745081710.png" alt="Aparna_N_1-1714745081710.png" /></span><P>&nbsp;</P></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">If the URL is from an earlier deployment then the application will no longer be available for access.&nbsp;</div></div></noscript></div></div><H2 id="toc-hId-797081785"><SPAN>App Manager configuration</SPAN></H2><UL><LI><SPAN>Launch App Manager&nbsp;(#FLPApplication-manage).</SPAN></LI><LI><SPAN>Create a new Catalog and save it.</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1714472656940.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103835i8EC80E3C2B4C2B9B/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1714472656940.png" alt="Aparna_N_2-1714472656940.png" /></span></LI></UL><UL><LI><SPAN>Alternately if you want to reuse an existing Catalog then select it.</SPAN><SPAN>&nbsp;</SPAN></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1714472656942.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103836i425A27631A80AD5C/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1714472656942.png" alt="Aparna_N_3-1714472656942.png" /></span></P><UL><LI><SPAN>Click on Add App and select 'URL App' type.</SPAN><SPAN>&nbsp;</SPAN></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1714472656944.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103838i530F2E02C3085EEF/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1714472656944.png" alt="Aparna_N_4-1714472656944.png" /></span></P><UL><LI><SPAN>Enter the required details for Target Application Fields. Important is to add the deployed URL<FONT color="#FF0000">*</FONT> of the SAP Build Apps application as ‘Target URL’.</SPAN><SPAN>&nbsp;</SPAN></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714747917863.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105634i54D1213EC61C85C3/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714747917863.png" alt="Aparna_N_0-1714747917863.png" /></span></P><UL><LI><SPAN>Create a Tile and save it.</SPAN><SPAN>&nbsp;</SPAN></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_6-1714472656947.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103839iF680DAFDCFE5C6B3/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_6-1714472656947.png" alt="Aparna_N_6-1714472656947.png" /></span></P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_7-1714472656948.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103840i3A86105BB998C71A/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_7-1714472656948.png" alt="Aparna_N_7-1714472656948.png" /></span></P><UL><LI><SPAN>Assign the catalog with SAP Build Apps application to the necessary roles for your end user via PFCG app (#FioriLaunchpad-configureUserAssignment).</SPAN><SPAN>&nbsp;</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1714741008769.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105572iC33DAA45DB4A6F23/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1714741008769.png" alt="Aparna_N_3-1714741008769.png" /></span></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1714748086506.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105636i41094F33C259F6EA/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1714748086506.png" alt="Aparna_N_1-1714748086506.png" /></span>&nbsp;</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1714748298222.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105642iA19F4F62ED6FC20D/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1714748298222.png" alt="Aparna_N_3-1714748298222.png" /></span></P><UL><LI><SPAN><SPAN>Ensure that this role is assigned to the End user via PFCG. Save it.</SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1714748437097.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105643iB624BF9F0FF8A819/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1714748437097.png" alt="Aparna_N_4-1714748437097.png" /></span></LI></UL><P><SPAN>We have now successfully configured the Application in design time via App Manager.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Before testing this app at runtime let us also see how to configure the SAP Build Apps in the FLP ABAP design time via FLPD.&nbsp;</SPAN></P><P><SPAN>NOTE: As we still use the Groups concept for the Classic FLP, FLPD usage is demonstrated here only for the sake of completeness. Again here, it would good to take a note that the Classic FLP would be deprecated soon for S/4 HANA Cloud Public Edition (<A href="https://me.sap.com/notes/2970113" target="_blank" rel="noopener noreferrer">SAP Note 2970113 </A>).&nbsp;</SPAN></P><H2 id="toc-hId-600568280"><SPAN>FLPD configuration</SPAN></H2><P><SPAN>Disclaimer: It is highly recommended to use App Manager for FLP ABAP design time (<A href="https://launchpad.support.sap.com/#/notes/3170196" target="_blank" rel="noopener noreferrer">SAP Note 3170196</A>).&nbsp;</SPAN></P><P><SPAN>SAP Build Apps application can be configured in the design time via Fiori Launchpad Designer (FLPD) as illustrated below:</SPAN><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Create a new Group (or) select an existing group.</SPAN><SPAN><SPAN>&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; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1714740984732.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105571i777AA6422B015FE0/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1714740984732.png" alt="Aparna_N_2-1714740984732.png" /></span></LI><LI><SPAN><SPAN>Select the Catalog (created from App Manager) and pin the SAP Build App tiles to this group.&nbsp;</SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1714749803248.png" style="width: 520px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105657i129E935774DDB630/image-dimensions/520x522?v=v2" width="520" height="522" role="button" title="Aparna_N_1-1714749803248.png" alt="Aparna_N_1-1714749803248.png" /></span></LI><LI><SPAN>Add the Group to the required roles via PFCG.</SPAN><SPAN><SPAN>&nbsp;</SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1714741098969.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105573i5FF7724F7FEFF0DF/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1714741098969.png" alt="Aparna_N_4-1714741098969.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_5-1714741109324.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105574i58D249C8C10BD3E4/image-size/medium?v=v2&amp;px=400" role="button" title="Aparna_N_5-1714741109324.png" alt="Aparna_N_5-1714741109324.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714748739263.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105645iF67F71EC85D85E42/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714748739263.png" alt="Aparna_N_0-1714748739263.png" /></span></LI><LI><SPAN>Ensure that these role(s) are assigned to your end user via PFCG.</SPAN><SPAN><SPAN>&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;</SPAN></SPAN></LI></UL><P>We have now configured the Application in design time via FLPD.<SPAN>&nbsp;</SPAN></P><P>&nbsp;</P><H1 id="toc-hId-274972056"><SPAN>Access</SPAN><SPAN> your SAP Build Apps application in FLP(ABAP)</SPAN><SPAN> at runtime</SPAN></H1><H2 id="toc-hId-207541270"><SPAN>Classic FLP</SPAN><SPAN>&nbsp;</SPAN></H2><UL><LI><SPAN>Launch the Classic FLP.</SPAN></LI><LI><SPAN><SPAN><SPAN>Navigate to the group (configured via FLPD) and check if the SAP Build Apps is available here.&nbsp; &nbsp; &nbsp; &nbsp;</SPAN></SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1714749856178.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105658i9CAC04D3CFEE4AF2/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1714749856178.png" alt="Aparna_N_2-1714749856178.png" /></span><P>(OR)</P></LI><LI>Navigate to App Finder and select the Catalog (configured via App Manager) and pin the apps to any desired group or a new group.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1714750795189.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105664i132117BAA8167BAC/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1714750795189.png" alt="Aparna_N_4-1714750795189.png" /></span><P>&nbsp;</P></LI><LI>Return to Home page and check if the pinned apps is available under the desired group or new group.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_5-1714750978317.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105665i313FF583DBBB756C/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_5-1714750978317.png" alt="Aparna_N_5-1714750978317.png" /></span><P>&nbsp;</P></LI></UL><H2 id="toc-hId-11027765"><SPAN>Spaces and Pages FLP</SPAN><SPAN>&nbsp;</SPAN></H2><UL><LI><SPAN><SPAN>Launch the Spaces and Pages FLP (Spaces and Pages settings has to be enabled).&nbsp;</SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714751590331.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105670iF37B2DCD401F7DCB/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714751590331.png" alt="Aparna_N_0-1714751590331.png" /></span></LI><LI>Launch Space Manager (#FLPSpace-manage).</LI><LI>Create a Space and a Page and save.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714752219539.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105672iF3F1A02DDD6542B5/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714752219539.png" alt="Aparna_N_0-1714752219539.png" /></span><P>&nbsp;</P></LI><LI>Add this Space a role (containing the Catalog with the SAP Build Apps tile content) via PFCG.&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1714752502083.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105673i519FB3D6578991B9/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1714752502083.png" alt="Aparna_N_1-1714752502083.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714752743086.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105674i363B5E5AC769832F/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714752743086.png" alt="Aparna_N_0-1714752743086.png" /></span></LI><LI>Ensure that the end user is still assigned to this role.</LI><LI>Now, navigate to Space manager (#FLPSpace-manage) and select your newly added space and access the newly added page (or) navigate directly to the newly added page via Page manager (#FLPPage-manage).</LI><LI>Create new sections in the page and add the SAP Build Apps content (derived from the roles).<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1714753408172.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105678i3D5C9D829B439551/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1714753408172.png" alt="Aparna_N_2-1714753408172.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1714753426817.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105679iEA47AC01C241C8DB/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1714753426817.png" alt="Aparna_N_3-1714753426817.png" /></span></LI><LI>Navigate to this Space in Spaces and Pages FLP and check if the SAP Build Apps is available there.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1714753596868.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105682i429BF52891E13187/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1714753596868.png" alt="Aparna_N_4-1714753596868.png" /></span><P>&nbsp;</P></LI></UL><H2 id="toc-hId--185485740"><SPAN>Launch your SAP Build Apps application at runtime</SPAN></H2><P>When we configure our SAP Build Apps application as a URL application and launch it at runtime, we will be prompted to login. This is expected behavior as the SAP Build Apps service is running in BTP and this is essential for metering.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1714746998692.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105628i72371CA342D9DAD7/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1714746998692.png" alt="Aparna_N_0-1714746998692.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_13-1714472656954.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103846i6F2A5309A44B0D02/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_13-1714472656954.png" alt="Aparna_N_13-1714472656954.png" /></span></P><P>If this is not desired, then configure the Default IDP for your organization to enable Single Sign On (SSO) login automatically.</P><P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With this, I hope that you could also bookmark your deployed SAP Build Apps application to SAP Fiori Launchpad and use it&nbsp;successfully.</P><P>Disclaimer: Bookmarking is a work around approach to use the SAP Build Apps application and may not function optimally at all times. Yet we are sharing this 'Know-how' as integrating SAP Build Apps in SAP Fiori Launchpad is a desired use case.</P><P>Happy Building!</P> 2024-05-07T14:09:26.907000+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/develop-with-joule-in-sap-build-code/ba-p/13695326 Develop with Joule in SAP Build Code 2024-05-16T22:12:27.753000+02:00 ale_biagi https://community.sap.com/t5/user/viewprofilepage/user-id/7035 <P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AI-team-software-development-2048x1075.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107505i413D961E3FA33892/image-size/large?v=v2&amp;px=999" role="button" title="AI-team-software-development-2048x1075.jpg" alt="AI-team-software-development-2048x1075.jpg" /></span></P><P><FONT size="2"><SPAN>Authors:&nbsp;</SPAN><A href="https://community.sap.com/t5/user/viewprofilepage/user-id/7035" target="_self">@ale_biagi</A><SPAN>&nbsp;|&nbsp;</SPAN><A href="https://community.sap.com/t5/user/viewprofilepage/user-id/7022" target="_self">@YatseaLi</A></FONT></P><P>This blog post is part of a webinar series to show you how to explore the Generative AI capabilities of SAP AI Foundation on SAP BTP, along with proof of concepts in the form of use cases. You will have the opportunity to earn a knowledge badge with the title "<U><STRONG>Generative AI development with SAP BTP</STRONG></U>" by <SPAN class=""><SPAN>taking the <STRONG>first three</STRONG> sessions or <A href="https://partneredge.sap.com/en/library/education/products/btp/build/e_ep_use-cases_ai-foundation.html?#accordion-panel-section-libraryItem-descriptionSection-accordionitem_694022185" target="_self" rel="noopener noreferrer">replays</A> and passing its associated <A href="https://performancemanager.successfactors.eu/sf/learning?destUrl=https%3a%2f%2fsaplearninghub%2eplateau%2ecom%2flearning%2fuser%2fdeeplink%5fredirect%2ejsp%3flinkId%3dPROGRAM%5fDETAILS%26programID%3dPE%5fKB%5fGEN%5fAI%5fBTP%5fWA%26fromSF%3dY&amp;company=learninghub" target="_self" rel="nofollow noopener noreferrer">web assessment</A></SPAN></SPAN></P><H4 id="toc-hId-1252626405"><A href="https://partneredge.sap.com/en/library/education/psd/2024/mar/e_oe_te_w_PSD_WEB_00005664.html" target="_self" rel="noreferrer noopener"><SPAN class="">Replay: Develop with Joule in SAP Build Code</SPAN></A></H4><P><SPAN class=""><SPAN>Here we will explore Generative AI-based code development using <STRONG>Joule in SAP Build Code</STRONG> with a sample use case, following the <STRONG>Clean Core</STRONG> approach and <STRONG>extending SAP S/4HANA Cloud</STRONG> with <STRONG>side-by-side extensibility</STRONG>.</SPAN></SPAN></P><P><SPAN class=""><SPAN>Here you will find the source code of the final solution developed in SAP Build Code with the assistance of Joule:&nbsp;<A href="https://github.com/SAP-samples" target="_blank" rel="author nofollow noopener noreferrer">SAP-samples&nbsp;</A>/&nbsp;<STRONG><A href="https://github.com/SAP-samples/btp-generative-ai-hub-use-cases/tree/main/03-develop-with-joule-in-sap-build-code" target="_blank" rel="nofollow noopener noreferrer">develop-with-joule-in-sap-build-code</A></STRONG></SPAN></SPAN></P><H2 id="toc-hId-797947462"><SPAN class=""><SPAN>Why Generative AI-based Code Development matters?</SPAN></SPAN></H2><P>Let’s start by reviewing why&nbsp;<STRONG>Generative AI-based Code Development </STRONG>matters nowadays, especially in the context of the SAP ecosystem.</P><H3 id="toc-hId-730516676">The Developers Dilemma</H3><P>A recent research from IDC shows that <STRONG>developers spend only 20% of their time</STRONG> doing what they’re supposed to do: <STRONG>develop high quality business applications</STRONG>. The other 80% are spent performing peripheral overhead activities. This has a huge impact on their productivity.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_0-1715177298186.png" style="width: 736px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107551iD339A784906028BD/image-dimensions/736x414?v=v2" width="736" height="414" role="button" title="ale_biagi_0-1715177298186.png" alt="ale_biagi_0-1715177298186.png" /></span></P><P>Developers wear many different hats.&nbsp; Instead of spending their time coding developers are having to spend more time performing tests, implementing CI/CD, fine tuning performance and making sure the application is secure.&nbsp; All of this is necessary to create resilient applications, but in the end all developers want to be more productive and produce applications more efficiently.</P><P>Developers are more productive when they have the proper tools at their fingertips, when they can easily access data, and when they can reduce or eliminate tedious tasks.&nbsp;</P><P>To make a developer more productive, it comes at a cost.&nbsp; Developers need to implement a solution to handle CI/CD, another tool to access API’s, another tool to do transport management and they are always looking at ways to eliminate repetitive tasks. These are ways to increase developer productivity, but it comes at a cost when looking at solutions that come from multiple vendors to support development.</P><P>So, what is SAP doing to help with the Total Cost of Development and the Total Cost of Ownership when looking for application and extension development? That's exactly what we will discuss in the upcoming paragraphs.</P><H3 id="toc-hId-534003171">How does this dilemma affect the SAP ecosystem?</H3><P>All of you should have already noticed that the <STRONG>core </STRONG><STRONG>of</STRONG> <STRONG>SAP’s</STRONG> <STRONG>strategy</STRONG>, lies in the <STRONG>Case for Cloud</STRONG> led by the <STRONG>Cloud ERP</STRONG> and its peripheral cloud solutions, powered by the <STRONG>Business Technology Platform</STRONG> as their foundation and driving force.</P><P>Such core strategy is executed through two main global programs:<STRONG>&nbsp;</STRONG></P><UL><LI><STRONG>RISE with SAP</STRONG>: focused on the installed base and private cloud;</LI><LI><STRONG>GROW with SAP</STRONG>: focused on net new names and public cloud</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_2-1715177900894.png" style="width: 740px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107562iA7F21DC80C9D3337/image-dimensions/740x333?v=v2" width="740" height="333" role="button" title="ale_biagi_2-1715177900894.png" alt="ale_biagi_2-1715177900894.png" /></span></P><P>So, what are the biggest <STRONG>roadblocks</STRONG> and <STRONG>challenges</STRONG> when executing this strategy?</P><P>For the cases of <STRONG>brown-field conversion</STRONG>, we noticed that technology-driven organizations have historically built on top of standard functionality to extend the capability to meet business needs. However, continuing to maintain <STRONG>decades-old technology</STRONG> now limits benefits and increases the cost of adopting new technologies.</P><P>Organizations cannot drive the next level of business transformation while carrying significant technical debt, because they are slower to innovate, more expensive to run and upgrade, and riskier to operate.</P><P>And for the cases of <STRONG>green-field implementation</STRONG>, what would be the challenge, then?</P><P>Thinking in terms of a <STRONG>cloud mindset</STRONG>, the concept of <STRONG>fit-to-standard</STRONG> should be applied in most of the cases whenever possible, leveraging the high flexibility provided by cloud solutions regarding configurations and personalization. When it’s not possible, a quick implementation for rapid turnaround of digital transformation should rely on the <STRONG>fast development of new loosely coupled solution extensions</STRONG>.</P><H3 id="toc-hId-337489666">SAP's approach to fast-paced Cloud ERP innovation</H3><P>And here is where the <STRONG>Clean Core Concept</STRONG> comes into play!</P><P>Such concept is essentially based in four main principles:</P><UL><LI><SPAN>First, every solution extension should be built as a <STRONG>loosely coupled service</STRONG> instead of a tightly coupled monolithic application</SPAN></LI><LI>Then, when building such services, as they’re loosely coupled, they’re supposed to <STRONG>extend the transactions from the backend system</STRONG> instead of modifying them in terms of either data and code</LI><LI>To do so, it’s imperative to <STRONG>strictly consume officially released APIs</STRONG> from the backend system, thus ensuring that changes to the core do not affect extensions as those APIs are maintained by SAP and backwards compatibility is guaranteed. This opens the path for continuous innovation through constant upgrades.</LI><LI>And last, but not least, by building extensions in a <STRONG>multi-tenant approach</STRONG> the extended functionality can benefit several customers with one single code-base.</LI></UL><P>By envisioning this concept as the <STRONG>backbone for continuously evolved cloud software</STRONG>, SAP has provided several tools and technologies in the last couple of years to make it reality for its customers and partners (such as <STRONG>UI5</STRONG>, the <STRONG>Cloud Application Programing Model</STRONG> framework – both NodeJS and Java – coupled with the <STRONG>SAP Cloud SDK</STRONG> – also NodeJS and Java – and the <STRONG>ABAP Cloud</STRONG> with its RESTfull Application Programming model approach).</P><P>All of this has been done so that <STRONG>brown-field</STRONG> ERP migrations can <STRONG>clean-up the backend system core&nbsp;</STRONG>and <STRONG>green-field</STRONG> new implementations <STRONG>do not touch the core</STRONG>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_3-1715178715374.png" style="width: 743px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107568i3A4887B078DDC108/image-dimensions/743x351?v=v2" width="743" height="351" role="button" title="ale_biagi_3-1715178715374.png" alt="ale_biagi_3-1715178715374.png" /></span></P><P>In the context of <STRONG>S/4HANA </STRONG><STRONG>extensibility</STRONG>, we have basically two scenarios: <STRONG>Core </STRONG><STRONG>Solution</STRONG> <STRONG>Extensions</STRONG> (also known as <STRONG>On</STRONG><STRONG>-Stack</STRONG> or <STRONG>In-App</STRONG> Extensions), which run in the same stack of the ERP and the so called <STRONG>Side-by-Side</STRONG> <STRONG>Extensions</STRONG>, running on BTP. I guess you all have already heard about it, right?</P><P>In the On-Stack Extensibility we have the <STRONG>Classic </STRONG><STRONG>Extensibility</STRONG>, which usually modifies transactions’ code and data, and, consequently, is <STRONG>not</STRONG><STRONG> clean core</STRONG>.</P><P>For a <STRONG>clean core approach</STRONG> with start with the <STRONG>Key </STRONG><STRONG>User</STRONG> <STRONG>Extensibility</STRONG> provided by an extensive set of core personalization functionalities and, on top of those, we add the so called <STRONG>Developer</STRONG> <STRONG>Extensibility</STRONG> which is achieved through the <STRONG>Embedded</STRONG> <STRONG>Steampunk</STRONG> – that can be described as an <STRONG>On</STRONG><STRONG>-Stack ABAP </STRONG><STRONG>environment</STRONG> – leveraging <STRONG>ABAP’s</STRONG> <STRONG>RESTfull</STRONG> <STRONG>Application</STRONG> <STRONG>Programming</STRONG><STRONG> Model </STRONG>(in short RAP).</P><P>For the <STRONG>sibe-by-side</STRONG> <STRONG>extensibility</STRONG> powered by <STRONG>SAP BTP</STRONG> (which is <STRONG>clean core by nature</STRONG>), we rely on the broad spectrum of development tools provided by <STRONG>SAP Build</STRONG> and <STRONG>SAP Build </STRONG><STRONG>Code</STRONG> (which is the focus of this post), and the <STRONG>BTP ABAP </STRONG><STRONG>Environment</STRONG>.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_5-1715179088189.png" style="width: 753px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107571i1E43640CD3A0F0B5/image-dimensions/753x385?v=v2" width="753" height="385" role="button" title="ale_biagi_5-1715179088189.png" alt="ale_biagi_5-1715179088189.png" /></span></P><H3 id="toc-hId-140976161">The dynamics of Generative AI into SAP ecosystem</H3><P>Now, coming down to the <STRONG>Generative AI</STRONG> topic, here’s how we envision its dynamics into the SAP ecosystem.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_6-1715179806608.png" style="width: 741px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107577i4B753C212D91C61A/image-dimensions/741x418?v=v2" width="741" height="418" role="button" title="ale_biagi_6-1715179806608.png" alt="ale_biagi_6-1715179806608.png" /></span></P><P>The first thing that will change for customers (and SAP) is that we will <STRONG>use GenAI to Build Code</STRONG>. For customers that have legacy applications the typical strategy is to “do nothing”. Do nothing has the advantage of being low effort, but the downside is that it is high risk. Keeping old school applications rife with technical debt and disconnected to other business processes allows digital natives to leapfrog and disrupt your business. The second approach is to use traditional software development approach powered by humans. This is high effort and high risk: it is also really expensive. The third approach is to infuse Generative AI into software development process which we characterize as medium effort and medium risk.&nbsp; As time goes on our intuition this will become table stakes for all organizations. It is really what sets Generative AI apart from traditional ML in terms of disruption and economic value.</P><P>The second thing that is going to change is <STRONG>analytics</STRONG>: Generative AI is going to be table stakes for analytical applications. SAP cleverly acquired Ask Data over 2 years ago, and we are close to fully embedding it into SAC and as a pattern within Joule. We will see incredible capabilities emerge within SAC and other embedded analytical capabilities in the near future.&nbsp;&nbsp;&nbsp;</P><P>In <STRONG>enterprise applications</STRONG> Generative AI will emerge as a critical capability that powers automation, assistants, and agents. The most obvious example is Joule as an assistant that will power our major LoBs including Success Factors and SAP S/4HANA Cloud (Public Edition and Private Editions).</P><P>In this post we will focus on the first and clearly important vertical.&nbsp;For more information about the <STRONG>Generative AI topic in the SAP ecosystem</STRONG>, please refer to <A href="https://partneredge.sap.com/en/library/education/psd/2024/jan/e_oe_te_w_PSD_WEB_00004648.html" target="_self" rel="noopener noreferrer"><STRONG>this link</STRONG></A>.</P><H2 id="toc-hId--184620063">Overview on SAP Build Code and its Generative AI Capabilities</H2><P>Since it's general availability announcement on March 27th, a lot of good content has been produced about the outstanding capabilities of SAP Build Code. To avoid "reinventing the wheel" we've compiled a short list of selected blog posts describing the many features of SAP Build Code:</P><UL><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/announcing-general-availability-of-sap-build-code-speed-up-development-with/bc-p/13650754" target="_self">Announcement of SAP Build Code</A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-build-sap-build-code-when-generative-ai-comes-to-help/ba-p/13584227" target="_self">SAP Build Code - When Generative AI comes to help!</A></LI><LI><A href="https://community.sap.com/t5/application-development-blog-posts/test-drive-joule-s-generative-ai-features-in-sap-build-code-now/ba-p/13649882" target="_self">Test Drive of SAP Build Code</A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/joule-in-sap-build-code/ba-p/13576765" target="_self">Joule in SAP Build Code</A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-members/sap-build-code-blog-series-1-welcome-to-the-lobby/ba-p/13646093" target="_self">SAP Build Code Blog Series</A></LI></UL><P>We strongly recommend you read through those posts before proceeding with this one. You can also view the <A href="https://partneredge.sap.com/en/library/education/psd/2024/mar/e_oe_te_w_PSD_WEB_00005664.html" target="_self" rel="noopener noreferrer"><STRONG>session replay</STRONG></A> for the live SAP Build Code overview.</P><H3 id="toc-hId--252050849">The Paradigm Shift of Programming with Natural Language</H3><P>So, there’s no doubt that Generative AI will bring a <STRONG>new paradigm </STRONG>to the context of software development within the SAP ecosystem by introducing <STRONG>Natural Language</STRONG> into the <STRONG>programming process.</STRONG></P><P>To understand this paradigm shift, let’s picture a simple ERP migration to the cloud scenario where we usually have a bunch of tightly-coupled classic extensions which have to be converted into clean core extensions.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_0-1715181822085.png" style="width: 757px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107589i5AB45E180F67FD7A/image-dimensions/757x350?v=v2" width="757" height="350" role="button" title="ale_biagi_0-1715181822085.png" alt="ale_biagi_0-1715181822085.png" /></span></P><P>In such context we usually have one or more <STRONG>product or business or process owners</STRONG> (in our case here, Mary) reviewing such extensions and making specifications in natural language.</P><P>Mary, then, passes those specifications to John (the developer), who refine them by transforming them into prompts, and, in SAP BTP, there’s the SAP Build Code subscription containing the <STRONG>Joule copilot</STRONG> to which John passes the prompts. Based on such prompts Joule is able to generate the application’s data model, service definition, test data, Fiori elements UI and business logic as well as unit test scripts to test the logic.</P><P>Finally, using a <STRONG>one-click approach</STRONG>, John can <STRONG>deploy</STRONG> the application to either Cloud Foundry or Kyma.</P><H3 id="toc-hId--448564354">The Flow of the New Paradigm</H3><P>Now, let’s take a look into the flow of such process. So, Mary starts by reviewing functionality of legacy on-stack classic extensions in brown-field scenarios or defining new solutions requirements in green-field scenarios. In both cases she prepares the specifications in <STRONG>natural language</STRONG></P><P>Here’s where John come into play, reviewing Mary’s specifications. He, then, performs <STRONG>prompt engineering</STRONG> (now called <STRONG>code generation prompt engineering</STRONG>) to prepare for the solution development.</P><P>Next, he enters the prompts in Joule,&nbsp;<SPAN>reviews and accepts (or not) the code, refining the prompts if necessary,<STRONG>&nbsp;</STRONG></SPAN><SPAN>does manual adjustments and some additional coding if required (and yes, there’s manual work in the process!), performing unit tests -&nbsp;</SPAN>these three steps are repeated until the desired outcome is achieved -&nbsp;and, finally, john deploys the solution handing it over back to Mary who’s responsible for the final testing and approval.</P><H2 id="toc-hId--774160578">Development Use Case - Customer Loyalty Management App for Retailers</H2><P>Well, for this post we designed an inspiring <STRONG>Use Case</STRONG> to showcase the development process with <STRONG>Joule in SAP Build Code </STRONG>in action. This use case is about a customer loyalty program management app for retailers, let’s start by understanding the business scenario:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_0-1715191974809.png" style="width: 759px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107664i3B880B13B0885832/image-dimensions/759x370?v=v2" width="759" height="370" role="button" title="ale_biagi_0-1715191974809.png" alt="ale_biagi_0-1715191974809.png" /></span></P><P>The business scenario is a customer loyalty program management application for the business partners who make purchases in retailers. It’s a quite simple scenario managed by three personas:</P><OL><LI>The first one is <STRONG>Mary</STRONG>, an <STRONG>ERP administrator</STRONG> who manages products and business partners in&nbsp; S/4HANA Cloud which provides information to the second persona...</LI><LI><STRONG>Jane</STRONG>, a <STRONG>loyalty program manager</STRONG> responsible for providing additional loyalty program data and monitoring purchases and redeemed rewards through an S/4 extension.</LI><LI>Finally, there’s <STRONG>Watson</STRONG>, a <STRONG>customer</STRONG> (actually a business partner in S/4) who basically makes purchases of selected S/4 products and redeems the corresponding rewards.</LI></OL><H3 id="toc-hId--916822733">Solution Architecture</H3><P>Now, let’s see how to design a solution architecture foundation to cover this business scenario:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_1-1715192275082.png" style="width: 752px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107666iDC3D2AAAE6E3F1E4/image-dimensions/752x328?v=v2" width="752" height="328" role="button" title="ale_biagi_1-1715192275082.png" alt="ale_biagi_1-1715192275082.png" /></span></P><P>On one side we have the <STRONG>SAP Business Technology Platform</STRONG>, hosting Cloud Foundry and Kyma run-times and, on the other, there’s the SAP Cloud Solutions with <STRONG>S/4HANA Cloud</STRONG> being one of them.</P><P>As previously mentioned, the ERP admin manages <STRONG>products</STRONG> and <STRONG>business partners</STRONG> in S/4HANA Cloud. Our Customer Loyalty solution extension is deployed to SAP BTP (in our case in Cloud Foundry) using <STRONG>SAP HANA Cloud</STRONG> as data persistence and reading Products and Business Partners from S/4HANA Cloud via <STRONG>Destination</STRONG>.</P><P>Finally, the Customer Loyalty Manager and the Customer can access the solution through a desktop or mobile device.</P><P>The <STRONG>highlighted CAP application</STRONG> is the solution extension that we will develop with <STRONG>SAP Build Code</STRONG> with the assistance of <STRONG>Joule</STRONG> throughout this post.</P><H3 id="toc-hId--1113336238">Fusion Development Approach</H3><P>This architecture can be alternatively extended to leverage a UI built with <STRONG>SAP Build Apps</STRONG> instead of a standard Fiori UI. In this case, the <STRONG>CAP service is exposed</STRONG> as OData to SAP Build Apps via <STRONG>Destination</STRONG>. This is what we call <STRONG>Fusion Development</STRONG>:&nbsp;a combination of low-code/no-code citizen development with pro-code development.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_2-1715192950221.png" style="width: 745px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107671i1C52FADBFBF49BCF/image-dimensions/745x272?v=v2" width="745" height="272" role="button" title="ale_biagi_2-1715192950221.png" alt="ale_biagi_2-1715192950221.png" /></span></P><P>In this post we will focus on the <STRONG>first approach</STRONG>: Fiori Elements UI.</P><H3 id="toc-hId--1309849743">Demo of the Finished Product</H3><P><SPAN>Now, let’s have a look at a live demo of the Customer Loyalty Management application in action:</SPAN></P><P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FKFOHVXx8uQg%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKFOHVXx8uQg&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FKFOHVXx8uQg%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="400" height="225" scrolling="no" title="Customer Loyalty App Demo" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><H2 id="toc-hId--1212960241">Build the Use Case with Generative AI-based Code Development</H2><H3 id="toc-hId--1702876753">Implementation Steps</H3><P>Now that we got to know the generative AI-base code development with Joule in SAP Build Code, let’s have a look at the implementation steps that will be examined one by one in detail in the upcoming paragraphs.</P><OL><LI>We will start with a short demo on how to setup SAP Build Code in your SAP BTP global account</LI><LI>The first block of steps essentially relies on automatic code generation powered by Joule. The steps of this block are:<OL class="lia-list-style-type-lower-alpha"><LI>Build and Run the initial base CAP application…</LI><LI>Generate NodeJS code for business logic and unit tests…</LI><LI>Generate Fiori UI Apps through wizards and enhanced by Joule</LI></OL></LI><LI>The last block is focused on manual coding. Here we will:<OL class="lia-list-style-type-lower-alpha"><LI><SPAN>Manually enhance the app to integrate with S/4HANA Cloud and...</SPAN></LI><LI>Refine the data model and some annotations with manual code.</LI></OL></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ale_biagi_0-1715198563578.png" style="width: 757px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107722iB35BF52816DBC774/image-dimensions/757x385?v=v2" width="757" height="385" role="button" title="ale_biagi_0-1715198563578.png" alt="ale_biagi_0-1715198563578.png" /></span></P><P>The above steps are quite well demonstrated in a series of <STRONG>hands-on videos</STRONG> listed below (or you can choose to view the <A href="https://partneredge.sap.com/en/library/education/psd/2024/mar/e_oe_te_w_PSD_WEB_00005664.html" target="_self" rel="noopener noreferrer"><STRONG>session replay</STRONG></A> to watch them in sequence):</P><UL><LI><A href="https://youtu.be/R_bt59hSIaQ" target="_blank" rel="noopener nofollow noreferrer">On-boarding</A><UL><LI><STRONG>Auto Code Generation</STRONG><UL><LI><EM><STRONG>Build &amp; Run the Initial App</STRONG></EM><UL><LI><A href="https://youtu.be/HmaN3SIuuyc" target="_blank" rel="noopener nofollow noreferrer">Create Project</A></LI><LI><A href="https://youtu.be/LAGSGjGIHJ4" target="_blank" rel="noopener nofollow noreferrer">Data Model &amp; Service</A></LI><LI><A href="https://youtu.be/2ibK0zXC8rE" target="_blank" rel="noopener nofollow noreferrer">Sample Data &amp; Run</A></LI></UL></LI><LI><EM><STRONG>Generate Business Logic &amp; Unit Test</STRONG></EM><UL><LI><A href="https://youtu.be/Y3OrzR1vLUw" target="_blank" rel="noopener nofollow noreferrer">Business Logic</A></LI><LI><A href="https://youtu.be/9NP3cDSkOVY" target="_blank" rel="noopener nofollow noreferrer">Unit Tests</A></LI></UL></LI><LI><EM><STRONG>Generate UI Apps</STRONG></EM><UL><LI><A href="https://youtu.be/DXl1wZmn25w" target="_blank" rel="noopener nofollow noreferrer">Generate Fiori Elements App</A></LI><LI><A href="https://youtu.be/SQtQhpjyv7A" target="_blank" rel="noopener nofollow noreferrer">Generate Free Style UI App</A></LI></UL></LI></UL></LI><LI><STRONG>Manual Coding</STRONG><UL><LI><EM><STRONG>SAP S/4HANA Cloud Integration</STRONG></EM><UL><LI><A href="https://youtu.be/UphNx-atPak" target="_blank" rel="noopener nofollow noreferrer">Add S/4 BP Resource</A></LI><LI><A href="https://youtu.be/EiyezALdx74" target="_blank" rel="noopener nofollow noreferrer">Data Model Enhancement</A></LI><LI><A href="https://youtu.be/P42e0APLPbY" target="_blank" rel="noopener nofollow noreferrer">Service Enhancement</A></LI><LI><A href="https://youtu.be/99xXKK5E4QY" target="_blank" rel="noopener nofollow noreferrer">UI Adaptation</A></LI><LI><A href="https://youtu.be/8G6oSCk3fqc" target="_blank" rel="noopener nofollow noreferrer">Live Data Config</A></LI><LI><A href="https://youtu.be/JNo7Udss-qc" target="_blank" rel="noopener nofollow noreferrer">UI Enhancement</A></LI></UL></LI><LI><A href="https://youtu.be/pwbo3SwLQdY" target="_blank" rel="noopener nofollow noreferrer">Manual Enhancement</A></LI></UL></LI></UL></LI></UL><H2 id="toc-hId--1605987251">Best Practices of Code Development with Joule in SAP Build Code</H2><P>To get the best from SAP Build Code, here are some best practices that can be considered.</P><P>As we have seen in the previous demos, the structured guided development process with proven best practices has been innate in SAP Build Code, which we should follow throughout the whole development lifecycle.</P><P>The Storyboard allows you to develop applications using graphical editors and wizards. Use the Storyboard as the entry point to all the artifacts of the project.</P><P>In terms of UI, SAP Build Code provides the wizard templates for UI App creation, and the awesome graphical page editor for UI annotation. Use these wizards and graphical page editor instead of Joule for UI.</P><P>When using Joule in SAP Build Code, here’s a list of some best practices for<STRONG> prompt engineering</STRONG>:</P><UL><LI>As a rule of thumb for prompt engineering, the more <STRONG>specific</STRONG>, <STRONG>descriptive</STRONG>, and <STRONG>detailed</STRONG> the prompts are, the <STRONG>better</STRONG> are the <STRONG>results</STRONG> they yield.</LI><LI>Use <STRONG>explicit constraints</STRONG> (e.g. when to use simple associations or compositions in entity relationships).</LI><LI>For Data Modelling, please <STRONG>avoid</STRONG> using <STRONG>technical CDS terms</STRONG> in the Data Model description, such as aspect, enumeration, code list etc. which will be filtered by Joule.</LI><LI><STRONG>Do not include</STRONG> any detail about the <STRONG>application logic</STRONG> in the <STRONG>Data Model</STRONG>, as it will be ignored by Joule.</LI><LI>In the application logic for <STRONG>actions</STRONG> and <STRONG>unit tests</STRONG>, give detailed information on <STRONG>how data is passed</STRONG> into the request.</LI><LI>For <STRONG>unit tests</STRONG>, provide the <STRONG>appropriate data</STRONG> for positive and negative cases to make sure the tests pass accordingly.</LI><LI><STRONG>Always review</STRONG> the generated code or data, regenerate if necessary, iterate and fine-tune the prompt as much as needed.</LI><LI>And last, but not least, it doesn’t matter how much you try to be the most precise and perfect in your prompts, there will be always situations when editing the code directly will be quite more quicker and effective.</LI></UL><P>Still in the prompt engineering topic, when you are not sure how to get started on the solution and need some inspirations, here are some tips:</P><UL><LI>Get inspiration with the target <STRONG>solution name</STRONG> and its <STRONG>entities</STRONG> in Joule (e.g. “Create a customer loyalty management app with customer, purchase and reward redemption entities”). Joule will automatically generate <STRONG>5 fields for each entity</STRONG>, so you can take it from here to enhance it further.</LI><LI>Alternatively,&nbsp; ask another LLM chatbot (e.g. <STRONG>Prompt Editor of SAP Generative AI Hub</STRONG>, <STRONG>ChatGPT</STRONG>, etc.) to describe the entities relationship of your solution as an inspiration for data model description(e.g. "Describe the the entities relationship model for customer loyalty management solution"), and edit the generated entities relationship if needed. Then pass it to Joule in SAP Build Code as the prompt for generating the data model.<span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Describe Entity Relationship with Prompt Editor in SAP Generative AI Hub" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111302iCAF8E3E82BD88DB2/image-size/large?v=v2&amp;px=999" role="button" title="Promt_Editor_ER.jpg" alt="Describe Entity Relationship with Prompt Editor in SAP Generative AI Hub" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Describe Entity Relationship with Prompt Editor in SAP Generative AI Hub</span></span><P>&nbsp;</P></LI></UL><H2 id="toc-hId--1802500756">Findings Summary of CAP Development with Joule in SAP Build Code</H2><P>Here’s a brief summary of findings gathered during the development process of the customer loyalty extension, with short recommendations. You will notice that only the modification of the business logic and its corresponding unit tests is done with pure manual coding. All the rest can be achieved with full or partial assistance from Joule combined with the productivity tools and some possible manual coding. Our <STRONG>conclusion</STRONG> is that <STRONG>SAP Build Code proves in practice that it’s truly capable of turbocharging software development</STRONG> especially in the context of the SAP ecosystem</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Findings Summary" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111304i8A03A205C669E82C/image-size/large?v=v2&amp;px=999" role="button" title="Fing_Summary_updated.jpg" alt="Findings Summary" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Findings Summary</span></span></P><H2 id="toc-hId--1999014261">Conclusions and Takeaways</H2><P>These are the main takeaways we foresee when applying this new development paradigm in the context of the SAP ecosystem, by turbocharging software development&nbsp; leveraging SAP Build Code with the assistance of Joule Copilot:</P><UL><LI>Speed-up migration of legacy on-stack extensions to the cloud following the Clean Core principles</LI><LI>Safeguard technology investments by avoiding vendor lock-in and reducing TCO</LI><LI>Take advantage of a learning opportunity to quickly adopt industry standard technology and the new natural language programming paradigm</LI><LI>Accelerate time-to-market with quick prototyping and monetization of solution extensions</LI><LI>And last, but not least, prepare for fast-paced future innovations peculiar to cloud software either in the backend system and in the extensions themselves</LI></UL><H2 id="toc-hId-2099439530">Frequent Asked Questions:</H2><P>During our webinar sessions, there are quite a number of questions have been raised. Here summarize the the most frequent asked questions and answers.</P><P><STRONG>Q1: Can we use Joule to refactor an existing CAP project?</STRONG></P><P><STRONG>Answer</STRONG><SPAN>: Not as of 14 May 2024. However, the new feature of Refactoring existing CAP code using generative AI is under development and scheduled for Q2 of 2024. </SPAN><SPAN><BR /></SPAN><SPAN>It allows developers using Joule to generate SAP Cloud Application Programming Model (CAP) data models, application logic, and unit tests to:</SPAN></P><UL><LI>Add or remove an entity</LI><LI>Add, modify, or remove the properties of entities</LI><LI>Create or remove associations between entities</LI><LI>Get more support on a service projection definition</LI></UL><P><SPAN>&nbsp;Please find more detail <A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;range=CURRENT-LAST#Q2%202024;INNO=4B1ACEFEF2C91EDEB9D0FFD56DB789FE" target="_self" rel="noopener noreferrer">here</A>. </SPAN></P><P><STRONG>Q2: Can the classic CAP NodeJS application(not generated by Joule) leverage the productivity tools such as Story Board, Page Editor etc.?</STRONG></P><P><STRONG>Answer</STRONG><SPAN>:&nbsp; As of 14 May 2024, the productivity tools is now only available in SAP Build Code. However, it will be also available in SAP Business Application Studio for classic CAP NodeJS Application development, which is planned for Q2 2024. Please check <A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;range=CURRENT-LAST#Q2%202024;INNO=139B28CB2E8C1EDEA7AF7FCF6DEFA26E" target="_self" rel="noopener noreferrer">here</A> for more detail. </SPAN></P><P><STRONG>Q3</STRONG>: <STRONG>Can I use Joule in SAP Build Code for CAP Java Application development?</STRONG></P><P><STRONG>Answer</STRONG><SPAN>: As of 14 May 2024, only CAP NodeJS Application development is supported with Joule in SAP Build Code. However, CAP Java Application development is planned in Q3 2024. Please check <A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;q=java&amp;range=CURRENT-LAST#;INNO=D5DC47561FA21EDEB58FCC2E2488A770" target="_self" rel="noopener noreferrer">here</A> for more detail. </SPAN></P><P><STRONG>Q4: How can I jump start with SAP Build Code? </STRONG></P><P><STRONG>Answer: </STRONG><SPAN>Please follow <A href="https://developers.sap.com/mission.sap-build-code-test-drive.html" target="_self" rel="noopener noreferrer">this developer tutorial</A> to have a test drive with SAP Build Code. </SPAN></P><P><STRONG>Q5: What license do I need to use SAP Build Code? Do I need SAP Generative AI Hub in my SAP BTP Global Account for it?</STRONG><BR /><STRONG>Answer</STRONG>: You will just need the license and entitlement of SAP Build Code in your SAP BTP account to use it. No extra license required.</P><P>SAP Build Code is available on <STRONG>Trial </STRONG>and the <STRONG>Free-tier</STRONG> plan of SAP BTP for free evaluation, and commercially available through <STRONG>SAP BTPEA</STRONG> and <STRONG>Pay-As-You-Go</STRONG> for production. For partners, it is also available in <STRONG>TDD</STRONG> license.</P><P><STRONG>Q6: What are the differences between SAP Build Code and SAP Business Application Studio? </STRONG></P><P><STRONG>Answer: </STRONG>SAP Build Code is built on top of SAP Business Application Studio with <STRONG>generative AI capabilities</STRONG> for code generation, <STRONG>guided development</STRONG> and <STRONG>end-to-end unified development experience</STRONG> of SAP solution and extension.&nbsp; It offers unparalleled efficiency and effectiveness in application development.</P><P><STRONG>Q7: What is the future of SAP Business Application Studio? We have seen the evolution of SAP Web IDE, then SAP Business Application Studio, Now SAP Build Code.<BR /></STRONG></P><P><STRONG>Answer: </STRONG>SAP Business Application Studio remain as a separated product for development of&nbsp; classic CAP application, Fiori application, mobile application development etc. It will be also evolved and improved overtime. For example, The productivity tools such as Story Board, New Fiori Template Wizard and Page Editor will be also available in Business Application Studio to improve the developer efficiency and experience. However, the generative-AI capabilities are exclusively available in SAP Build Code. Please check its <A href="https://roadmaps.sap.com/board?range=CURRENT-LAST&amp;PRODUCT=67837800100800007077#Q2%202024" target="_self" rel="noopener noreferrer">roadmap</A> for more detail.</P><P><STRONG>Q8: When should I choose SAP Build Code? And When should I use ABAP side-by-side or On-stack extensibility for Clean Core development? </STRONG></P><P><STRONG>Answer: </STRONG>It is not a simple answer, which depends on the use case and technical capability of the team. Here you have use case pattern of SAP S/4HANA Cloud extension in high-level.</P><P><STRONG>On-Stack Extensibility:</STRONG></P><UL><LI>Adapt SAP Standard applications(UI, Custom Field, Custom Data Model) through public extension point</LI><LI>Full-stack application or new integration in embedded steampunk with public local API</LI></UL><P><STRONG>Side-by-Side Extensibility:</STRONG></P><UL><LI>Full-stack application: single tenant, multi-tenant SaaS, hub scenario.</LI><LI>Mobile applications</LI><LI>Process Automation among multiple systems</LI></UL><P><SPAN>Please to go through </SPAN><A href="https://help.sap.com/docs/sap-btp-guidance-framework/extension-architecture-guide/what-is-extension-architecture-guide" target="_self" rel="noopener noreferrer"><STRONG>Extension Architecture Guide </STRONG></A><SPAN>for more details.</SPAN>&nbsp;</P><P><STRONG>Q9: Will be similar generative-AI capability available for ABAP?</STRONG><BR /><STRONG>Answer</STRONG>: Yes. Similar <STRONG>generative-AI capability </STRONG>is planned for ABAP Cloud. Please stay tuned.</P><P><STRONG>Q10: Is it Clean Core only applicable with side-by-side extensibility? How about On-Stack extensibility?</STRONG><STRONG>Answer: </STRONG>Not, Clean Core can be through both On-Stack extensibility and Side-by-Side extensibility.</P><P><STRONG>Q11: Is there any plan to make extension development easier for SAP S/4HANA Cloud with SAP Build Code?<BR />Answer: </STRONG>There are some features planned in SAP Build Code about closer integration with ABAP, such as:</P><UL><LI><A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;range=CURRENT-LAST&amp;q=bapi#Q3%202024;INNO=ABC1893F1B121EEEB9BD9D89D2AE9F00" target="_self" rel="noopener noreferrer">Enabling remote function call consumption</A></LI><LI><A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;q=abap&amp;range=CURRENT-LAST#;INNO=4B1ACEFEF2C91EDEB9BD7CA30CD289F1" target="_self" rel="noopener noreferrer">Generation of services in ABAP RESTful application programming model for building extensions</A></LI><LI><A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;q=abap&amp;range=CURRENT-LAST#;INNO=452DD1C72D3A1EEEB9BD8C4B7EFE18F5" target="_self" rel="noopener noreferrer">Generation of services in ABAP RESTful application programming model from business objects in SAP S/4HANA</A></LI><LI><A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800004515&amp;range=CURRENT-LAST&amp;q=abap#Q3%202024" target="_self" rel="noopener noreferrer">more</A> ...</LI></UL><H2 id="toc-hId-1902926025">Additional Material</H2><P>In this final section, we have compiled additional materials you can check, in order to deepen your knowledge on this topic:</P><H3 id="toc-hId-1581193204">Generative AI at SAP</H3><UL><LI><U><A href="https://open.sap.com/courses/genai1" target="_blank" rel="noopener noreferrer">OpenSAP</A></U><U><A href="https://open.sap.com/courses/genai1" target="_blank" rel="noopener noreferrer"> Course | Generative AI with SAP</A></U></LI><LI><A href="https://pages.community.sap.com/topics/machine-learning" target="_blank" rel="noopener noreferrer">SAP Community | Artificial Intelligence and Machine Learning at SAP</A></LI><LI><A href="https://www.sap.com/products/artificial-intelligence.html" target="_blank" rel="noopener noreferrer">SAP Global Site | SAP Business AI</A></LI></UL><H3 id="toc-hId-1384679699">SAP Build Code</H3><UL><LI><U><A href="https://www.sap.com/products/technology-platform/developer-tools.html" target="_blank" rel="noopener noreferrer">SAP Global Site | SAP Build Code</A></U></LI><LI><U><A href="https://pages.community.sap.com/topics/build-code" target="_blank" rel="noopener noreferrer">SAP Community | SAP Build Code</A></U></LI><LI><U><A href="https://help.sap.com/docs/build_code/d0d8f5bfc3d640478854e6f4e7c7584a/504854f457cc4fbf9f79136dbc773618.html" target="_blank" rel="noopener noreferrer">SAP Help Portal | SAP Build Code</A></U></LI><LI><U><A href="https://discovery-center.cloud.sap/serviceCatalog/sap-build-code?service_plan=standard&amp;region=all&amp;commercialModel=cloud" target="_blank" rel="noopener nofollow noreferrer">Discovery Center | SAP Build Code</A></U></LI><LI><U><A href="https://developers.sap.com/tutorial-navigator.html?tag=software-product%3Atechnology-platform%2Fsap-build-code%2Fsap-build-code" target="_blank" rel="noopener noreferrer">SAP Developers Portal | SAP Build Code Tutorials &amp; Missions </A></U></LI></UL><H3 id="toc-hId-1188166194">Additional Materials of this session</H3><UL><LI><U><A href="https://github.com/SAP-samples/btp-generative-ai-hub-use-cases/tree/main/03-develop-with-joule-in-sap-build-code" target="_blank" rel="noopener nofollow noreferrer">Customer Loyalty Program App – GitHub repository</A></U></LI><LI><U><A href="https://performancemanager.successfactors.eu/sf/learning?destUrl=https%3a%2f%2fsaplearninghub%2eplateau%2ecom%2flearning%2fuser%2fdeeplink%5fredirect%2ejsp%3flinkId%3dPROGRAM%5fDETAILS%26programID%3dPE%5fKB%5fGEN%5fAI%5fBTP%5fWA%26fromSF%3dY&amp;company=learninghub" target="_blank" rel="noopener nofollow noreferrer">Web Assessment to earn the Knowledge badge of "</A><A href="https://performancemanager.successfactors.eu/sf/learning?destUrl=https%3a%2f%2fsaplearninghub%2eplateau%2ecom%2flearning%2fuser%2fdeeplink%5fredirect%2ejsp%3flinkId%3dPROGRAM%5fDETAILS%26programID%3dPE%5fKB%5fGEN%5fAI%5fBTP%5fWA%26fromSF%3dY&amp;company=learninghub" target="_blank" rel="noopener nofollow noreferrer">Generative AI development with SAP BTP</A>"</U></LI><LI><U><SPAN class=""><SPAN><A href="https://partneredge.sap.com/en/library/education/products/btp/build/e_ep_use-cases_ai-foundation.html?#accordion-panel-section-libraryItem-descriptionSection-accordionitem_694022185" target="_self" rel="noopener noreferrer">Replays of the series about&nbsp;Augment your SAP BTP Use Cases with AI Foundation </A></SPAN></SPAN></U></LI></UL> 2024-05-16T22:12:27.753000+02:00