https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Build-Apps-blog-posts.xml SAP Community - SAP Build Apps 2024-05-20T20:00:29.740147+00:00 python-feedgen SAP Build Apps blog posts in SAP Community https://community.sap.com/t5/sap-builders-blog-posts/tips-to-add-your-sap-build-apps-application-to-different-btp-environments/ba-p/13631104 Tips to add your SAP Build Apps application to different BTP environments - Part 2 2024-03-15T13:46:29.333000+01:00 Aparna_N https://community.sap.com/t5/user/viewprofilepage/user-id/181564 <P>Hi SAP Builders!</P><P>This is a follow up blog to&nbsp;<A href="https://community.sap.com/t5/sap-builders-blog-posts/tips-to-add-your-sap-build-apps-application-to-different-btp-environments/ba-p/13630212" target="_blank">Tips to add your SAP Build Apps application to different BTP environments - Part 1</A>&nbsp;and here I will continue to showcase 'how to add your deployed SAP Build Apps application to different environments in SAP BTP (Business Technology Platform)',&nbsp;when all the required services (SAP Build Apps, SAP Build Work Zone, Advanced Edition) are running as part of the same Subaccount.</P><H3 id="toc-hId-1117881410"><U>Integrate your SAP Build Apps application to SAP Build Work Zone, Advanced edition</U></H3><H4 id="toc-hId-1050450624"><EM>Preparations before integration!</EM></H4><UL><LI>Ensure that the SAP Build Work Zone, advanced edition is available in the list of subscriptions and is accessible.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1709746550266.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76721i127BB247AA709D4E/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1709746550266.png" alt="Aparna_N_0-1709746550266.png" /></span></LI></UL><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>Users need to be assigned to at least the following 2 role collections to be able to create artifacts at design time in SAP Build Work Zone, Advanced Edition and access it later at runtime.</P><TABLE><TBODY><TR><TD width="276"><P>Workzone_Admin</P></TD></TR><TR><TD width="276"><P>Workzone_End_User</P></TD></TR></TBODY></TABLE><P>Refer to <A title="Onboarding to SAP Build Work Zone, advanced edition - Setup and Configuration" href="https://community.sap.com/t5/technology-blogs-by-sap/onboarding-to-sap-build-work-zone-advanced-edition-setup-and-configuration/ba-p/13556932" target="_blank">Onboarding to SAP Build Work Zone, advanced edition - Setup and Configuration </A>&nbsp;,<A class="" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-btp-onboarding-series-step-by-step-guide-to-activate-your-sap-build/ba-p/13555072" target="_blank">[SAP BTP Onboarding Series] - Step-by-Step guide to activate your SAP Build Work Zone, Advanced Edition</A>&nbsp;for some helpful hints in case of any issues while accessing the SAP Build Work Zone, advanced edition in the first place.<BR /><BR />For additional detailed reference feel free to consult the&nbsp;<A href="https://learning.sap.com/learning-journeys/implement-and-administer-sap-build-work-zone" target="_blank" rel="noopener noreferrer">Implementing and Administering SAP Build Work Zone | SAP Learning</A>&nbsp;- Explaining the Implementation Methodology - Explaining the Prepare Phase and&nbsp;<A href="https://help.sap.com/docs/build-work-zone-advanced-edition/sap-build-work-zone-advanced-edition/about-administrators" target="_blank" rel="noopener noreferrer">About Administrators | SAP Help Portal</A>.</P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1710491552308.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/81298iE7A4D0FD4A309C19/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1710491552308.png" alt="Aparna_N_1-1710491552308.png" /></span><SPAN>&nbsp;</SPAN></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Users need to be assigned to at least the following 2 role collections to be able to create artifacts at design time in SAP Build Work Zone, Advanced Edition and access it later at runtime.Workzone_AdminWorkzone_End_UserRefer to Onboarding to SAP Build Work Zone, advanced edition - Setup and Configuration &nbsp;,[SAP BTP Onboarding Series] - Step-by-Step guide to activate your SAP Build Work Zone, Advanced Edition&nbsp;for some helpful hints in case of any issues while accessing the SAP Build Work Zone, advanced edition in the first place.For additional detailed reference feel free to consult the&nbsp;Implementing and Administering SAP Build Work Zone | SAP Learning&nbsp;- Explaining the Implementation Methodology - Explaining the Prepare Phase and&nbsp;About Administrators | SAP Help Portal.&nbsp;</div></div></noscript></div></div><H4 id="toc-hId-853937119"><EM>Design-time setup</EM></H4><UL><LI>Access the SAP Build Lobby and select the option to create a business Site, ‘Build a Business Site.’</LI></UL><DIV style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1709746616681.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76722i9DD8CA8FCF5051C9/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1709746616681.png" alt="Aparna_N_1-1709746616681.png" /></span></DIV><UL><LI>Further select the option to ‘Configure Site Content.’<DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1709746662013.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76723iB9CF3FF8A3CE8E1B/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1709746662013.png" alt="Aparna_N_2-1709746662013.png" /></span></DIV></LI><LI>Switch to Channel Manager.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1709746692919.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76725i3818FAF9C9F42060/image-size/medium?v=v2&amp;px=400" role="button" title="Aparna_N_3-1709746692919.png" alt="Aparna_N_3-1709746692919.png" /></span></LI><LI>From the Channel Manager, refresh the HTML5 Apps to update it with the newly deployed app content.&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 class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1709746767047.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76726iDD387D9761FFC504/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1709746767047.png" alt="Aparna_N_4-1709746767047.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1709821147154.png" style="width: 696px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77224i97F9F79CDAEA9E22/image-dimensions/696x158?v=v2" width="696" height="158" role="button" title="Aparna_N_0-1709821147154.png" alt="Aparna_N_0-1709821147154.png" /></span></LI><LI>Next, we need to access the Content Manager and go to the Content Explorer and select the HTML5 Apps from there.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_6-1709746844119.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76728i5C7B7014CDB677B4/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_6-1709746844119.png" alt="Aparna_N_6-1709746844119.png" /></span></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_8-1709746953961.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76730i4BE938907203A8DD/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_8-1709746953961.png" alt="Aparna_N_8-1709746953961.png" /></span></P><P style=" padding-left : 60px; ">Here you should be able to find your newly deployed SAP Build App application. To add your application to the content of this Subaccount, select it and click on add.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1709821474031.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77226iD0A2B291B0F78938/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1709821474031.png" alt="Aparna_N_1-1709821474031.png" /></span></P><UL><LI>Finally, add this application to all the required roles of your end user via Content Manager -&gt; Roles and save it as illustrated below.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_10-1709747129965.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76732i681E06948762A5D0/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_10-1709747129965.png" alt="Aparna_N_10-1709747129965.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1709823554142.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/77236i52C19B60912A3106/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1709823554142.png" alt="Aparna_N_2-1709823554142.png" /></span></LI></UL><P style=" padding-left : 60px; ">Now, we are good to start with adding your application to SAP Build Work Zone, Advanced Edition, Business Site.</P><P><STRONG>Add and access the application at run time</STRONG></P><UL><LI>Access the SAP Build lobby again, this time click on the option ‘Manage Workpages and Workspaces’.&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 class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1709751461731.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76754iAA9B4E418783C95D/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1709751461731.png" alt="Aparna_N_0-1709751461731.png" /></span></LI><LI><FONT color="#000000">Create a ‘New Workspace’.</FONT><DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1710331485724.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79891iBCE6DF6211240CAC/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1710331485724.png" alt="Aparna_N_0-1710331485724.png" /></span></DIV></LI><LI>Provide the required details and click on create.<DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1710331661272.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79894iF3D6B990A757901E/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1710331661272.png" alt="Aparna_N_1-1710331661272.png" /></span></DIV></LI><LI>Alternately you can also edit an existing Workspace.</LI><LI>Create a Workpage and save it.<DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1710332275820.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79902i6DC7E7D38E400E27/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1710332275820.png" alt="Aparna_N_4-1710332275820.png" /></span><P>&nbsp;</P></DIV><DIV class="">&nbsp;</DIV><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1710331927275.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79897i74CAE22D30C6798D/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1710331927275.png" alt="Aparna_N_2-1710331927275.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1710332061916.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79900i5FE9A8622A2F0A52/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1710332061916.png" alt="Aparna_N_3-1710332061916.png" /></span></LI><LI><P>Alternately you can just access the <STRONG>Home</STRONG> page and add your content it.&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1710491354779.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/81301iAE0C8E06F63FF08C/image-size/medium?v=v2&amp;px=400" role="button" title="Aparna_N_0-1710491354779.png" alt="Aparna_N_0-1710491354779.png" /></span></P></LI><LI>Add a section and add a widget to it.&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 class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_5-1710332360984.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79905i6C397419D6A7FF64/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_5-1710332360984.png" alt="Aparna_N_5-1710332360984.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_0-1710332857002.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79913i983E5537C454CCB2/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_0-1710332857002.png" alt="Aparna_N_0-1710332857002.png" /></span></LI><LI>Here, our SAP Build Apps application can be found under the widget type 'Tiles'.<DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_1-1710332924840.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79914iDD356C9B010E302A/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_1-1710332924840.png" alt="Aparna_N_1-1710332924840.png" /></span></DIV></LI><LI>Select your SAP Build Apps application and add it.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_2-1710333135135.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79950i499D85AEE5070E0C/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_2-1710333135135.png" alt="Aparna_N_2-1710333135135.png" /></span></LI><LI>Finally publish it.&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 class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_3-1710333220840.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79951i2608FB9F95AD22F3/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_3-1710333220840.png" alt="Aparna_N_3-1710333220840.png" /></span><SPAN><SPAN>&nbsp; </SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_4-1710333281798.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79954i7E78D81572BAA1AF/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_4-1710333281798.png" alt="Aparna_N_4-1710333281798.png" /></span></LI><LI>Now, we can launch our application by clicking on the Tile.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_5-1710333422013.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79956i28C7E52D9A1A0A44/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_5-1710333422013.png" alt="Aparna_N_5-1710333422013.png" /></span></LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Aparna_N_6-1710333562456.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/79958i630E7C8218971B22/image-size/large?v=v2&amp;px=999" role="button" title="Aparna_N_6-1710333562456.png" alt="Aparna_N_6-1710333562456.png" /></span></P><P style=" padding-left : 30px; ">&nbsp;</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 style=" padding-left : 30px; ">As our goal is to add a deployed SAP Build Apps application to our Work Zone Site, we did not deep dive further into enhancing it. If this is interesting for you, please refer to the following materials on SAP Build Work Zone, Advanced Edition to explore further.</P><P style=" padding-left : 30px; "><A href="https://developers.sap.com/mission.workzone-first.html" target="_blank" rel="noopener noreferrer">Design Your First SAP Build Work Zone, Advanced Edition Business Site | SAP Tutorials</A><BR /><A href="https://pages.community.sap.com/topics/work-zone" target="_blank" rel="noopener noreferrer">SAP Build Work Zone | SAP Community</A></P></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">As our goal is to add a deployed SAP Build Apps application to our Work Zone Site, we did not deep dive further into enhancing it. If this is interesting for you, please refer to the following materials on SAP Build Work Zone, Advanced Edition to explore further.Design Your First SAP Build Work Zone, Advanced Edition Business Site | SAP TutorialsSAP Build Work Zone | SAP Community</div></div></noscript></div></div><P>With this, I hope that you would also be able to add your deployed SAP Build Apps application to SAP Build Work Zone, Advanced Edition.</P><P>&nbsp;</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"><STRONG>Coming up next...</STRONG><BR />In the Part 3 blog, you will learn to add your&nbsp;deployed SAP Build Apps application to different environments in SAP BTP (Business Technology Platform), when the SAP Build Apps service is running as part of a different subaccount in your global account (or) running as part of a different global account.</div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Coming up next...In the Part 3 blog, you will learn to add your&nbsp;deployed SAP Build Apps application to different environments in SAP BTP (Business Technology Platform), when the SAP Build Apps service is running as part of a different subaccount in your global account (or) running as part of a different global account.</div></div></noscript></div></div><P>Stay tuned and Happy building!</P> 2024-03-15T13:46:29.333000+01:00 https://community.sap.com/t5/technology-blogs-by-members/sap-btp-a-deep-dive-into-sap-build-capabilities/ba-p/13645817 SAP BTP - A Deep Dive into SAP Build Capabilities 2024-03-21T15:36:03.932000+01:00 vinodgkrishna https://community.sap.com/t5/user/viewprofilepage/user-id/160909 <H1 id="toc-hId-860765418">A Deep Dive into SAP Build Capabilities</H1><P>Citizen development is transforming the way businesses build applications. SAP BTP Build sits at the forefront of this movement, empowering everyone, not just professional coders, to create custom applications that address specific business needs. In this comprehensive blog, we'll delve into the intricacies of SAP BTP Build, exploring its core services, functionalities, and the benefits it offers.</P><H3 id="toc-hId-922417351"><STRONG>Demystifying SAP BTP Build: A Suite of Powerhouse Services</STRONG></H3><P>SAP BTP Build isn't just a single tool; it's a unified platform housing three robust services, each catering to distinct application development needs:<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="aaq.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84528iB4A7BEF8D4C2C20E/image-size/large?v=v2&amp;px=999" role="button" title="aaq.png" alt="aaq.png" /></span></P><OL><LI><P><STRONG>SAP Build Apps (formerly SAP AppGyver):</STRONG></P><UL><LI><STRONG>Visual Development Paradise:</STRONG>&nbsp;Unleash your creativity with a drag-and-drop interface. Build web and mobile applications intuitively, using pre-built components and functionalities. No coding experience required!</LI><LI><STRONG>Seamless Integration:</STRONG>&nbsp;Connect your applications seamlessly with existing SAP and non-SAP systems using pre-built connectors and APIs. This eliminates the need for complex integrations, saving time and resources.</LI><LI><STRONG>Offline Functionality (Mobile Apps):</STRONG>&nbsp;Keep your mobile applications operational even without an internet connection. This ensures uninterrupted workflows and enhances user experience, especially in scenarios with limited connectivity.</LI><LI><STRONG>Advanced Features:</STRONG>&nbsp;For those with a coding background, SAP Build Apps offers JavaScript extensions for more granular control and customization.</LI></UL></LI><LI><P><STRONG>SAP Build Process Automation (formerly SAP Process Automation):</STRONG></P><UL><LI><STRONG>Wrangle Repetitive Tasks:</STRONG>&nbsp;Feeling bogged down by repetitive tasks? Automate them with SAP Build Process Automation!</LI><LI><STRONG>Intuitive Flow Builder:</STRONG>&nbsp;Design automated workflows visually using a user-friendly interface. Connect various steps, decision points, and actions to streamline complex processes.</LI><LI><STRONG>Pre-built Connectors:</STRONG>&nbsp;Leverage pre-built connectors to integrate with diverse systems like SAP S/4HANA, Salesforce, and more. This eliminates the need for custom coding and accelerates automation implementation.</LI><LI><STRONG>Advanced Monitoring and Error Handling:</STRONG>&nbsp;Track the performance of your automated workflows, identify errors promptly, and configure robust error handling mechanisms to ensure smooth operation.</LI></UL></LI><LI><P><STRONG>SAP Build Work Zone (formerly SAP Work Zone and SAP Launchpad service):</STRONG></P><UL><LI><STRONG>Centralized Information Hubs:</STRONG>&nbsp;Create captivating business sites with SAP Build Work Zone. These sites serve as central hubs, providing users with easy access to information, applications, and processes.</LI><LI><STRONG>Branding and Customization:</STRONG>&nbsp;Tailor the look and feel of your business sites to match your company's branding. Embed logos, customize colors, and layouts to create a cohesive user experience.</LI><LI><STRONG>Single Sign-On Integration:</STRONG>&nbsp;Streamline user access by integrating SAP Build Work Zone with your existing single sign-on (SSO) solution. This allows users to access all applications and resources with a single login.</LI><LI><STRONG>Personalization Capabilities:</STRONG>&nbsp;Cater to individual user needs by personalizing the content and functionality of business sites. Deliver a more relevant and engaging experience for each user.</LI></UL></LI></OL><H3 id="toc-hId-725903846"><STRONG>Unveiling the Benefits of SAP BTP Build: A Citizen Developer's Dream</STRONG></H3><P>By leveraging SAP BTP Build, businesses can unlock a treasure trove of benefits that empower employees and streamline operations. Let's explore some key advantages:</P><UL><LI><STRONG>Empowering Citizen Developers:</STRONG>&nbsp;Bridge the gap between business needs and IT capabilities. Anyone can now build applications without writing code, fostering a culture of innovation and problem-solving across the organization.</LI><LI><STRONG>Increased Productivity:</STRONG>&nbsp;Automate manual tasks and streamline workflows, freeing up valuable time for employees to focus on more strategic initiatives. Employees can also build custom tools to enhance their daily tasks, leading to significant productivity gains.</LI><LI><STRONG>Enhanced Agility:</STRONG>&nbsp;Respond quickly to changing business requirements by rapidly building and deploying custom applications. This allows businesses to adapt to market shifts and seize new opportunities with greater agility.</LI><LI><STRONG>Improved User Experience:</STRONG>&nbsp;Build applications with a user-centric approach. SAP BTP Build's visual development tools ensure applications are intuitive and user-friendly, leading to higher user satisfaction and adoption rates.</LI><LI><STRONG>Reduced Development Costs:</STRONG>&nbsp;Eliminate the need for extensive coding resources and complex development environments. Build applications faster and at a lower cost compared to traditional development methods.</LI></UL><H3 id="toc-hId-529390341"><STRONG>Who Can Benefit from SAP BTP Build? A Wide Spectrum of Users</STRONG></H3><P>The beauty of SAP BTP Build lies in its accessibility. Here's how different user groups can leverage the platform's capabilities:</P><UL><LI><STRONG>Business Users:</STRONG>&nbsp;Build custom dashboards, reports, and approval workflows to streamline their daily tasks. Imagine a sales manager creating a mobile app to track leads on the go or a finance professional building a dashboard for real-time budget insights.</LI><LI><STRONG>HR Professionals:</STRONG>&nbsp;Automate onboarding processes, manage leave requests, and build self-service portals for employees</LI></UL><P>To delve deeper and explore more use cases relevant to your organization needs, technical configurations for complex scenarios or to know more on value add feel free to connect.</P> 2024-03-21T15:36:03.932000+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-members/linking-a-sap-build-app-to-microsoft-teams/ba-p/13634551 Linking a SAP Build app to Microsoft Teams 2024-03-26T17:00:00.019000+01:00 chris_scott https://community.sap.com/t5/user/viewprofilepage/user-id/184054 <P>I have been investigating easy ways to demonstrate the capabilities of Looply, the SAP: Microsoft Teams integration platform.</P><P>One great feature of Looply is the lo-code / no-code approach to building Teams integrations, which makes it a fantastic tool for citizen developers.&nbsp; So, since SAP Build is the cornerstone of SAP’s citizen developer offering, I decided to try to build a simple app using SAP Build, and see what steps are required for the app to trigger the creation of adaptive cards within Teams.</P><P>Like everything, as I was starting with zero knowledge of SAP Build and little knowledge of Looply, the first time involved a lot of learning.&nbsp; But with a little experience of both, the integration turns out to be ridiculously simple.</P><H2 id="toc-hId-988892060"><STRONG>Building demo cards</STRONG></H2><P>I didn’t set off with a specific business process to model, but instead decided to build a series of cards with hard-coded data to simply illustrate what could be possible.</P><P>So without any back-end process to worry about, I could immediately start building some sample cards within Looply.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_0-1710176841350.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78770i1CEC36B715AD13F7/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_0-1710176841350.jpeg" alt="chris_scott_0-1710176841350.jpeg" /></span></P><P>The option to use AI to build a card proved very useful.&nbsp; Basically there’s an in-built integration with ChatGPT that enables you to define your requirements and a card is generated for you.</P><P>I could then edit the generated card using the Template Designer, and then create a copy, change all the fields and re-save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_1-1710176841357.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78771iFAE9420AE5AC696C/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_1-1710176841357.jpeg" alt="chris_scott_1-1710176841357.jpeg" /></span></P><P>In this way I was able to create a few different example cards very quickly, as of course there was no data binding or dynamic logic to consider.</P><H2 id="toc-hId-792378555"><STRONG>Building the Looply logic</STRONG></H2><P>The Looply logic takes the form of a Workflow, which is built using the Workflow Studio.</P><P>The Workflow needs to be built alongside the SAP Build app. &nbsp;While not necessarily an iterative process, the key steps need to be:</P><UL><LI>Begin the Looply Workflow build, and save to create the API ‘endpoint’</LI><LI>Build the Looply app, and trigger the Looply Workflow from the app in test mode, to pass in the data model</LI><LI>Complete the build of the Looply Workflow, now with visibility of the data model.</LI></UL><P>Starting the Workflow build means literally giving the workflow a name, selecting the ‘event trigger’ starting point, and hitting Save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_2-1710176841361.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78772iE7FC49CD354584D1/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_2-1710176841361.jpeg" alt="chris_scott_2-1710176841361.jpeg" /></span></P><P>This generates a ‘Request URL’ that you can copy, as you will need this in your SAP Build app.</P><H2 id="toc-hId-595865050"><STRONG>Building the SAP Build app</STRONG></H2><P>For the SAP Build app design I added a heading, subheading, a drop-down list and a button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_3-1710176841366.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78774iD777958C1F06327A/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_3-1710176841366.jpeg" alt="chris_scott_3-1710176841366.jpeg" /></span></P><P>I hard-coded values in the drop-down list, giving each entry a integer value and a readable label that related to the sample cards I built in Looply.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_4-1710176841368.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78775i90C4BC4DD95A7740/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_4-1710176841368.png" alt="chris_scott_4-1710176841368.png" /></span></P><P>I then created a ‘Page variable’ called ‘CardTypeText’ and bound the Selected Value of the drop-down list to the variable.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_5-1710176841371.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78773i2C6E4ED4B62EC5C3/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_5-1710176841371.jpeg" alt="chris_scott_5-1710176841371.jpeg" /></span></P><P>Next I needed to define my data connection to Looply.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_6-1710176841374.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78779i24E2610C1D5932E6/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_6-1710176841374.jpeg" alt="chris_scott_6-1710176841374.jpeg" /></span></P><P>I used the SAP Build Apps classic data entities option, and pasted in the ‘Request URL’ string from the Looply Workflow into the ‘Resource URL’ field. I also added an HTTP Header to pass in a generated Looply API key.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_7-1710176841378.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78778i88176EEF6E269BFF/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_7-1710176841378.png" alt="chris_scott_7-1710176841378.png" /></span></P><P>Under ‘Get Collection’ I added a field ‘CardType’ to the schema, and then I could save the data entity.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_8-1710176841381.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78776i2795F5CE4E04EEA3/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_8-1710176841381.jpeg" alt="chris_scott_8-1710176841381.jpeg" /></span></P><P>Now, back in the UI Canvas, I could add some logic to the button.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_9-1710176841388.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78782i394373B02C8425B4/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_9-1710176841388.jpeg" alt="chris_scott_9-1710176841388.jpeg" /></span></P><P>Here I passed in the page variable to the data connection schema.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_10-1710176841390.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78780i1E96045B43768CD8/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_10-1710176841390.jpeg" alt="chris_scott_10-1710176841390.jpeg" /></span></P><P>Back in the data connection, I was ready to use the ‘RUN TEST’ option under ‘CREATE RECORD’ to try to trigger the Looply Workflow.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_11-1710176841393.jpeg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78781i81FBBFDE82AD1DB1/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_11-1710176841393.jpeg" alt="chris_scott_11-1710176841393.jpeg" /></span></P><P><STRONG>Completing the Looply Workflow</STRONG></P><P>Back in the Looply Workflow, I can now add a ‘branch’ step based on a condition, which checks the value of the ‘CardType’ field.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_12-1710176841400.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78783i26D1F1D17894D315/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_12-1710176841400.png" alt="chris_scott_12-1710176841400.png" /></span></P><P>Each branch has a configured value:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_13-1710176841407.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78785iA04A35F2A5789AA9/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_13-1710176841407.png" alt="chris_scott_13-1710176841407.png" /></span></P><P>At the end of each branch, I trigger a different adaptive card:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="chris_scott_14-1710176841410.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/78784iB3559E7F92FFE964/image-size/large?v=v2&amp;px=999" role="button" title="chris_scott_14-1710176841410.png" alt="chris_scott_14-1710176841410.png" /></span></P><P>I select an app already created in Looply, and for the purpose of this demo, just hard-code a recipient email address.</P><P>Then I’m good to go to test.&nbsp; I can preview the app on desktop or phone:</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%2FuAVHQI7PouE%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DuAVHQI7PouE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FuAVHQI7PouE%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="600" height="337" scrolling="no" title="SAP Build and Microsoft Teams" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><H2 id="toc-hId-399351545"><STRONG>Summary</STRONG></H2><P>With no development I was able to build my demo, triggering different Adaptive Cards in Teams based on a simple SAP Build app.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-03-26T17:00:00.019000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/btp-mobile-authentication-with-sap-build-apps/ba-p/13649299 BTP Mobile Authentication with SAP Build Apps 2024-03-26T19:22:42.066000+01:00 kanthi_maddukuri https://community.sap.com/t5/user/viewprofilepage/user-id/236295 <P><STRONG>The most awaited feature BTP Mobile Authentication with SAP Build Apps. In this blog let’s create Build Apps project which does authentication and fetches data from BTP.</STRONG></P><P><STRONG>Prerequisites:</STRONG></P><P>First, make sure to <A href="https://help.sap.com/docs/BUILD_APPS/431746e4c663458aa68d9754b237bfc6/39a35cf3447241509f4dbbd19a96dbc0.html" target="_blank" rel="noopener noreferrer">subscribe to SAP Build Apps</A>.</P><P><STRONG>Project Creation:</STRONG></P><P>From the Build lobby, create a new project by clicking “Create” button, selecting “Build an Application”, followed by “SAP Build Apps” and “Web &amp; Mobile Application”. Provide a Project Name and click on “Create”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="ProjectCreation.png" style="width: 761px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86295i024735979DD5B3EF/image-dimensions/761x950?v=v2" width="761" height="950" role="button" title="ProjectCreation.png" alt="ProjectCreation.png" /></span><STRONG>BTP Authentication:</STRONG></P><P>Please select the “Auth” tab</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BTPAuthentication.png" style="width: 757px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86298i489834CD2716457C/image-dimensions/757x826?v=v2" width="757" height="826" role="button" title="BTPAuthentication.png" alt="BTPAuthentication.png" /></span></P><P>Select “ENABLE AUTHENTICATION” and select “SAP BTP Authentication” and Click “OK”.</P><P>This will add SAP BTP Authentication as shown below and this will also add an additional page to our application to handle authentication.</P><P><STRONG>Data Integration:</STRONG></P><P>To test BTP authentication we will add data from BTP Destinations.</P><P>Navigate to “Data” tab, From the “No Systems integrated”, select “ADD INTEGRATION” button. From SAP Systems, Click on “BTP DESTINATIONS”. In the list select “Northwind” destination and we can browse the details. Please select “Products” entity.</P><P>To use our destination in the application, select “INSTALL INTEGRATION” and click on “ENABLE DATA ENTITY” button and Click on “SAVE”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="DataIntegration1.png" style="width: 761px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86300iD003B51256E0F1B1/image-dimensions/761x957?v=v2" width="761" height="957" role="button" title="DataIntegration1.png" alt="DataIntegration1.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DataIntegration2.png" style="width: 795px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86301iB73CD061D59FC733/image-dimensions/795x848?v=v2" width="795" height="848" role="button" title="DataIntegration2.png" alt="DataIntegration2.png" /></span></P><P><STRONG>Build Application Creation:</STRONG></P><P>In the Home Page, drag and drop a button. From “PROPERTIES” label it as “Products”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="ProductButton.png" style="width: 791px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86305i60363CE83180BC01/image-dimensions/791x289?v=v2" width="791" height="289" role="button" title="ProductButton.png" alt="ProductButton.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Click on the “Home page” to add another page to view Product details.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="NewPageProductspng.png" style="width: 983px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86307i3FD8F3C2BE9737EB/image-size/large?v=v2&amp;px=999" role="button" title="NewPageProductspng.png" alt="NewPageProductspng.png" /></span></P><P>Let’s add a basic list item, for that click on “MARKETPLACE” and select from “Lists”-&gt; “Basic list” and “INSTALL”. Click “SAVE”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BasicList.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86312i2DC50D1670236BD0/image-size/large?v=v2&amp;px=999" role="button" title="BasicList.png" alt="BasicList.png" /></span></P><P>Click on “Configure” and Select “Products” data entity. Drag source data fields to the component fields to the right. Click on “SAVE AND EXIT”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ConfigureProductFields.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86313iAC4270C4659A3137/image-size/large?v=v2&amp;px=999" role="button" title="ConfigureProductFields.png" alt="ConfigureProductFields.png" /></span></P><P>Go to “Home page” and select “Products” button and add logic for “Navigation”. Drag and drop “Open Page” to the logic panel. Click on “Open page” and configure the page to be opened as “Products.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ProductsPageNavigation.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86315i5BDB1525E046400F/image-size/large?v=v2&amp;px=999" role="button" title="ProductsPageNavigation.png" alt="ProductsPageNavigation.png" /></span></P><P>Click on “Launch” tab and preview the application flow. We have successfully created application to view backend data. Now let’s setup build service.</P><P><STRONG>Build Service:</STRONG></P><P>Click on “Launch” tab and Select “Open build service” from “Build your app”.</P><P>Let Configure BTP Authentication for Android Mobile device.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BuildService.png" style="width: 722px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86317iBCEC9A2DA2A0799A/image-dimensions/722x731?v=v2" width="722" height="731" role="button" title="BuildService.png" alt="BuildService.png" /></span></P><P><STRONG>Android Build Settings</STRONG></P><P>Add Keystore details and click next and leave the default values for “Bundle Settings”, “Image Assets” and “Permissions”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Keystore.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86318i279337B266118314/image-size/large?v=v2&amp;px=999" role="button" title="Keystore.png" alt="Keystore.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BundleSettings.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86319iCE2975166B0DD3BC/image-size/large?v=v2&amp;px=999" role="button" title="BundleSettings.png" alt="BundleSettings.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ImageAssets.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86320iA332458359A6A716/image-size/large?v=v2&amp;px=999" role="button" title="ImageAssets.png" alt="ImageAssets.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Permissions.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86322iD19E6665E376A626/image-size/large?v=v2&amp;px=999" role="button" title="Permissions.png" alt="Permissions.png" /></span></P><P>To Configure “Mobile Services” , Click on “Enable SAP Mobile Services”.</P><P>From drop down fill in the values with the ones from BTP Cockpit Subaccount – API Endpoint, Org Name, and Name of one of the spaces.</P><P>After choosing an API Endpoint, make sure to Click on Login button and after successful login, select organization and Space from dropdown and click “SAVE”.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="BuildSettings.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86329i154BE20D982EBCAA/image-size/large?v=v2&amp;px=999" role="button" title="BuildSettings.png" alt="BuildSettings.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SuccessfulBTPAuth.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86330i3F629959667C5090/image-size/large?v=v2&amp;px=999" role="button" title="SuccessfulBTPAuth.png" alt="SuccessfulBTPAuth.png" /></span></P><P><SPAN>Now let’s do a Android Build.. Click on the “Buiild” button, once the build is succesful we will able to install and run the .apk on Android device</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AndroidBuildButtonEnabled.png" style="width: 868px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86332iA616C74FC342A603/image-size/large?v=v2&amp;px=999" role="button" title="AndroidBuildButtonEnabled.png" alt="AndroidBuildButtonEnabled.png" /></span></SPAN></P><P><STRONG>On Android Device</STRONG></P><P>Yay, the app is ready, we have successfully made an Android build and below is the BTP Authentication flow on the device.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AndroidDevice.png" style="width: 972px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86334i78C5E27A019C94BE/image-size/large?v=v2&amp;px=999" role="button" title="AndroidDevice.png" alt="AndroidDevice.png" /></span></P> 2024-03-26T19:22:42.066000+01:00 https://community.sap.com/t5/human-capital-management-blogs-by-members/sap-successfactors-with-sap-build-app-quick-vacant-positions-check-app/ba-p/13653992 SAP Successfactors with SAP BUILD APP :Quick Vacant Positions Check App 2024-03-30T23:56:58.395000+01:00 JoseJW https://community.sap.com/t5/user/viewprofilepage/user-id/16861 <P>Positions are one of the most created/modified objects within SAP Successfactors suite&nbsp; .Hence there is&nbsp; a need of governing the positions and ensuring that redundant positions are not created. Its quite a tedious task&nbsp; within&nbsp; Successfactors(SF)&nbsp; to check if vacant positions exists&nbsp; and then proceed with creation of new position if vacant positions doesn't exist.</P><P>I was trying to check various options to develop a small app which&nbsp; helps the&nbsp; HR Admins to check availability of a vacant position before creation of new position.</P><P>Developing a full blown Fiori application as an extension in SAP BTP&nbsp; was always an option but then I wanted to check if there was something simple and can be implemented&nbsp; quickly without writing a lot of code.</P><P>This is where I decided to take SAP BUILD APP for a ride&nbsp; and the end result was awesome. I was able to come up with a&nbsp; &nbsp;working&nbsp; demo version of the&nbsp; usecase&nbsp; in no time and&nbsp; most importantly without writing any single piece of code.&nbsp;&nbsp;</P><P>A final snapshot of the App (mobile version)developed in SAP BUILD APP :</P><H3 id="toc-hId-1119795999">&nbsp;</H3><H3 id="toc-hId-923282494"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="S0015794939_1-1711829632517.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88752iE9C0982DE9528721/image-size/large?v=v2&amp;px=999" role="button" title="S0015794939_1-1711829632517.png" alt="S0015794939_1-1711829632517.png" /></span></H3><H3 id="toc-hId-726768989">A recording of the demo is available below</H3><H3 id="toc-hId-530255484"><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%2FKpLg8F9K8k8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKpLg8F9K8k8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FKpLg8F9K8k8%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="200" height="112" scrolling="no" title="SAP Successfactors : Quick Vacant Position Check with SAP BUILD APP" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></H3><H3 id="toc-hId-333741979">&nbsp;</H3><P>I would like to share my experience and also my observations on how SAP BUILD APP made Successfactors extensions development&nbsp; a lot easier.</P><H3 id="toc-hId-137228474">Pre-Requisites</H3><P>SAP Developer Tutorials is the best place to start knowing&nbsp; the basics of SAP BUILD APP and&nbsp; to get it activated within the SAP BTP trial environment.</P><P><A href="https://developers.sap.com/tutorials/build-apps-trial-booster.html" target="_blank" rel="noopener noreferrer">https://developers.sap.com/tutorials/build-apps-trial-booster.html</A></P><P><A href="https://developers.sap.com/mission.appgyver-low-code.html" target="_blank" rel="noopener noreferrer">https://developers.sap.com/mission.appgyver-low-code.html</A></P><H3 id="toc-hId--59285031">&nbsp;</H3><H3 id="toc-hId--255798536">Successfactors Connectivity and Criterias</H3><P>Before launching the SAP BUILD APP,&nbsp; I created a destination in the trial subaccount to connect&nbsp; to one of my sandbox&nbsp; SF tenants.</P><H3 id="toc-hId--452312041"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="S0015794939_2-1711830254931.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88753i4FF25D1E8CCCBC07/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_2-1711830254931.png" alt="S0015794939_2-1711830254931.png" /></span></H3><H3 id="toc-hId--648825546">&nbsp;</H3><P>I identified the criteria based on which i wanted to find only the vacant managerial positions in Successfactors.&nbsp; The criteria were the below fields</P><UL><LI><P>country (we had a custom field configured in position to capture the country )</P></LI><LI><P>cost center</P></LI></UL><P>In the real&nbsp; scenario, we can have more criterias like Org units, company,etc., and as this was a demo --I&nbsp; took only 2 fields as criteria.</P><H3 id="toc-hId--920570420">SAP BUILD APP Config</H3><H3 id="toc-hId--1117083925">1. Launch SAP BUILD APP from Instance and Subscriptions section in the trial subaccount</H3><H3 id="toc-hId--1313597430"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_3-1711830659325.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88754i03AAB26C6FAFD0E8/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_3-1711830659325.png" alt="S0015794939_3-1711830659325.png" /></span></H3><H3 id="toc-hId--1510110935">2.Create a project of type --SAP Build Apps --&gt;Web &amp;Mobile Application</H3><H3 id="toc-hId--1706624440"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_4-1711830781978.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88755i40E6FF7B2CE35703/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_4-1711830781978.png" alt="S0015794939_4-1711830781978.png" /></span></H3><H3 id="toc-hId--1903137945">&nbsp;</H3><H3 id="toc-hId--2099651450"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_5-1711830823929.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88756iCAF92116442FE280/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_5-1711830823929.png" alt="S0015794939_5-1711830823929.png" /></span></H3><H3 id="toc-hId-1998802341">&nbsp;</H3><H3 id="toc-hId-1802288836">3.Click on the newly created project</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_15-1711831856890.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88776i5D1E794E890DEC1F/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_15-1711831856890.png" alt="S0015794939_15-1711831856890.png" /></span></P><P>&nbsp;</P><H3 id="toc-hId-1605775331">4.Navigate to Auth and Data Tab and Integrate it with SAP systems&nbsp;</H3><P>In our scenario we would integrate SAP BUILD APP with the destination that we created in the SAP BTP environment</P><P>First navigate to AUTH tab and enable BTP authentication</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_9-1711831435091.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88760i77DAB7ACE56DC233/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_9-1711831435091.png" alt="S0015794939_9-1711831435091.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_10-1711831457192.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88761iDE61BFF730D9CE7A/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_10-1711831457192.png" alt="S0015794939_10-1711831457192.png" /></span></P><P>Navigate to Data tab and connect to BTP destination</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_7-1711831318303.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88758i9F14DB9E1C368B5A/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_7-1711831318303.png" alt="S0015794939_7-1711831318303.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_8-1711831349670.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88759i4D5456A022CB68D0/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_8-1711831349670.png" alt="S0015794939_8-1711831349670.png" /></span></P><H3 id="toc-hId-1577445517">5.Enable Position Data entities</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_11-1711831563123.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88762i63159476378306F4/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_11-1711831563123.png" alt="S0015794939_11-1711831563123.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_12-1711831743973.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88769iA6E24741EAE37031/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_12-1711831743973.png" alt="S0015794939_12-1711831743973.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_13-1711831771341.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88771iEDBD48F47E0EABA9/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_13-1711831771341.png" alt="S0015794939_13-1711831771341.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_14-1711831801050.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88773i11A716E2DBD471C7/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_14-1711831801050.png" alt="S0015794939_14-1711831801050.png" /></span></P><H3 id="toc-hId-1380932012">6.Navigate back to UI Canvas tab and start designing your web page</H3><P>Drag and drop the fields from the left panel into the app . For my app I designed as below</P><UL><LI>Header --<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_18-1711832054129.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88780i663B48D84736174C/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_18-1711832054129.png" alt="S0015794939_18-1711832054129.png" /></span><P>&nbsp;</P></LI><LI>Text(Subtitle)--<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_19-1711832080264.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88781iD8D583C17959730B/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_19-1711832080264.png" alt="S0015794939_19-1711832080264.png" /></span><P>&nbsp;</P></LI><LI>A Card -- to provide a count of all vacant managerial positions<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_20-1711832144385.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88783iF7B196F2BA6113FA/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_20-1711832144385.png" alt="S0015794939_20-1711832144385.png" /></span><P>&nbsp;</P></LI><LI>Input Fields for the criterias and a Submit button to trigger searching of the vacant managerial positions<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_21-1711832231241.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88784iEC1F49C5979077C2/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_21-1711832231241.png" alt="S0015794939_21-1711832231241.png" /></span><P>&nbsp;</P></LI><LI>A List object to display&nbsp; the vacant position as&nbsp; &nbsp;&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_22-1711832341475.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88785iA6F87E83373ADD4C/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_22-1711832341475.png" alt="S0015794939_22-1711832341475.png" /></span><P>&nbsp;</P></LI><LI>Basic Table with data adapter to list all the vacant managerial positions when page is loaded.This component has to be installed from the marketplace&nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_23-1711832469915.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88787iFCE1F125C7DA99C9/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_23-1711832469915.png" alt="S0015794939_23-1711832469915.png" /></span><P>&nbsp;</P></LI></UL><H3 id="toc-hId-1184418507">7.Define Data Variables</H3><P>I defined 2 data variables</P><UL><LI>Position1 -- this is linked to the BASIC TABLE component&nbsp; and will contain all the managerial vacant positions</LI><LI>Position2 -- This would be linked to the managerial vacant position as per the criterias defined and would be loaded when the button 'Get Vacant Position...' is clicked</LI></UL><P>Both the variable is marked as type 'Collection of data records' as we would be querying multiple records from the position entity</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_24-1711832685001.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88788iFB089A2568601350/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_24-1711832685001.png" alt="S0015794939_24-1711832685001.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_25-1711832707715.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88789iAB68C16DEDEAB264/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_25-1711832707715.png" alt="S0015794939_25-1711832707715.png" /></span></P><H3 id="toc-hId-987905002">8.Define Page Variables</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_27-1711833052372.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88791i1F35D3AB27F42BBE/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_27-1711833052372.png" alt="S0015794939_27-1711833052372.png" /></span></P><P>&nbsp;</P><P>The following page variables were defined</P><UL><LI>paramCostCenter --- This is binded to the Cost Center Input field<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_26-1711832915535.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88790i69CEC1BEB7E930DB/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_26-1711832915535.png" alt="S0015794939_26-1711832915535.png" /></span><P>&nbsp;</P></LI><LI>paramCountry-- this is binded to Country Input field<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_28-1711833116090.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88792iCAF7F44C38580A03/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_28-1711833116090.png" alt="S0015794939_28-1711833116090.png" /></span><P>&nbsp;</P></LI><LI>posCount --This is binded to the Card component and contains the total count of vacant positions<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_29-1711833196737.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88793iF107433E2DDCAF2A/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_29-1711833196737.png" alt="S0015794939_29-1711833196737.png" /></span><P>&nbsp;</P></LI><LI>showVacRes -- This is binded to the visibility attribute of the container where the result of the vacant positions as per the criteria are displayed</LI></UL><H3 id="toc-hId-791391497">9.On Load of Page ,load all the positions into the Basic Data Tab and&nbsp; populate the count of the positions in the card.</H3><P>a.Select&nbsp; the Page in the UI canvas and then click on Add logic on Home Page</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_30-1711833406082.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88794i9F6232C5A9BDE509/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_30-1711833406082.png" alt="S0015794939_30-1711833406082.png" /></span></P><P>b.After the Page Mounted event, add 'Get Record Collection' logic and assign the Position entity as the resource.&nbsp; Click on the Filter condition and provide the condition as per the screenshot below.</P><P>This logic triggers&nbsp; a Query request to Position entity of SF via the BTP destination and the filter condition is also set accordingly.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_32-1711833573882.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88796iF0674EBC8D8022F2/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_32-1711833573882.png" alt="S0015794939_32-1711833573882.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_33-1711833672551.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88797i68A34679BC24E148/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_33-1711833672551.png" alt="S0015794939_33-1711833672551.png" /></span></P><P>c.Populate the data variable -Position1</P><P>The values from the previous step is then passed on to this logic wherein Position1 is updated&nbsp; &nbsp;and as per the binding provided the value to Basic Table component</P><P>For the Record Collecton attribute ,&nbsp; the binding type has to be set to 'Output&nbsp; value of another node' and then the output of the previous node has to be selected accordingly.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_34-1711833833138.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88798i3E744F447D8843CE/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_34-1711833833138.png" alt="S0015794939_34-1711833833138.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_35-1711833939857.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88800i1784C60101FBE0E4/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_35-1711833939857.png" alt="S0015794939_35-1711833939857.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_36-1711834031245.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88801i8706465788BE1BBC/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_36-1711834031245.png" alt="S0015794939_36-1711834031245.png" /></span></P><P>d. Populate the Page variable 'posCount'</P><P>The total count of the entries within data variable Position1 is updated again the page variable 'posCount'. This is binded to the CARD component wherein the total count is displayed.</P><P>The Assigned value attribute is populated with the respective formula</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_37-1711834116056.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88802i8C66358C421B440B/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_37-1711834116056.png" alt="S0015794939_37-1711834116056.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_38-1711834205762.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88803i54A84F3715DF5A04/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_38-1711834205762.png" alt="S0015794939_38-1711834205762.png" /></span></P><H3 id="toc-hId-594877992">10.On Click of the button--filter the position data as per the criterias mentioned and load the resulting position in the list screen.</H3><P>a. Navigate to Show logic of the Button(Get Vacancy).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_39-1711834344002.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88804iADED2B3CCADF1284/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_39-1711834344002.png" alt="S0015794939_39-1711834344002.png" /></span></P><P>&nbsp;</P><P>b. Add&nbsp; Get Record Collection logic&nbsp; and link it to Component Tap event. This logic will again trigger a query to the position entity of SF tenant via the BTP destination.</P><P>The Filter condition has to&nbsp; include the page variables -paramCountry and paramCostCenter</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_40-1711834442416.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88805i15946BFEEBD6E9ED/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_40-1711834442416.png" alt="S0015794939_40-1711834442416.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_41-1711834584119.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88806i6ABD037B4A6158A7/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_41-1711834584119.png" alt="S0015794939_41-1711834584119.png" /></span></P><P>c. Set the data variable Position2 to the result of the 'Get Record Collection' logic</P><P>The filter values from the Position entity are passed on the Position2 which is binded to list item wherein the results are displayed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_42-1711834729505.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88807iED49186EED2D7A3D/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_42-1711834729505.png" alt="S0015794939_42-1711834729505.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_43-1711834768973.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88808i6451FEB8FA6E2140/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_43-1711834768973.png" alt="S0015794939_43-1711834768973.png" /></span></P><P>&nbsp;</P><P>d. The other Pagevariables are related to the display of the repsective components and are binded to the visibility attribute of the component.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_44-1711834873968.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88809i4746DED732BA772E/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_44-1711834873968.png" alt="S0015794939_44-1711834873968.png" /></span></P><H3 id="toc-hId-398364487">11. Launch and test the application</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_45-1711834961083.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88810iF95519A7A26E0C19/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_45-1711834961083.png" alt="S0015794939_45-1711834961083.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_46-1711834988472.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88811iCA516F23922C2BE6/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_46-1711834988472.png" alt="S0015794939_46-1711834988472.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_47-1711835018116.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88812i339BE58A6A9FA7DD/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_47-1711835018116.png" alt="S0015794939_47-1711835018116.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="S0015794939_48-1711835171857.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88813i97B9A7EBE1DA14AE/image-size/medium?v=v2&amp;px=400" role="button" title="S0015794939_48-1711835171857.png" alt="S0015794939_48-1711835171857.png" /></span></P><P>&nbsp;</P><P>For preview on your mobile --you can install SAP BUILD APPS in your mobile , generate a PIN and then preview the same in your mobile</P><H2 id="toc-hId-495253989">Conclusion and Observations</H2><P>SAP BUILD offers a no code option to seamlessly connect to Successfactors Position entity and design the screen just by drag and drop.</P><P>SAP BUILD APP also provides a lot of options on the mobile preview&nbsp; wherein it can interact with your device and perform actions like open your device camera, open contacts, interact with you device barometer,gyroscope ,etc.</P><P>One important observation was that the SAP BUILD APP doesn't provide a UPSERT action . It only provides CREATE, REPLACE, UPDATE and DELETE action when making a call to external data. When updates are done in Successfactors, UPSERT actions are predominantly used and with the existing SAP BUILD APP actions, it is very difficult to update entries in Successfactors.&nbsp; For example, I started developing an app for Quick Hire of employee and in this case EmpEmployment had to be updated .This can be performed only by UPSERT action as Empemployment doesn't have Creatable enabled at the schema level.</P><P>I believe providing an UPSERT action will be part of the SAP BUILD Roadmap and once available ,it would be very easy to design Self service applications and deploy then as Successfactors extensions&nbsp; &nbsp;with low code/no code&nbsp; options.</P><P>Future development of Sucessfactors extensions with SAP BUILD looks exciting and awesome.</P><P><SPAN>Looking forward to your comments&nbsp; &nbsp;and observations.</SPAN></P><P>&nbsp;</P> 2024-03-30T23:56:58.395000+01:00 https://community.sap.com/t5/technology-blogs-by-members/declaring-dynamic-ui5-fields-in-sap-build-process-automation/ba-p/13652465 Declaring Dynamic UI5 Fields in SAP Build Process Automation 2024-04-03T10:54:30.852000+02:00 shivam_gupta07 https://community.sap.com/t5/user/viewprofilepage/user-id/873683 <P>While automating SAP Fiori applications, one might come across some dynamic UI5 elements such as mentioned in the snapshot below.</P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivam_gupta07_37-1711625783238.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88018i7B67624DE34F3264/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_37-1711625783238.png" alt="shivam_gupta07_37-1711625783238.png" /></span></P><P>In most cases, recorder may not be able to uniquely identify the elements, thus terminating the automation where it may not find the suitable elements.</P><P>In such cases, SAP provides an extremely useful functionality to declare the elements manually using Design Console’s screen and tree feature.</P><P>Let us look at the steps required to fulfill the requirement.</P><OL><LI>Switch to ‘Both’ view.</LI><LI>In the Screen panel, click the target element.</LI><LI>Find the element in the ‘Tree’. (It’s recommended to find element type till the last child DIV)</LI><LI>Hover and right click the element and select ‘Declare Element’.</LI></OL><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_29-1711625019685.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87997iE6E30B37D1D367BA/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_29-1711625019685.png" alt="shivam_gupta07_29-1711625019685.png" /></span></P><P>You might find that element has been uniquely identified or not, but we need to make sure that element must not use ‘id’ as an identifying criterion as it is static criteria, and we need to deal with dynamic elements.</P><P>&nbsp; &nbsp; 5. Add the ‘class’ criteria from all the available criteria and remove ‘id’.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_30-1711625056762.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88000i3B26015C973F4219/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_30-1711625056762.png" alt="shivam_gupta07_30-1711625056762.png" /></span>&nbsp; &nbsp; 6. Now, we need to add all the parent DIVs until we find the DIV which has a criterion named ‘nth-child-tag&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =X’. (Here X can vary on the number of parent DIVs)</P><DIV class="">&nbsp;</DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_31-1711625096579.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88003i992EAFB1C2FB1981/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_31-1711625096579.png" alt="shivam_gupta07_31-1711625096579.png" /></span>&nbsp; &nbsp; 7. For this, hover to the immediate parent DIV, right click and select ‘Add to criteria’. Repeat step number 5</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_32-1711625139948.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88006iF9551CAEF90E826A/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_32-1711625139948.png" alt="shivam_gupta07_32-1711625139948.png" /></span></P><P>Once you find DIV with ‘nth-child-tag=X’ criteria, you will also find that now your element has been uniquely identified.</P><P>Element structure would look something like this.</P><P style=" text-align: center; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="shivam_gupta07_33-1711625166876.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88007i47719263294AD31B/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_33-1711625166876.png" alt="shivam_gupta07_33-1711625166876.png" /></span></P><P style=" text-align : left; ">&nbsp; &nbsp;8. Since recorder uses SAPUI5 SDK automatically, make sure you change the element class and select a SAP UI5 recorder.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_34-1711625191801.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88009i6FDB1DE6618B1135/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_34-1711625191801.png" alt="shivam_gupta07_34-1711625191801.png" /></span>&nbsp; &nbsp; 9. Make sure to set the target element in automation to current declared element and you’re all set.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="shivam_gupta07_36-1711625233166.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/88011i0C859F1239043340/image-size/medium?v=v2&amp;px=400" role="button" title="shivam_gupta07_36-1711625233166.png" alt="shivam_gupta07_36-1711625233166.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><DIV class="">Hope this blog finds helpful in your automation journey.</DIV><DIV class=""><P>Automating Fiori applications becomes much easier as SAP provides various SDKs to interact with Fiori elements and other platform services such as Microsoft.</P><P>But there are some important factors which needs to be considered while automating using SPA tool which includes declaring elements uniquely, adding wait functionality as required, defining similar screens uniquely etc.</P><P>In this series of blog posts, we are going to deep dive into various other important factors of this RPA tool as well.&nbsp;</P><P>More blogs to follow.</P></DIV><DIV class="">&nbsp;</DIV><P>&nbsp;</P><P>&nbsp;</P> 2024-04-03T10:54:30.852000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/trigger-a-process-in-sap-build-process-automation-from-sap-build-apps/ba-p/13656725 Trigger a process in SAP Build Process Automation from SAP Build Apps without using API 2024-04-04T19:03:30.681000+02:00 Rama-Murari https://community.sap.com/t5/user/viewprofilepage/user-id/243525 <P><A href="https://www.sap.com/india/products/technology-platform/low-code.html" target="_self" rel="noopener noreferrer">SAP Build</A> is a low-code solution that helps accelerate development and automation. <SPAN>It helps to </SPAN></P><OL><LI><SPAN><STRONG>Build visually</STRONG></SPAN><SPAN>:&nbsp;&nbsp;</SPAN>Create enterprise apps, automate processes, and design business sites without writing code.</LI><LI><SPAN><STRONG>Integrate seamlessly</STRONG></SPAN><SPAN>:&nbsp;&nbsp;</SPAN>Accelerate&nbsp; Trigger the process<BR />Get process attributes<BR />Update process instances<BR />&nbsp; Retrieve process instances development with prebuilt connectors and business content for SAP and non-SAP systems.&nbsp;</LI><LI><SPAN><STRONG>Collaborate securely</STRONG></SPAN><SPAN>:&nbsp;&nbsp;</SPAN>Foster collaboration between business and development teams&nbsp;with built-in governance and lifecycle management.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SAP_Build.png" style="width: 553px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90228i8F1077283E445D7F/image-size/large?v=v2&amp;px=999" role="button" title="SAP_Build.png" alt="SAP_Build.png" /></span></P><P><STRONG>SAP Build Products :</STRONG></P><OL><LI><A href="https://www.sap.com/india/products/technology-platform/low-code-app-builder.html" target="_self" rel="noopener noreferrer"><STRONG>Build apps&nbsp;&nbsp;</STRONG></A><STRONG>SAP Build Apps</STRONG> helps you create enterprise applications without code.</LI><LI><A href="https://www.sap.com/india/products/technology-platform/process-automation.html" target="_blank" rel="noopener noreferrer"><STRONG>Automate processes</STRONG></A>&nbsp;&nbsp;<STRONG>SAP Build Process Automation</STRONG><SPAN> enables you to automate workflow processes and tasks with simple drag-and-drop capabilities</SPAN></LI><LI><A href="https://www.sap.com/india/products/technology-platform/workzone.html" target="_blank" rel="noopener noreferrer"><STRONG>Create business sites</STRONG></A>&nbsp;<STRONG>SAP Build Work Zone</STRONG> enables you to design engaging sites to get work done quickly across all your enterprise application</LI></OL><P>This blog will take you through how application built in Build Apps can easily integrate with SAP Build Process Automation and trigger a process in a Citizen Developer friendly way <STRONG>without</STRONG><SPAN> the need to make direct API calls.&nbsp;</SPAN></P><P><SPAN>Refer to this <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">blog</A> if you would like to know on how to integrate SAP Build Apps with SAP Build Process Automation using API calls.</SPAN></P><P><STRONG>Need for the integration between SAP Build Apps and SAP Build Process Automation</STRONG></P><UL><LI>Citizen Developer of SAP Build Apps would want to have the option to model their application to trigger a Business process in SAP Build Process Automation project so that Business process can be automated with the capabilities of process, decisions and automations along with complete E2E insights of the process with Visibility scenarios</LI><LI>Customers are looking for a native Android or iOS mobile application experience and not a web application for both triggering the process and for approvals as well .</LI><LI>Customer Experience and Success Factors Work zone uses SAP Build Apps as Application Extension and they need forms to be modelled in SAP Build Apps with rich styles and UI capabilities and at the same time trigger approvals for their process in SAP Build Process Automation</LI></UL><P><STRONG>How does this integration simplify the life of a Citizen Developer? </STRONG></P><P>Build Apps developer can discover the published Build Process from Library and consume it in their application in a low code no code way and doesn’t have to configure the API endpoint and parameters as was the case before.</P><P>&nbsp;<STRONG>What are the pre-requisites for using this integration ?</STRONG></P><P>BTP Subaccount should have the following service assignments under <A href="https://help.sap.com/docs/btp/sap-business-technology-platform/entitlements-and-quotas" target="_blank" rel="noopener noreferrer">entitlements</A><STRONG> : </STRONG></P><P>Click on the links below to do the initial setup for both the services<STRONG>.</STRONG></P><OL><LI><SPAN><A href="https://help.sap.com/docs/build-apps/service-guide/prerequisites" target="_blank" rel="noopener noreferrer"><STRONG>SAP Build Apps</STRONG></A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/initial-setup" target="_blank" rel="noopener noreferrer"><STRONG>SAP Build Process Automation</STRONG>&nbsp;</A></SPAN></LI></OL><P><STRONG>&nbsp;</STRONG>Now, business process can be created in SAP Build Process Automation and the application can be created in SAP Build Apps.</P><P><STRONG>Usecase –Release Credit Blocked Sales Order in S/4HANA</STRONG><STRONG>&nbsp;</STRONG></P><P>We will take the use case of Releasing a Credit Blocked Sales Order in S/4HANA to illustrate this integration scenario between SAP Build Apps and SAP Build Process Automation.</P><P>In S/4HANA, there are Business Partners for whom credit limit can be set .Now when the sales orders are created for these Business Partners with the total amount of sales orders exceeding the credit limit , the sales orders will get blocked automatically. To unblock these sales orders, approval will be required which can be done in SAP Build Process Automation.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RamaMurari_0-1712138258463.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90363i145C53E0D4154A45/image-size/large?v=v2&amp;px=999" role="button" title="RamaMurari_0-1712138258463.png" alt="RamaMurari_0-1712138258463.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Release Sales Order Credit Block process enables SAP S/4HANA customers to review the credit block on sales orders in SAP Build Apps application and send for approval to SAP Build Process Automation to decide about release, or reject of the credit blocked sales orders.&nbsp;</P><P>For all APIs for Credit Blocked Sales Order in S/4HANA , refer to the list on <A href="https://api.sap.com/api/OP_API_SLS_DOC_WITH_CREDIT_BLOCK_0001/overview" target="_self" rel="noopener noreferrer">Business Accelerator Hub</A>.</P><P><STRONG>Sample Business Process Flow:</STRONG><STRONG>&nbsp;</STRONG></P><P>Lets go to the unified <STRONG>SAP Build Lobby</STRONG> and create a Project for <STRONG>Business Process</STRONG> to release a credit blocked sales order in S/4HANA<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Create_Project.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90239iBA89A345040565C5/image-size/large?v=v2&amp;px=999" role="button" title="Create_Project.gif" alt="Create_Project.gif" /></span></P><P>The sample business process looks like below.<STRONG>&nbsp; </STRONG>The Build Process Automation project needs to be released ,deployed and in addition, <STRONG>Published to Library</STRONG> also so that it can be discovered and&nbsp; triggered from Build Apps application.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Release_Deploy.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90240iEB834EDBC3627987/image-size/large?v=v2&amp;px=999" role="button" title="Release_Deploy.gif" alt="Release_Deploy.gif" /></span></P><P><STRONG>Steps in the process :</STRONG></P><UL><LI>Create a process with API Trigger which takes a Credit Blocked Sales Order Number as input</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="API_Trigger_Input.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90241i7AEAA1AD89E5DE2E/image-size/large?v=v2&amp;px=999" role="button" title="API_Trigger_Input.png" alt="API_Trigger_Input.png" /></span></P><UL><LI>Read the Credit Blocked Sales Order Document details from S/4HANA using Actions</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Read_CB_SO.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90246iD540C1047567CE18/image-size/large?v=v2&amp;px=999" role="button" title="Read_CB_SO.gif" alt="Read_CB_SO.gif" /></span></P><UL><LI>Read the Sales Order Document Item details from S/4HANA using Actions</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Read_SO_Items.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90247iE7BF2043042C3278/image-size/large?v=v2&amp;px=999" role="button" title="Read_SO_Items.gif" alt="Read_SO_Items.gif" /></span></P><UL><LI>Determine Approver using Decisions</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Decision.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90248i17D82D761C92DA43/image-size/large?v=v2&amp;px=999" role="button" title="Decision.gif" alt="Decision.gif" /></span></P><UL><LI>Create an Approval Form with relevant Sales Order details where the approver can Approve or Reject the Credit Block removal<UL><LI>If its approved, Release the Credit Block in S/4HANA using Actions and End the process</LI><LI>If its rejected , End the process</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Approval.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90249i5FA8C63F7C2A3FB3/image-size/large?v=v2&amp;px=999" role="button" title="Approval.gif" alt="Approval.gif" /></span></P><P>For complete explanation on this scenario and Build Process Automation project, you can refer to the Devtoberfest youtube video on “<SPAN><A href="https://www.youtube.com/watch?v=PGyFYzFTUrc" target="_blank" rel="noopener nofollow noreferrer">Start Automating your work with SAP Build Process Automation”</A></SPAN></P><P>&nbsp;This is a sample flow but the complete flow can be customized and implemented as required.</P><P><STRONG>Build Apps Application Flow:&nbsp;</STRONG></P><P>Now that we have the Build Process Automation project ready, we can see what will be the configurations needed at Build Apps to enable triggering of a process in a low code no code fashion.</P><P>Please follow the blog <A class="" href="https://community.sap.com/t5/sap-builders-blog-posts/what-s-new-in-sap-build-seamless-integration-of-processes-and-apps/ba-p/13675739" target="_blank">What’s New in SAP Build – Seamless Integration of Processes and Apps</A>&nbsp;from EsmeeX for steps to configure SAP Build Apps initial setup . Then, follow the below steps for project specific configurations.</P><UL><LI><STRONG>Enable BTP Authentication</STRONG><STRONG>&nbsp;</STRONG></LI></UL><P>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;BTP Authentication can be enabled in the Auth tab</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Auth.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90280i7A262932C5C4C600/image-size/large?v=v2&amp;px=999" role="button" title="Auth.png" alt="Auth.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Auth1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90283iA15B4B24EF3CD3B7/image-size/large?v=v2&amp;px=999" role="button" title="Auth1.png" alt="Auth1.png" /></span></P><UL><LI><STRONG>Add the process for integration</STRONG></LI></UL><P>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Discover the <STRONG>published</STRONG> process from library by searching with the Project name and add the process&nbsp; in&nbsp; the <STRONG>Data</STRONG> tab</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Data_Integrations.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90311iF4C6352D8833183B/image-size/large?v=v2&amp;px=999" role="button" title="Data_Integrations.png" alt="Data_Integrations.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Data_Browse_Processes.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90313i732A4A3127E62947/image-size/large?v=v2&amp;px=999" role="button" title="Data_Browse_Processes.png" alt="Data_Browse_Processes.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="DAta_Select_Process.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90314i92AB20C6C8B80AD3/image-size/large?v=v2&amp;px=999" role="button" title="DAta_Select_Process.png" alt="DAta_Select_Process.png" /></span></P><UL><LI><STRONG>Enable process</STRONG></LI></UL><P>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Once the process is discovered and chosen as in the above step , Enable the process<BR />By enabling the process, the process actions gets enabled which enables to<BR />1) Trigger the process<BR />2) Get process attributes<BR />3) Update process instances<BR />4) Retrieve process instances</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Enable_Process.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90317iCACE9F51C28B178F/image-size/large?v=v2&amp;px=999" role="button" title="Enable_Process.png" alt="Enable_Process.png" /></span></P><UL><LI><STRONG>Trigger process</STRONG></LI></UL><P>Trigger Process can be added in the UI Canvas tab . In the option to “Add Logic” to the Submit button , Trigger Process can be dragged and dropped from the tab “INSTALLED” in the Logic canvas and connect the input and output accordingly to the page variables.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Trigger_Process.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90319i9E2FDC57DAFAFE39/image-size/large?v=v2&amp;px=999" role="button" title="Trigger_Process.png" alt="Trigger_Process.png" /></span></P><P>Inputs of Trigger process</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Trigger_Process_Inputs.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99849i0F9F1CD81C6B09D2/image-size/medium?v=v2&amp;px=400" role="button" title="Trigger_Process_Inputs.png" alt="Trigger_Process_Inputs.png" /></span></P><P>Outputs of Trigger process</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Trigger_Process_Outputs.gif" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99850i0212209FD4C4DEE5/image-size/medium?v=v2&amp;px=400" role="button" title="Trigger_Process_Outputs.gif" alt="Trigger_Process_Outputs.gif" /></span></P><P> </P><UL><LI><STRONG>Retrieve process instances</STRONG></LI></UL><P>In the application, we can retrieve process instances to see the current status of the triggered process. Go to the “Add Logic” of the ICONLIST ITEM in the UI Canvas.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Retrieve_Instances1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90320i4969B724DB6E65BE/image-size/large?v=v2&amp;px=999" role="button" title="Retrieve_Instances1.png" alt="Retrieve_Instances1.png" /></span></P><P>In the “<STRONG>INSTALLED</STRONG>” tab of the Logic Canvas, “<STRONG>Retrieve instances</STRONG>” can be dragged and dropped and connect the input and output accordingly to the page variables as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Retrieve_Instances2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90321i6FAAD6B4814108B8/image-size/large?v=v2&amp;px=999" role="button" title="Retrieve_Instances2.png" alt="Retrieve_Instances2.png" /></span></P><P>On similar lines, the Build Apps application can be extended to use the Process Actions “<STRONG>Get process attributes</STRONG>” and “<STRONG>Update process instances</STRONG>” as well.</P><P><STRONG>Launch Build Apps application</STRONG><STRONG>&nbsp;</STRONG></P><P>When the Unblock Credit Blocked Sales Orders application in Build Apps is launched in the Launch tab, it shows the History of previously triggered processes for Unblocking the Credit Blocked Sales Orders with their process instance id triggered with “Retrieve Instances” process Action and the user who triggered it ,on which date and the current status of the process if its Running or Completed or Erroneous and so on .</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Launch_BA.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90322i3DEFECCD5EAAF79F/image-size/large?v=v2&amp;px=999" role="button" title="Launch_BA.png" alt="Launch_BA.png" /></span></P><P>The user has the option to enter the Sales Order Document Number whose Credit Block needs to be removed and then Submit it to trigger the process in SAP Build Process Automation</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="RamaMurari_0-1712133506402.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90323i3F083DCE33FB0DF9/image-size/large?v=v2&amp;px=999" role="button" title="RamaMurari_0-1712133506402.png" alt="RamaMurari_0-1712133506402.png" /></span></P><P>We have seen now how easily a Citizen Developer can integrate Build Apps to SAP Build Process Automation without knowing the underlying API details and so on to trigger the business process.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp; &nbsp; &nbsp; &nbsp;</P><P>&nbsp;</P> 2024-04-04T19:03:30.681000+02:00 https://community.sap.com/t5/technology-blogs-by-members/how-to-develop-customer-creation-application-in-sap-build-apps-with-odata/ba-p/13659201 How to develop Customer creation Application in SAP Build Apps with OData service 2024-04-05T16:34:12.935000+02:00 Chetan_Bhatt https://community.sap.com/t5/user/viewprofilepage/user-id/1429690 <P><STRONG>Objective: -</STRONG></P><P>Implementing SAP OData URI &nbsp;to SAP Build and Creating Customers in SAP BUILD which can replicate to SAP System</P><P>&nbsp;</P><P><STRONG>Business Scenario: -</STRONG></P><P>&nbsp;How to create Customers using SAP Build Apps and OData Service.</P><P>&nbsp;</P><P><STRONG>Prerequisites: -</STRONG></P><P>-&gt; You Have an SAP BTP account or trial account.</P><P>-&gt; Inside the BTP account, go to Instances and Subscriptions and create an instance of SAP Build Apps</P><P>-&gt; Now go to Security -&gt; Users Tab and assign Role to the user for SAP BUILD Apps</P><P>&nbsp;</P><P><STRONG>Now, we have to create the SAP Backend connection to SAP BTP : -</STRONG></P><P>Before mapping data from S4H or our SAP System to Build Apps, we need to create a Destination in the BTP and give the required details of the S4H system with ODATA Uri too which we will consume (BTP-&gt;Connectivity-&gt;Destination )</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_0-1712235368204.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91402i20FA8162E495345A/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_0-1712235368204.png" alt="Chetan_Bhatt_0-1712235368204.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Connection is now established to that service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_1-1712235368416.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91403i24C441B2C4D96AEB/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_1-1712235368416.png" alt="Chetan_Bhatt_1-1712235368416.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Now go to SAP Build Apps and navigate to Create to create a project.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_2-1712235368206.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91404iC5BDF8520954AEFB/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_2-1712235368206.png" alt="Chetan_Bhatt_2-1712235368206.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Now click on Build an Application to create a Application</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_3-1712235368548.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91405iCB04B12AB7452313/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_3-1712235368548.png" alt="Chetan_Bhatt_3-1712235368548.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Now Click on Web &amp; Mobile Application</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_4-1712235368519.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91407iC7A40A64D5FFEE47/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_4-1712235368519.png" alt="Chetan_Bhatt_4-1712235368519.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Now Give the project name and Description and You are good to go.</P><P>Inside the app you are working on SAP Build App go to the Authentication section and implement authentication</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_5-1712235368532.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91406iFF6519951546DD32/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_5-1712235368532.png" alt="Chetan_Bhatt_5-1712235368532.png" /></span></P><P>&nbsp;</P><P>Now create an App Variable that holds all fields that are present in our OData service.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_6-1712235368498.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91409i259161295DFB6B8D/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_6-1712235368498.png" alt="Chetan_Bhatt_6-1712235368498.png" /></span></P><P>&nbsp;</P><P>Now create a page and install a template from the marketplace which is Basic List and implement your UI for Customer Creation and a home page where all customers are displayed.</P><P>Now go to the DATA Section then go to SAP Systems and connect to your s4h System and the service that you called from the destination &nbsp;from SAP BTP will be available to you now.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_7-1712235368450.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91408iB0410E5B62D70707/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_7-1712235368450.png" alt="Chetan_Bhatt_7-1712235368450.png" /></span></P><P>&nbsp;</P><P>Now Click on this list go to ‘list resource’ fill in all the fields and configure authentication from Properties</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_8-1712235368551.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91410iDCCF8A0A48917F3E/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_8-1712235368551.png" alt="Chetan_Bhatt_8-1712235368551.png" /></span></P><P>&nbsp;</P><P>Now Go to the Logic section of List and implement logic like this</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_9-1712235368437.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91411i0C3148A4A08D8301/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_9-1712235368437.png" alt="Chetan_Bhatt_9-1712235368437.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Now click on the Create button go to Show logic for Button then implement this logic</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_10-1712235368445.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91413i9C8ABB3B05009FBB/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_10-1712235368445.png" alt="Chetan_Bhatt_10-1712235368445.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Now create another page as shown below and build a form to create Customer Data using input fields.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_11-1712235368504.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91412iF20FC7FA457B3947/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_11-1712235368504.png" alt="Chetan_Bhatt_11-1712235368504.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Now do data binding to all fields by clicking on it and then assigning value to it</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_12-1712235368473.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91414iC9FEB2213A9EA1F4/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_12-1712235368473.png" alt="Chetan_Bhatt_12-1712235368473.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Now do a similar mapping for every field</P><P>Also, implement a condition to alert that an empty value is not allowed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_13-1712235368467.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91416iB8266D4F228176E1/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_13-1712235368467.png" alt="Chetan_Bhatt_13-1712235368467.png" /></span></P><P>&nbsp;</P><P>Now on the submit button implement logic that submit the data and updates the data to that OData service and thus will be reflected in the database table too</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_14-1712235368546.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91415iCB780E20D3FCBC60/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_14-1712235368546.jpeg" alt="Chetan_Bhatt_14-1712235368546.jpeg" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_15-1712235368475.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91418i6406EAC9E0F90CD4/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_15-1712235368475.png" alt="Chetan_Bhatt_15-1712235368475.png" /></span></P><P>&nbsp;</P><P><STRONG>Preview Your Developments: -</STRONG></P><P>Now when everything is done go to the Launch section then Preview your app.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_16-1712235368543.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91417iD43A34EB5CCDFC02/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_16-1712235368543.png" alt="Chetan_Bhatt_16-1712235368543.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>By this, we can preview our application either on the web or can be previewed in Smartphones.</P><P>Our Application Now looks like-</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_17-1712235368488.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91419iFD8BF13DB9A04ABC/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_17-1712235368488.png" alt="Chetan_Bhatt_17-1712235368488.png" /></span></P><P>&nbsp;</P><P>When we click on the create button the second page appears</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_18-1712235368552.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91420i8CD970CFDF5BF011/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_18-1712235368552.png" alt="Chetan_Bhatt_18-1712235368552.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>Fill out details and now our customer is created.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_19-1712235368470.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91422i7E5AC9C926F24443/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_19-1712235368470.png" alt="Chetan_Bhatt_19-1712235368470.png" /></span></P><P>&nbsp;</P><P>So now your customer is created in your database table &nbsp;which you can check by going to se11-&gt;KNA1</P><P>And you can see your entry got updated in table KNA1</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Chetan_Bhatt_20-1712235368518.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91421i47CAC4464ECCE8E6/image-size/medium?v=v2&amp;px=400" role="button" title="Chetan_Bhatt_20-1712235368518.png" alt="Chetan_Bhatt_20-1712235368518.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P> 2024-04-05T16:34:12.935000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/gamifying-sap-c4c-with-btp-the-flutter-or-build-apps-way/ba-p/13662382 Gamifying SAP C4C with BTP, the Flutter or Build Apps way. 2024-04-08T18:31:37.363000+02:00 pedroroquero https://community.sap.com/t5/user/viewprofilepage/user-id/1429617 <H2 id="toc-hId-991601213">Abstract:</H2><P style=" text-align : justify; ">To boost SAP C4C adoption, we propose gamifying the platform with a mobile app, rewarding users for interactions. We compare SAP Build Apps and Flutter for development, weighing rapid setup against rich features and community support. Choice depends on project requirements.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="pedroroquero_0-1712577798059.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92808iF0CBAFC2E5AA9590/image-size/medium?v=v2&amp;px=400" role="button" title="pedroroquero_0-1712577798059.jpeg" alt="pedroroquero_0-1712577798059.jpeg" /></span></P><P>&nbsp;</P><H2 id="toc-hId-795087708">Why:</H2><P style=" text-align : justify; ">SAP C4C is a very powerful platform but it needs to have up to date data. The goal of gamifying C4C is to motivate the sales to regularly use this platform. If we manage to make them use the platform every day, this will allow C4C to have timely accurate information and so be very powerful for the sales.</P><P style=" text-align : justify; "><BR />The main idea is to create a mobile application with a system of points. We will be collecting information from the C4C APIs to do this. For example, for each visit you will get 8 points, or for making a phone call you can get 5 points. Then, at the end of each quarter, we will check who was the person that has used more this application and give them a reward. This way, we can incentivize the salespeople to use C4C and so making it has timely accurate information. We want to build and application to display each of the users the number of points they have collected using C4C and in another page have an administration view where we can update the number of points you get for each type of interaction and also where they can check the salespeople that have to be rewarded. In order to create this application, there are two main ways, using SAP Build Apps or Flutter.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="pedroroquero_1-1712577851164.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/92809i1B11B7BCB6DC9041/image-size/medium?v=v2&amp;px=400" role="button" title="pedroroquero_1-1712577851164.png" alt="pedroroquero_1-1712577851164.png" /></span></P><P>&nbsp;</P><H2 id="toc-hId-598574203">APIs and Data:</H2><P style=" text-align : justify; ">SAP C4C has already many APIs that are available and ready to be used. You can find these existing APIs in the following <SPAN><A href="https://api.sap.com/package/C4C/odata" target="_blank" rel="noopener noreferrer">link</A></SPAN>. In order to make it more secure, or improve the platform, C4C it is often used with other technologies, as it can be Sales Force for example. To be able to use this two together SAP Integration Suite can be very helpful and a very powerful tool.</P><P style=" text-align : justify; ">&nbsp;</P><H2 id="toc-hId-402060698">SAP Build Apps way:</H2><P style=" text-align : justify; ">SAP Build Apps is a professional development solution designed for anyone to quickly create apps without code regardless of role or skill level. It allows you to build user interfaces easily by using a drag-and-drop system. Also, it offers to build cloud services without having to code and connect to SAP and non-SAP solutions in a secure way using pre-build components, connectors, and integrations.</P><P style=" text-align : justify; ">Using SAP build apps has many important advantages. The first and most important one, is that it is easy to setup and can have your application fully functional very quickly. It is more a short-term solution that is very functional and easy to build. Also, another important advantage is that you don’t need to have coding knowledge to build such an application with Build Apps. In fact, it being a drag-and-drop system, you will only need to drag the elements you want in order to add them to the application.</P><P style=" text-align : justify; ">Despite having many advantages, using Build Apps also has some small disadvantages, it is more a short-term setup, for more complex applications it can have some limitations. Finally, in case of problems it can be hard to find some support outside from SAP.</P><P style=" text-align : justify; ">&nbsp;</P><H2 id="toc-hId-205547193">The flutter way:</H2><P style=" text-align : justify; ">Flutter is an open-source mobile application development framework that enables developers to build applications for iOS, Android, and web from a single codebase. It contains a rich library of visual elements, many based on Material design guidelines allowing developers to create stunning and responsive interfaces. It has a fast performance and flexible UI toolkit. It has also a very strong and growing community due to its recent popularity and googles effort to promote its use.</P><P style=" text-align : justify; ">Using react to build a such application has many advantages but also some disadvantages. First of all, you will get a more professional look for the application. Also, the application will be more responsive which overall will give a better experience. Finally, another very important advantage is that having a very large community developers have a rich ecosystem of resources, including documentation, tutorials and forums where they can ask for advice in case of problems.</P><P style=" text-align : justify; ">There are also some disadvantages of using flutter to build an application of this type. To be able to use a flutter application you will need to create a SAP CAP application that is between C4C and your flutter application allowing to have reliable communication between the C4C platform and your application. This adds a level of complexity to your system. Another important disadvantage is that building a flutter application requires an important amount of time investment due to factors such as debugging and optimization processes.</P><P style=" text-align : justify; ">&nbsp;</P><H2 id="toc-hId-9033688">Conclusion:</H2><P style=" text-align : justify; ">The gamification of C4C has only pros for the users of this platform. Being able to make people use the platform regularly will only make it more powerful and useful for their users. What is different is the way you will create this application, either by using build apps or flutter, both have their pros and cons, and you should decide depending on your needs.</P><P style=" text-align : justify; "><STRONG>Build Apps pros:</STRONG></P><UL style=" text-align : justify; "><LI>Cross-platform development.</LI><LI>Easy to setup and rapid functionality.</LI><LI>No coding knowledge required.</LI><LI>Integration capabilities.</LI></UL><P style=" text-align : justify; "><STRONG>Build Apps cons:</STRONG></P><UL style=" text-align : justify; "><LI>Short-term solution.</LI><LI>Limitations for complex applications.</LI><LI>Limited external support.</LI></UL><P style=" text-align : justify; "><STRONG>Flutter pros:</STRONG></P><UL style=" text-align : justify; "><LI>Cross-platform development.</LI><LI>Rich library of visual elements.</LI><LI>Fast performance and flexible UI toolkit.</LI><LI>Strong and growing community (46% of software developers use flutter).</LI></UL><P style=" text-align : justify; "><STRONG>Flutter cons:</STRONG></P><UL style=" text-align : justify; "><LI>Complex integration.</LI><LI>Time investment in development process.</LI></UL> 2024-04-08T18:31:37.363000+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&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DFVAali4nfLQ&amp;image=http%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="YouTube embed" 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/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/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-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/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/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-members/build-apps-integration-with-on-premise-systems/ba-p/13700810 Build Apps Integration with On-premise systems 2024-05-16T09:39:15.391000+02:00 SijinMathewGeorge https://community.sap.com/t5/user/viewprofilepage/user-id/870952 <P>The data plays a critical role in the functionality of the app.</P><P>Data can be integrated to the Build Apps in the following ways:</P><OL><LI>Creating Dummy Entities with dummy data or on device storage data.</LI><LI>Creating Entities with the global REST APIs.</LI><LI>Integrating Build Apps with on-premise and fetching the on-premise entities.</LI></OL><P>We would focus on the most realistic option that is fetching the real-time system data and integration of Build Apps with the OData services created on the on-premise systems.</P><P><STRONG>Design: </STRONG></P><P>We would like to display a simple example where the App would list of products with their respective image, description and MRP maintained in SAP.</P><P>The backend OData service would contain an entity ProductsSet that would contain properties of a material like Image, description and MRP.</P><P><STRONG>Integration:</STRONG></P><P>Till now, it has been widely accepted that Build Apps can be accessed from SAP BTP Account. BTP Account must have a cloud connector which would configure the systems connected to the cloud.</P><P>In the subaccount, under connectivity, Destinations are configured.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="1.jpg" style="width: 181px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110187iA352FFB3E0F9B961/image-size/medium?v=v2&amp;px=400" role="button" title="1.jpg" alt="1.jpg" /></span></P><P>&nbsp;</P><P>The entire OData URL has been configured as shown below under destination BuildDestination.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110188iD50FAD3BEDBAF12E/image-size/medium?v=v2&amp;px=400" role="button" title="2.jpg" alt="2.jpg" /></span></P><P>Once the destination is configured, we can navigate to the SAP Build Apps.</P><P>Under the Auth section, enable the Authentication.</P><P>Open Auth (Authentication) → Enable Authentication.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="3.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110191i187B6DCB787E20C8/image-size/medium?v=v2&amp;px=400" role="button" title="3.jpg" alt="3.jpg" /></span></P><P>There are three types of Authentication Method in Build Apps.</P><UL><LI>Google Firebase.</LI><LI>SAP BTP Authentication</LI><LI>Direct Third Party Authentication</LI></UL><P>We would go for SAP BTP Authentication.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="4.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110194i5EC69B6B9DA4A4B6/image-size/medium?v=v2&amp;px=400" role="button" title="4.jpg" alt="4.jpg" /></span></P><P>As we need to select the data from the backend, Under the Data tab, select add Integration.</P><P>Select Data → Add Integration.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="5.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110214iB23A4C7BBD54D970/image-size/medium?v=v2&amp;px=400" role="button" title="5.jpg" alt="5.jpg" /></span></P><P>&nbsp;</P><P>Select SAP Systems-&gt;BTP Destinations</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="6.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110217i0F76958B6AF60EBB/image-size/medium?v=v2&amp;px=400" role="button" title="6.jpg" alt="6.jpg" /></span></P><P>The created destination will be showed there, select the Destination.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="7.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110223i0C5F8006175A16FD/image-size/medium?v=v2&amp;px=400" role="button" title="7.jpg" alt="7.jpg" /></span></P><P>Once the destination is selected, the list of entities from the Rest service would be displayed.</P><P>Click on Install Integration and enable data entity.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="8.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110226i324CE9EFEE635960/image-size/medium?v=v2&amp;px=400" role="button" title="8.jpg" alt="8.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="9.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110227iEAA4A24549DE828D/image-size/medium?v=v2&amp;px=400" role="button" title="9.jpg" alt="9.jpg" /></span></P><P>Switch to the UI Canvas. Under Data variables, we can create Entities as a variable. Select the entityset that is a collection of records and save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="11.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110235i4AED69FE3E306443/image-size/medium?v=v2&amp;px=400" role="button" title="11.jpg" alt="11.jpg" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="12.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110234iF3BD2219F7013D73/image-size/medium?v=v2&amp;px=400" role="button" title="12.jpg" alt="12.jpg" /></span></P><P>Switch to the view in the UI Canvas and the UI element used here is Large Image List Item which is which is available in Market Place.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="13.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110239iC62D2D64199489E0/image-size/medium?v=v2&amp;px=400" role="button" title="13.jpg" alt="13.jpg" /></span></P><P>The Repeat with property of the List Container can be bound with the data variables we had set previously.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="14.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110242iA8BF881C267C4FF2/image-size/medium?v=v2&amp;px=400" role="button" title="14.jpg" alt="14.jpg" /></span></P><P>&nbsp;</P><P>Select the entityset and save.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="15.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110244iAD19F2401696A18E/image-size/medium?v=v2&amp;px=400" role="button" title="15.jpg" alt="15.jpg" /></span></P><P>The properties, label can be bound to the Maktx of the entityset.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="16.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110248i486EE06123BB4C6E/image-size/medium?v=v2&amp;px=400" role="button" title="16.jpg" alt="16.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="17.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110249iD513DDA5098F86B3/image-size/medium?v=v2&amp;px=400" role="button" title="17.jpg" alt="17.jpg" /></span></P><P>Similarly, price can be bound to the property Description text.</P><P>As we need to display the image too, the image can be bound using the formula URL(repeated.current.ImageContent).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="18.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110251iB758D591CE0A75CB/image-size/medium?v=v2&amp;px=400" role="button" title="18.jpg" alt="18.jpg" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="19.jpg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110252i29CF6497CD25B25B/image-size/medium?v=v2&amp;px=400" role="button" title="19.jpg" alt="19.jpg" /></span></P><P>&nbsp;</P><P>Once the binding is completed, The Image, Description and Price of the products could be shown on the screen.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="20.jpg" style="width: 223px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/110254i3DFD30D58027D9E6/image-size/medium?v=v2&amp;px=400" role="button" title="20.jpg" alt="20.jpg" /></span></P><P>&nbsp;</P><P>Hurray! A real time Build App with the secure connection to backend is ready!</P><P>&nbsp;</P> 2024-05-16T09:39:15.391000+02:00