https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Business-Accelerator-Hub-blog-posts.xml SAP Community - SAP Business Accelerator Hub 2024-05-20T20:00:39.713916+00:00 python-feedgen SAP Business Accelerator Hub blog posts in SAP Community https://community.sap.com/t5/sap-teched-blog-posts/learn-about-sap-integration-suite-at-sap-teched-2023/ba-p/298372 Learn about SAP Integration Suite at SAP TechEd 2023 2023-10-27T08:48:45.297000+02:00 MilenaMathyl https://community.sap.com/t5/user/viewprofilepage/user-id/455 <P>Are you curious about SAP’s integration strategy and SAP Integration Suite sessions at SAP TechEd 2023?</P> <P>Join us in the Integration track at SAP TechEd 2023, in Bangalore or virtually, to learn how we are shaping our integration platform strategy ensuring that SAP Integration Suite meets end-to-end integration requirements, how we are enabling modernization for customers, and how enterprise automation can be achieved.</P> <P>&nbsp;</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%2FrBrhS1gcaV0%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DrBrhS1gcaV0&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FrBrhS1gcaV0%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="600" height="337" scrolling="no" title="🔔Unlock Success: Integration Track at SAP TechEd | Register Today" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P> <P>&nbsp;</P> <P>For organizations to run successfully, it's critical to integrate business processes across SAP and non-SAP applications. With SAP Integration Suite, developers can accelerate innovation with an integration platform-as-a-service (iPaas) on SAP BTP to seamlessly integrate on-premise and cloud-based processes, applications, events, and data. Learn how SAP Integration Suite connects and automates business processes to harmonize experiences across diverse landscapes.</P> <P>In our track <STRONG>Integration (IN)</STRONG> you will find all relevant sessions of SAP Integration Suite and its capabilities as well as Enterprise integration sessions sorted in 5 sub-tracks. Take a look and explore some of our highlights.</P> <P>&nbsp;</P> <P><FONT size="4"><STRONG>Accelerate Enterprise Automation with SAP Integration Suite</STRONG></FONT></P> <P>SAP Integration Suite empowers customers to integrate and automate processes quickly and confidently across SAP and third-party landscapes. Learn how organizations can implement an integration strategy based on best practices and how it contributes to Enterprise Automation together with SAP Build and SAP Signavio.</P> <P style=" text-align: center; ">&nbsp;</P> <P style=" text-align: center; ">Sessions for SAP Integration Suite overview, strategy,</P> <P style=" text-align: center; ">and Enterprise Automation (at this and other tracks):</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_IS_overview_EnterpriseAutomation_Dataspace.gif" style="width: 593px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48326i4B9A6BFEFD419279/image-dimensions/593x310?v=v2" width="593" height="310" role="button" title="Social Cards_INT_BGL_IS_overview_EnterpriseAutomation_Dataspace.gif" alt="Social Cards_INT_BGL_IS_overview_EnterpriseAutomation_Dataspace.gif" /></span></P> <P style=" text-align: center; ">&nbsp;</P> <P style=" text-align: center; ">Sessions on Edge Intgration Cell, our new SAP Integration Suite capability</P> <P style=" text-align: center; ">for ground-to-ground integrations:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_EIC.gif" style="width: 595px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48327iD73C5DA6AB5C46D5/image-dimensions/595x311?v=v2" width="595" height="311" role="button" title="Social Cards_INT_BGL_EIC.gif" alt="Social Cards_INT_BGL_EIC.gif" /></span></P> <P>&nbsp;</P> <P><FONT size="4"><STRONG>Elevate from SAP Process Orchestration to SAP Integration Suite</STRONG></FONT></P> <P>Many organizations still run their system-to-system integrations in SAP Process Orchestration (PI/PO) software. New migration tools, support, and services are available in SAP Integration Suite, including the migration assessment and migration tool. You can now move from SAP Process Orchestration to the cloud using modern integration patterns, while reducing risk and complexity to achieve process excellence.</P> <P style=" text-align: center; ">&nbsp;</P> <P style=" text-align: center; ">Sessions on migration from SAP PI/PO to SAP Integration Suite,</P> <P style=" text-align: center; ">or SAP Neo environment to SAP Cloud Foundry environment:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_PIPOmigration_NEO-CFmigration.gif" style="width: 597px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48331i5DEC7A570B61B17F/image-dimensions/597x312?v=v2" width="597" height="312" role="button" title="Social Cards_INT_BGL_PIPOmigration_NEO-CFmigration.gif" alt="Social Cards_INT_BGL_PIPOmigration_NEO-CFmigration.gif" /></span></P> <P>&nbsp;</P> <P><FONT size="4"><STRONG>Deep Dive into API and Event-Driven Integration</STRONG></FONT></P> <P>See how SAP Integration Suite accelerates innovation with capabilities to support real-time event and API management. Prebuilt content empowers developers to compose new functionalities and connect applications faster. Learn about SAP Solution Hub and&nbsp; SAP Business Accelerator Hub as centralized catalogs for proven SAP-supplied and partner-sourced APIs and additional predefined content.</P> <P style=" padding-left : 30px; text-align: center; ">&nbsp;</P> <P style=" padding-left : 30px; text-align: center; ">Sessions on API Management and Graph:</P> <P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_APIM_Graph.gif" style="width: 580px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48328i2EE321A889BE84A4/image-dimensions/580x303?v=v2" width="580" height="303" role="button" title="Social Cards_INT_BGL_APIM_Graph.gif" alt="Social Cards_INT_BGL_APIM_Graph.gif" /></span></P> <P>&nbsp;</P> <P style=" text-align: center; ">Sessions on SAP Integration Suite, event mesh and advanced event mesh:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_EM_AEM.gif" style="width: 593px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48329iC9361445789F112F/image-dimensions/593x310?v=v2" width="593" height="310" role="button" title="Social Cards_INT_BGL_EM_AEM.gif" alt="Social Cards_INT_BGL_EM_AEM.gif" /></span></P> <P>&nbsp;</P> <P><FONT size="4"><STRONG>Explore Application, Business, and E-Government Integration</STRONG></FONT></P> <P>Organizations aim to deliver personalized digital experiences for their customers, partners, and employees. Learn how SAP Integration Suite accelerates connectivity with prepackaged integration content to help simplify A2A, B2B, and B2G scenarios. Discover governance, operation, and monitoring best practices to support and meet industry standards.</P> <P style=" text-align: center; ">&nbsp;</P> <P style=" text-align: center; ">Sessions on B2B integration:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_B2B.gif" style="width: 611px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48330iA3719CD68A1CB0B6/image-dimensions/611x319?v=v2" width="611" height="319" role="button" title="Social Cards_INT_BGL_B2B.gif" alt="Social Cards_INT_BGL_B2B.gif" /></span></P> <P>&nbsp;</P> <P style=" text-align: center; ">Sessions on&nbsp;governance, operation, and monitoring:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_BGL_Ops_Governance_Monitoring_Intas_AIF.gif" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48334iB0150553DCC7B629/image-dimensions/601x314?v=v2" width="601" height="314" role="button" title="Social Cards_INT_BGL_Ops_Governance_Monitoring_Intas_AIF.gif" alt="Social Cards_INT_BGL_Ops_Governance_Monitoring_Intas_AIF.gif" /></span></P> <P>&nbsp;</P> <P><FONT size="4"><STRONG>Deep dive into SAP E2E Business Process Integration</STRONG></FONT></P> <P>SAP Business Technology Platform (SAP BTP) provides critical integration capabilities to ensure connected E2E processes across enterprise landscapes. Learn how SAP Integration Suite on SAP BTP and out-of-the-box suite qualities help to integrate and automate your enterprise. Understand how to deliver consistent experiences across SAP applications including SAP SuccessFactors, SAP Ariba, SAP Concur, and SAP Customer Experience solutions.</P> <P style=" text-align: center; ">&nbsp;</P> <P style=" text-align: center; ">Sessions for E2E Business Process Integration:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_E2E processes.gif" style="width: 595px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48333i194B06F98825BA4F/image-dimensions/595x311?v=v2" width="595" height="311" role="button" title="Social Cards_INT_E2E processes.gif" alt="Social Cards_INT_E2E processes.gif" /></span></P> <P>&nbsp;</P> <P><STRONG><FONT size="4">SAP Integration Suite at Virtual SAP TechEd 2023:</FONT></STRONG></P> <P>And finally, our <STRONG>virtual</STRONG> sessions for SAP Integration Suite:</P> <P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Social Cards_INT_Virtual.gif" style="width: 597px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/48332iF64EECDFA606E56C/image-dimensions/597x312?v=v2" width="597" height="312" role="button" title="Social Cards_INT_Virtual.gif" alt="Social Cards_INT_Virtual.gif" /></span></P> <P>&nbsp;</P> <P>You can find the <STRONG>Session catalogs</STRONG> with almost 100 Integration sessions at SAP TechEd 2023 here:</P> <UL> <LI><STRONG>Bangalore</STRONG>: <A href="https://go2.events.sap.com/TechEd2023/agb/go/agendabuilder.sessions/?l=326&amp;locale=en_US" target="_blank" rel="noopener noreferrer">SAP TechEd Bangalore | November 02–03, 2023 | Home</A>&nbsp;&nbsp;</LI> <LI><STRONG>Virtual</STRONG>: &nbsp;<A href="https://go3.events.sap.com/sapteched/virtual/2023/reg/flow/sap/sapteched23/catalog/page/catalog?tab.sessionplanned=1692641568884001cZ9d&amp;search.contenttrack=1692371180870001qscT" target="_blank" rel="noopener noreferrer">Session Catalog - SAP TechEd 2023</A>&nbsp;&nbsp;</LI> </UL> <P>We&nbsp;hope that our sessions will provide you with a comprehensive view of the SAP Integration Suite and how it can help you solve your integration needs. Build your personalized agenda and create your ultimate SAP TechEd experience. Enjoy learning, practicing, meeting SAP colleagues and customers, and exchanging thoughts with peers.</P> 2023-10-27T08:48:45.297000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/%E5%85%B3%E4%BA%8E-sac-%E5%A4%9A%E6%AD%A5%E6%93%8D%E4%BD%9C%E5%85%AC%E7%94%A8-api-%E7%9A%84%E4%BB%8B%E7%BB%8D/ba-p/13575116 关于 SAC 多步操作公用 API 的介绍 2023-10-30T03:38:27+01:00 YaoYao https://community.sap.com/t5/user/viewprofilepage/user-id/127827 <H1 id="toc-hId-834900102"><SPAN data-contrast="auto">背景</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H1><BR /> <SPAN data-contrast="auto">SAC 在2023.15版本中推出了多步操作公用 API。这些 API 可以用于触发多步操作的执行,并在执行后查询结果。这为将 SAC 工作流集成到外部应用程序提供了一种灵活的方式,帮助客户实现各种业务场景。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">这些 API 已经发布到了 SAP Business Accelerator Hub:</SPAN><A href="https://api.sap.com/api/MultiActions_API/overview" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://api.sap.com/api/MultiActions_API/overview" target="test_blank" rel="noopener noreferrer">https://api.sap.com/api/MultiActions_API/overview</A><SPAN data-contrast="auto"> 。在SAC帮助文档中也可以找到有关API的介绍:</SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html" target="test_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html</A><SPAN data-contrast="auto"> 。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">这篇博客旨在强调必要的准备工作,并提供一些典型的示例来演示这些 API,你也可以在上述页面中找到 API 定义的更多细节。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H1 id="toc-hId-638386597"><SPAN data-contrast="auto">准备</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H1><BR /> <H2 id="toc-hId-570955811"><SPAN data-contrast="auto">身份验证与授权</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H2><BR /> <SPAN data-contrast="auto">多步操作公用 API 应在业务用户的语境下进行。API 用户需要正确配置身份验证和授权,以在 SAC 中指定所需的业务用户。通常有两种主要选项来配置身份验证和授权。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H3 id="toc-hId-503525025"><SPAN data-contrast="auto">OAuth2 授权码工作流</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="auto">详见</SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/0c1fb5e6ef1f46acb83771070084f124.html#configuring-oauth-2.0-authorization-code-grant-workflow-(3-legged-oauth)" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/0c1fb5e6ef1f46acb83771070084f124.html#configuring-oauth-2.0-authorization-code-grant-workflow-(3-legged-oauth)" target="test_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/0c1fb5e6ef1f46acb83771070084f124.html#configuring-oauth-2.0-authorization-code-grant-workflow-(3-legged-oauth)</A><SPAN data-contrast="auto"> ,“Configuring OAuth 2.0 Authorization Code Grant Workflow (3-legged OAuth) ”这部分介绍了如何在 SAC 中按照 OAuth2 授权码流对用户进行身份验证和授权。(由于多步操作 API 应在业务用户语境下进行,因此选择“交互式使用”作为 OAuth 客户端的“目的”)。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H3 id="toc-hId-307011520"><SPAN data-contrast="none">OAuth 2.0 SAML </SPAN><SPAN data-contrast="auto">Bearer</SPAN><SPAN data-contrast="none"> Assertion 工作流</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="none">除了授权码解决方案外,你还可以利用 OAuth2 SAML Bearer Assertion 工作流来进行身份验证和授权,前提是用户已经在 SAC 中添加了可信的 IdP。应用授权码工作流的一个限制是通常需要终端用户输入凭据登录 SAC,从而获取授权码并继续认证过程。考虑到大部分情况下,对公用 API 的调用是嵌在完全自动化的流程中的,并且不能让用户与其交互。我们建议你在这种情况下将 OAuth2 SAML Bearer Assertion 工作流视为备选解决方案。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">你可以使用由你的 IdP 颁发的 SAML Bearer Token 来获取访问令牌。这篇文章</SPAN><A href="https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./" target="test_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./</A> <SPAN data-contrast="auto">介绍了在 SAC 应用集成中可以应用的 OAuth2 SAML Bearer Assertion 流,并提供了一些详细的示例,介绍了如何在有或没有使用 SAP BTP Destination 服务的情况下应用这个流。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H2 id="toc-hId--18584704"><SPAN data-contrast="auto">获取 CSRF 令牌</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H2><BR /> <SPAN data-contrast="none">在使用 POST 方法发送 HTTP 请求之前(在多操作触发 API 中使用),你需要先获取一个有效的 CSRF 令牌。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">你可以通过向 {tenant-url}/api/v1/csrf 发送 GET 请求,在请求中包括头部 x-csrf-token: fetch 来获取令牌。然后, CSRF 令牌会在响应头 x-csrf-token 中返回。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">一旦你获得了令牌,你就可以在同一会话中使用它来发送 POST 请求(将 Cookie 中的 JSESSIONID 与 CSRF 请求保持一致)。请求中必须包含 x-csrf-token:{token} 头部。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H2 id="toc-hId--215098209"><SPAN data-contrast="none">API 的定义</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H2><BR /> <SPAN data-contrast="none">请参考 SAC 帮助文档:</SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html" target="test_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/e5ade1ed7c274d929a18bcc859102c40.html</A><SPAN data-contrast="auto"> ,获取 API 的定义的细节,这一内容不会在这篇文章中重复说明。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H2 id="toc-hId--411611714"><SPAN data-contrast="auto">示例</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H2><BR /> <H3 id="toc-hId--479042500"><SPAN data-contrast="auto">使用一些常见的HTTP客户端来尝试API</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="auto">注意</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">在下面的示例中,我们将使用 Postman 来尝试 API,因为它提供了友好的用户界面和简单的配置,以便促进 OAuth2 授权码流。你也可以使用其他典型的 HTTP 客户端来尝试 API(例如 curl: </SPAN><A href="https://curl.se/docs/manual.html" target="_blank" rel="nofollow noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://curl.se/docs/manual.html" target="test_blank" rel="nofollow noopener noreferrer">https://curl.se/docs/manual.html</A><SPAN data-contrast="auto">,swagger-ui: </SPAN><A href="https://swagger.io/tools/swagger-ui/" target="_blank" rel="nofollow noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://swagger.io/tools/swagger-ui/" target="test_blank" rel="nofollow noopener noreferrer">https://swagger.io/tools/swagger-ui/</A><SPAN data-contrast="auto"> 等),只要它们已经内置了相关的身份验证/授权流,或者你也可以自定义解决方案,按照授权码流或 SAML Bearer Assertion 流获取访问令牌,并使用授权报头发送令牌。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">(要在 swagger-ui 中使用 API,您可以从 </SPAN><A href="https://api.sap.com/api/MultiActions_API/overview" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://api.sap.com/api/MultiActions_API/overview" target="test_blank" rel="noopener noreferrer">https://api.sap.com/api/MultiActions_API/overview</A><SPAN data-contrast="none"> 下载API规范作为参考)</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H4 id="toc-hId--546473286"><SPAN data-contrast="none">OAuth2 授权码工作流</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <OL><BR /> <LI data-leveltext="%1." data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="none">在 SAC 中创建一个 OAuth 客户端,将用途设置为“交互使用”,将重定向 URI 设置为:<A href="https://www.getpostman.com/oauth2/callback," target="_blank" rel="nofollow noopener noreferrer">https://www.getpostman.com/oauth2/callback,</A>这是 postman 需要的。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230728223943714.png" /></LI><BR /> <LI data-leveltext="%1." data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="none">转到 Postman 中的请求集合的“Authorization”选项卡,将“configure new token”部分定义为:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230728224142471.png" /></LI><BR /> <LI data-leveltext="%1." data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="none">配置完成后,点击 postman 中“Authorization”选项卡底部的“</SPAN><SPAN data-contrast="none">configure new token</SPAN><SPAN data-contrast="none">”。在弹出窗口中登录SAC 后,访问令牌会被获取。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230728232838178.png" /></LI><BR /> <LI data-leveltext="%1." data-font="Calibri" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="none">接下来,访问令牌就可以用于访问多步操作公用 API 了。同时,使用 POST 方法访问 API 需要 csrf 令牌。先使用以下请求获取 csrf 令牌。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230728233636760.png" /></LI><BR /> </OL><BR /> <SPAN data-contrast="auto">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;你将会在响应报头中拿到 csrf 令牌:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559685&quot;:0,&quot;335559731&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559685&quot;:0,&quot;335559731&quot;:720,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp; &nbsp; &nbsp; &nbsp; <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230728234145611.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="none">5. 在下面的 POST 请求中使用 csrf 令牌来执行多步操作。csrf 令牌仅在同一会话中有效,因此请确保以下请求使用相同的 cookie (这通常由 Postman 默认处理,一般情况下你不需要在以下请求中显式设置 cookie)</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_6.png" /></P><BR /> <SPAN data-contrast="none">6. 使用查询状态 API 来获取多步操作执行的状态。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230729002928466.png" /></SPAN><BR /> <H4 id="toc-hId--1240703886"><SPAN data-contrast="none">OAuth 2.0 SAML </SPAN><SPAN data-contrast="auto">Bearer</SPAN><SPAN data-contrast="none"> Assertion 工作流</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="none">与上述授权码流相比,使用 OAuth 2.0 SAML Bearer Assertion 尝试 API 的唯一区别在于获取访问令牌的方式,而在其他部分,它们应该是相同的。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <A href="https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./" target="test_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/04/09/sap-analytics-cloud-app-integration-with-oauth2samlbearerassertion-flow./</A><SPAN data-contrast="auto"> 提供了使用和不使用 BTP destination 服务获取访问令牌的示例。例如,你可以参考 </SPAN><A href="https://blogs.sap.com/2021/04/08/how-to-generate-saml-bearer-assertion-token-for-oauth2samlbearerassertion-flow/#sac-brief" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://blogs.sap.com/2021/04/08/how-to-generate-saml-bearer-assertion-token-for-oauth2samlbearerassertion-flow/#sac-brief" target="test_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/04/08/how-to-generate-saml-bearer-assertion-token-for-oauth2samlbearerassertion-flow/#sac-brief</A><SPAN data-contrast="auto"> 来创建一个nodejs程序,以便在 OAuth 2.0 SAML Bearer Assertion 流之后获得访问令牌(如果手头没有 BTP destination)。如果你能够在你的解决方案中使用 BTP destination,那将会变得更加容易</SPAN><A href="https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./" target="test_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./</A><SPAN data-contrast="auto"> 说明了如何利用 BTP destination 来使用 OAuth 2.0 SAML Bearer Assertion 流访问 SAC。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">然后从前面授权码流示例中的步骤4开始,使用访问令牌访问 API,下面的步骤应该是相同的。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559685&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"></P><BR /> <BR /> <H3 id="toc-hId--1143814384"><SPAN data-contrast="auto">从 ABAP/NetWeaver 栈调用 API</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="auto">可以从 ABAP/NetWeaver 栈中使用多操作公用 API,因此可以将其与BW, BPC等产品集成,只要它们提供定制的 ABAP 出口。在下面的示例中,我们将利用 BTP destination 服务(作为身份提供者,它可以被作为 IdP 角色的其他服务取代)</SPAN><SPAN data-contrast="none">来实现 OAuth2 SAML Beaerer Assertion 流,从而可以从 ABAP 程序调用多步操作公用 API,无需用户干预,并且可以嵌入在 ABAP/NetWeaver 侧的自动化作业中。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">还请注意,下面所示的过程非常常见,您也可以通过利用所选技术提供的相应 http 客户端,将ABAP 栈替换为其他编程环境。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="none">工作流的实现步骤如下:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_8.png" /></SPAN><BR /> <H4 id="toc-hId--1633730896"><SPAN data-contrast="none">在 SAC 中创建 OAuth Client</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="none">在 SAC 中创建一个 OAuth client,用途设置为“交互式使用”,并且不需要定义重定向url。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230810141925893.png" />&nbsp;</SPAN></P><BR /> <BR /> <H4 id="toc-hId--1830244401"><SPAN data-contrast="none">在 BTP 中 创建 destination 以及 destination 服务</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:40,&quot;335559739&quot;:0,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="auto">这篇文章</SPAN> <A href="https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./" target="test_blank" rel="noopener noreferrer">https://blogs.sap.com/2021/03/24/oauth2samlbearerassertion-flow-with-the-sap-btp-destination-service.-sap-analytics-cloud-cf-edition./</A><SPAN data-contrast="auto"> 全面解释了如何利用 BTP destination 服务作为 IdP 在 SAC 中实现 OAuth 2.0 SAML Bearer 身份认证(</SPAN><A href="https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service" target="test_blank" rel="noopener noreferrer">https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/consuming-destination-service</A><SPAN data-contrast="auto"> )。在当前场景的语境中,以下是在 BTP 中设置 destination 和 destination 服务的一些关键步骤:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">在 BTP 子帐户中创建 destination</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">在BTP子帐户下创建一个目标,其身份验证类型为:OAuth2 SAML Beaerer Assertion。请参考下面的快照进行字段映射:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_10.png" /></SPAN></P><BR /> <SPAN data-contrast="auto">下载 IDP metadata,记下在 SAC 中添加信任 IDP 时将使用的 entityID。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230810172643325.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">Download Trust 并复制这里的 public certificate value ,这也将用于在 SAC 中添加信任 IdP:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230810173140565.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">在 BTP 中创建 destination 服务实例(如果服务之前不存在)</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">如果之前没有创建可用的服务实例,则在 BTP 中创建 destination 服务实例</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230810170001714.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">打开服务密钥,记下 client id 和 client secrete,它们将用于使用 OAuth2 client 凭证方法访问 destination 服务实例。</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230810170800462.png" /></SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H4 id="toc-hId--2026757906"><SPAN data-contrast="auto">在 SAC 中添加受信任的 IdP</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="auto">在 SAC 中添加受信任的 IdP,设置如下:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_16.png" /></SPAN></P><BR /> <BR /> <H4 id="toc-hId-2071695885"><SPAN data-contrast="auto">ABAP 层的实现</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="auto">创建一个 ABAP 程序并声明公共变量</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>REPORT z_run_multi_actions_in_sac.<BR /> PARAMETERS:<BR /> pv_ma_id TYPE string LOWER CASE DEFAULT 'Input multi-actions id here'.<BR /> DATA lo_client TYPE REF TO if_http_client.<BR /> DATA lo_rest_client TYPE REF TO if_rest_client.<BR /> DATA lo_rest_entity TYPE REF TO if_rest_entity.<BR /> DATA lo_request TYPE REF TO if_rest_entity.<BR /> DATA lv_body TYPE string.<BR /> DATA lv_http_status TYPE string.<BR /> DATA lv_response TYPE string.<BR /> DATA lv_acc_token_to_destination TYPE string.<BR /> DATA lv_acc_token_to_sac TYPE string.<BR /> DATA lv_csrf TYPE string.</CODE></PRE><BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">获取访问令牌以请求 destination 服务</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_17.png" /></SPAN></P><BR /> <SPAN data-contrast="auto">相应的 ABAP 实现:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>*----------------------------------------get access to destination service--------------------------------- <BR /> <BR /> cl_http_client=&gt;create_by_url( EXPORTING url = '&lt;your token url for the btp destination service&gt;' IMPORTING client = lo_client ). <BR /> <BR /> CREATE OBJECT lo_rest_client TYPE cl_rest_http_client <BR /> EXPORTING <BR /> io_http_client = lo_client. <BR /> <BR /> lo_request = lo_rest_client-&gt;create_request_entity( ). <BR /> lo_request-&gt;set_content_type( iv_media_type = 'application/x-www-form-urlencoded' ). <BR /> lv_body = 'grant_type=client_credentials&amp;client_id=&lt;your oauth client id for destination service&gt;&amp;client_secret=&lt;your oauth client secret for destination service&gt;'. <BR /> lo_request-&gt;set_string_data( lv_body ). <BR /> lo_rest_client-&gt;post( EXPORTING io_entity = lo_request ). <BR /> lv_http_status = lo_rest_client-&gt;get_status( ). <BR /> lo_rest_entity = lo_rest_client-&gt;get_response_entity( ). <BR /> <BR /> lv_response = lo_rest_entity-&gt;get_string_data( ). <BR /> <BR /> DATA lr_data TYPE REF TO data. <BR /> /ui2/cl_json=&gt;deserialize( <BR /> EXPORTING <BR /> json = lv_response <BR /> pretty_name = /ui2/cl_json=&gt;pretty_mode-user <BR /> assoc_arrays = abap_true <BR /> CHANGING <BR /> data = lr_data ). <BR /> <BR /> IF lr_data IS BOUND. <BR /> ASSIGN lr_data-&gt;* TO FIELD-SYMBOL(&lt;lfs_data&gt;). <BR /> ASSIGN COMPONENT 'access_token' OF STRUCTURE &lt;lfs_data&gt; TO FIELD-SYMBOL(&lt;lfs_results&gt;). <BR /> ASSIGN &lt;lfs_results&gt;-&gt;* TO FIELD-SYMBOL(&lt;ld_token_value&gt;). <BR /> WRITE: 'Get access to destination service successfully'. <BR /> ENDIF. <BR /> <BR /> lv_acc_token_to_destination = &lt;ld_token_value&gt;. </CODE></PRE><BR /> <SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">通过 destination 服务请求 destination 以获取访问令牌以访问 SAC</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <P style="overflow: hidden;margin-bottom: 0px"><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/api_18.png" /></SPAN></P><BR /> <SPAN data-contrast="auto">相应的 ABAP 实现:</SPAN><SPAN data-ccp-props="{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>*----------------------------------------get access to destination service--------------------------------- <BR /> <BR /> cl_http_client=&gt;create_by_url( EXPORTING url = '&lt;your token url for the btp destination service&gt;' IMPORTING client = lo_client ). <BR /> <BR /> CREATE OBJECT lo_rest_client TYPE cl_rest_http_client <BR /> EXPORTING <BR /> io_http_client = lo_client. <BR /> <BR /> lo_request = lo_rest_client-&gt;create_request_entity( ). <BR /> lo_request-&gt;set_content_type( iv_media_type = 'application/x-www-form-urlencoded' ). <BR /> lv_body = 'grant_type=client_credentials&amp;client_id=&lt;your oauth client id for destination service&gt;&amp;client_secret=&lt;your oauth client secret for destination service&gt;'. <BR /> lo_request-&gt;set_string_data( lv_body ). <BR /> lo_rest_client-&gt;post( EXPORTING io_entity = lo_request ). <BR /> lv_http_status = lo_rest_client-&gt;get_status( ). <BR /> lo_rest_entity = lo_rest_client-&gt;get_response_entity( ). <BR /> <BR /> lv_response = lo_rest_entity-&gt;get_string_data( ). <BR /> <BR /> DATA lr_data TYPE REF TO data. <BR /> /ui2/cl_json=&gt;deserialize( <BR /> EXPORTING <BR /> json = lv_response <BR /> pretty_name = /ui2/cl_json=&gt;pretty_mode-user <BR /> assoc_arrays = abap_true <BR /> CHANGING <BR /> data = lr_data ). <BR /> <BR /> IF lr_data IS BOUND. <BR /> ASSIGN lr_data-&gt;* TO FIELD-SYMBOL(&lt;lfs_data&gt;). <BR /> ASSIGN COMPONENT 'access_token' OF STRUCTURE &lt;lfs_data&gt; TO FIELD-SYMBOL(&lt;lfs_results&gt;). <BR /> ASSIGN &lt;lfs_results&gt;-&gt;* TO FIELD-SYMBOL(&lt;ld_token_value&gt;). <BR /> WRITE: 'Get access to destination service successfully'. <BR /> ENDIF. <BR /> <BR /> lv_acc_token_to_destination = &lt;ld_token_value&gt;. <BR /> <BR /> </CODE></PRE><BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><SPAN data-contrast="auto">获取 SAC 的 csrf 令牌和 session id</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>*----------------------------------------send request get csrf--------------------------------- <BR /> cl_http_client=&gt;create_by_url( EXPORTING url = '&lt;your SAC url&gt;/api/v1/csrf' IMPORTING client = lo_client ). <BR /> CREATE OBJECT lo_rest_client TYPE cl_rest_http_client <BR /> EXPORTING <BR /> io_http_client = lo_client. <BR /> <BR /> lo_rest_client-&gt;set_request_header( <BR /> EXPORTING <BR /> iv_name = 'X-CSRF-TOKEN' <BR /> iv_value = 'FETCH' ). <BR /> <BR /> lo_rest_client-&gt;set_request_header( <BR /> EXPORTING <BR /> iv_name = 'Authorization' <BR /> iv_value = lv_acc_token_to_sac ). <BR /> <BR /> lo_rest_client-&gt;get( ). <BR /> lv_http_status = lo_rest_client-&gt;get_status( ). <BR /> lo_rest_entity = lo_rest_client-&gt;get_response_entity( ). <BR /> lv_csrf = lo_rest_entity-&gt;get_header_field( 'X-CSRF-TOKEN' ). <BR /> DATA lt_headers TYPE tihttpnvp. <BR /> DATA ls_header TYPE ihttpnvp. <BR /> lt_headers = lo_rest_entity-&gt;get_header_fields( ). <BR /> DATA lt_cookies TYPE TABLE OF string. <BR /> DATA lv_cookie TYPE string. <BR /> DATA lv_cookie_remaining TYPE string. <BR /> LOOP AT lt_headers INTO ls_header. <BR /> IF ls_header-name = 'set-cookie'. <BR /> IF ls_header-value CS 'JSESSIONID='. <BR /> SPLIT ls_header-value AT ';' INTO lv_cookie lv_cookie_remaining. <BR /> lv_cookie = lv_cookie+11. <BR /> EXIT. <BR /> ENDIF. <BR /> ENDIF. <BR /> ENDLOOP. <BR /> *WRITE: lv_csrf. <BR /> DATA lv_decoded_cookie TYPE string. <BR /> lv_decoded_cookie = cl_http_utility=&gt;unescape_url( <BR /> escaped = lv_cookie ). <BR /> WRITE: / 'Get csrf token from SAC public api service'. <BR /> *WRITE: lv_csrf. <BR /> *WRITE: lv_decoded_cookie. <BR /> <BR /> </CODE></PRE><BR /> <SPAN data-contrast="auto">向 SAC 发送请求来开启多步操作</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>*----------------------------------------trigger multiactions--------------------------------- <BR /> DATA lv_url TYPE string. <BR /> lv_url = '&lt;your SAC url&gt;/api/v1/multiActions/' &amp;&amp; pv_ma_id &amp;&amp; '/executions'. <BR /> cl_http_client=&gt;create_by_url( EXPORTING url = lv_url IMPORTING client = lo_client ). <BR /> <BR /> CALL METHOD lo_client-&gt;request-&gt;set_method( if_http_request=&gt;co_request_method_post ). <BR /> lo_client-&gt;request-&gt;set_header_field( name = 'x-csrf-token' value = lv_csrf ). <BR /> lo_client-&gt;request-&gt;set_header_field( name = 'Authorization' value = lv_acc_token_to_sac ). <BR /> lo_client-&gt;request-&gt;set_header_field( name = 'Content-Type' value = 'application/json' ). <BR /> lo_client-&gt;request-&gt;set_cookie( name = 'JSESSIONID' <BR /> value = lv_decoded_cookie ). <BR /> lv_body = '{"parameterValues": [ ]}'. <BR /> lo_client-&gt;request-&gt;set_cdata( data = lv_body ). <BR /> CALL METHOD lo_client-&gt;send <BR /> EXCEPTIONS <BR /> http_communication_failure = 1 <BR /> http_invalid_state = 2 <BR /> http_processing_failed = 3. <BR /> <BR /> ASSERT sy-subrc = 0. <BR /> <BR /> CALL METHOD lo_client-&gt;receive <BR /> EXCEPTIONS <BR /> http_communication_failure = 1 <BR /> http_invalid_state = 2 <BR /> http_processing_failed = 3. <BR /> lv_response = lo_client-&gt;response-&gt;get_cdata( ). <BR /> WRITE: lv_response. <BR /> WRITE: / 'Trigger multi-actions ' &amp;&amp; pv_ma_id &amp;&amp; ' successfully'. <BR /> <BR /> </CODE></PRE><BR /> <H3 id="toc-hId--2126381909"><SPAN data-contrast="auto">在 BTP 中集成 SAP Build Process Automation</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H3><BR /> <SPAN data-contrast="auto">SAP Build Process Automation(将在下面的描述中使用“BTP PA”来表示该平台)是 BTP 上可用的低代码平台,可用于跨 SAP/非SAP 应用程序构建工作流。(</SPAN><A href="https://www.sap.com/products/technology-platform/process-automation/features.html" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://www.sap.com/products/technology-platform/process-automation/features.html" target="test_blank" rel="noopener noreferrer">https://www.sap.com/products/technology-platform/process-automation/features.html</A> <SPAN data-contrast="auto">)我们还可以在 BTP PA 过程中嵌入多步操作 API,以实现相应的业务需求。以下是配置的一些关键步骤:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H4 id="toc-hId-1678668875"><SPAN data-contrast="auto">在 BTP 子账户下订阅 SAP Build Process Automation 计划</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230914160137335.png" />&nbsp;</SPAN><BR /> <H4 id="toc-hId-1482155370"><SPAN data-contrast="auto">安全配置</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="auto">在 SAC 中创建一个 OAuth Client,就像上面的 ABAP/Netweaver 一节中提到的一样。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">使用 OAuth2 SAML Bearer Assertion 认证类型在 BTP 中创建 destination,就像上面 ABAP/Netweaver 部分中提到的一样,同时也有一些需要注意的差异:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230914161408544.png" /></SPAN><BR /> <UL><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="1"><SPAN data-contrast="auto">在 URL 后增加“api/v1”后缀,例如:https://{tenant url}/api/v1</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="2" data-aria-level="1"><SPAN data-contrast="auto">在 additional properties 部分,增加:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI data-leveltext="o" data-font="Courier New" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Courier New&quot;,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="1" data-aria-level="2"><SPAN data-contrast="auto">sap.applicationdevelopment.actions.enabled = true</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> <LI data-leveltext="o" data-font="Courier New" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Courier New&quot;,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="2" data-aria-level="2"><SPAN data-contrast="auto">sap.processautomation.enabled = true</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> <LI data-leveltext="o" data-font="Courier New" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:1440,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Courier New&quot;,&quot;469769242&quot;:[9675],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;o&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="3" data-aria-level="2"><SPAN data-contrast="auto">SystemUser 不是必需的,因为您可以配置使用启动 BTP PA 进程的用户作为触发多步操作的用户</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <SPAN data-contrast="auto">在 SAC 中添加 BTP destination 作为受信任的 IdP,类似的过程也在上面的“ABAP/Netweaver”一节中介绍过了。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <H4 id="toc-hId-1285641865"><SPAN data-contrast="auto">BTP PA 配置</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></H4><BR /> <SPAN data-contrast="auto">打开 BTP PA,进入“settings”选项卡,添加在上面步骤中配置的 destination。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230914162617828.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">创建一个多步操作 API action</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">进入“lobby”选项卡,点击“create”按钮,选择“build a automated process”,然后选择“actions”。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">点击“upload API specification”,上传多步操作 API 规范</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <UL><BR /> <LI data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" data-aria-posinset="3" data-aria-level="1"><SPAN data-contrast="auto">你可以从</SPAN> <A href="https://api.sap.com/api/MultiActions_API/overview" target="_blank" rel="noopener noreferrer"><SPAN data-contrast="none"></SPAN></A><A href="https://api.sap.com/api/MultiActions_API/overview" target="test_blank" rel="noopener noreferrer">https://api.sap.com/api/MultiActions_API/overview</A><SPAN data-contrast="auto"> 下载</SPAN><SPAN data-contrast="auto"> API 规范。由于我们的destination URL 被定义为 <A href="https://{tenant" target="test_blank" rel="nofollow noopener noreferrer">https://{tenant</A> url}/api/v1,而不是 API 规范中定义的https://{tenant url}/api/v1/multiActions(因为 BTP PA 需要在相同的 destination url 前缀下配置 csrf 令牌 url),让我们手动更新 API 规范中的路径名,以添加前缀“/multiActions”。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN></LI><BR /> </UL><BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915163032744.png" /></SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915163423475.png" />&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">在 action 设置和 post 请求中同时为 action 启用csrf 设置:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915163703942.png" /></SPAN><BR /> <BR /> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915163633352.png" /><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">释放动作并发布到库。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">创建一个业务流程</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">从 BTP PA 的 lobby 选项卡创建业务流程</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">在流程项目下,创建一个新的数据类型</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915164301833.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">创建多步操作参数的结构如下并保存:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915164511337.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">创建一个流程,从 action library 中添加触发多步操作请求作为流程的一个步骤:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915164750107.png" />&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">配置流程输入如下:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915171045188.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">单击我们刚刚添加的多步操作步骤,创建一个 destination 变量,它将在部署流程时用于绑定 destination :</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915170324635.png" />&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">配置以代表启动流程的用户来运行操作(用户在SAC中也应存在):</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915170500946.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">配置 action 输入如下:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915171217585.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">发布并部署流程。</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">从 monitor 中运行该流程</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">进入 BTP PA 的 monitor 选项卡,点击“Manage - processes and Workflows”,选择我们刚刚部署的流程,点击“Start new instance”</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">&nbsp;</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-contrast="auto">以 Json 格式提供流程输入,点击“start new instance”:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <PRE class="language-abap"><CODE>{ <BR /> "pmaid": "t.7:FD000504F025851615C5037A42DD56BE", <BR /> "pparameter": <BR /> { <BR /> "parameterId": "TargetVersion", <BR /> "value": { <BR /> "memberIds": [ <BR /> "public.Actual" <BR /> ], <BR /> "hierarchyId": "" <BR /> } <BR /> } <BR /> } <BR /> <BR /> </CODE></PRE><BR /> <SPAN data-contrast="auto">在“monitor – Process and Workflows”中,你可以查看流程的状态:</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> <SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}"> <IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/09/image-20230915172211515.png" /></SPAN><BR /> <BR /> <SPAN data-contrast="auto">(结束)</SPAN><SPAN data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}">&nbsp;</SPAN><BR /> <BR /> &nbsp;<BR /> <BR /> 原文链接:<A href="https://blogs.sap.com/2023/09/08/introduction-of-sac-multi-actions-public-api/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer">Introduction of SAC Multi-actions Public API</A><BR /> <BR /> 原作者:<SPAN class="mention-scrubbed">manu.xu</SPAN> 2023-10-30T03:38:27+01:00 https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/%E6%B5%85%E6%9E%90api%E6%97%A5%E8%AE%B0%E8%B4%A6%E5%88%86%E5%BD%95-%E8%BF%87%E8%B4%A6%E5%8F%AF%E4%BB%A5%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%9C%BA%E6%99%AF-%E6%8A%80%E6%9C%AF%E7%AF%87-%E5%BA%94%E4%BB%98%E8%B4%A6%E6%AC%BE-%E4%B8%89-%E4%BE%9B%E5%BA%94%E5%95%86%E5%8F%91%E7%A5%A8/ba-p/13576302 浅析API日记账分录-过账可以实现的场景-技术篇:应付账款(三) 供应商发票 2023-11-01T04:02:47+01:00 Zhehui_Xia https://community.sap.com/t5/user/viewprofilepage/user-id/40727 <H1 id="toc-hId-834931780">目录</H1><BR /> <A href="#_Toc145494554" target="_blank" rel="nofollow noopener noreferrer">背景介绍... </A><BR /> <BR /> <A href="#_Toc145494555" target="_blank" rel="nofollow noopener noreferrer">前提条件... </A><BR /> <BR /> <A href="#_Toc145494556" target="_blank" rel="nofollow noopener noreferrer">测试场景... </A><BR /> <BR /> <A href="#_Toc145494557" target="_blank" rel="nofollow noopener noreferrer">测试响应... </A><BR /> <BR /> &nbsp;<BR /> <H1 id="toc-hId-638418275"><A name="_Toc145494554" target="_blank"></A>背景介绍</H1><BR /> API&nbsp;<STRONG>“</STRONG><STRONG>日记账分录</STRONG> <STRONG>–&nbsp;</STRONG><STRONG>过账(同步)</STRONG><STRONG>”</STRONG>, 技术名称:JournalEntryCreateRequestConfirmation_In<BR /> <BR /> 使用此内向服务将日记账分录从外部系统同步过账到您的 SAP S/4HANA Cloud&nbsp;系统。可根据业务需求扩展此服务。<BR /> <BR /> 本篇及系列博客介绍基于API&nbsp;<STRONG>“</STRONG><STRONG>日记账分录</STRONG> <STRONG>–&nbsp;</STRONG><STRONG>过账(同步)</STRONG>可以实现的场景,本篇介绍供应商发票。<BR /> <H1 id="toc-hId-441904770"><A name="_Toc145494555" target="_blank"></A><A name="_Toc144132383" target="_blank"></A>前提条件</H1><BR /> 根据<A href="https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/a0771f6765f54e1c8193ad8582a32edb.html?locale=zh-CN" target="_blank" rel="noopener noreferrer">链接</A>,通过 APP –&nbsp;<STRONG>通信安排</STRONG>来创建场景标识是&nbsp;<STRONG>SAP_COM_0002&nbsp;</STRONG>的通信安排。在创建通信安排前,需要先创建通信系统,可以参考如下<A href="https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/15663c157670410ca366623dff329396.html?locale=zh-CN" target="_blank" rel="noopener noreferrer">链接</A>。在创建通信安排时,需要为通信安排绑定创建好的通信系统。通信系统中维护的通信用户,用于在 API 测试时的认证授权。<BR /> <BR /> 可以通过<A href="https://api.sap.com/api/JOURNALENTRYCREATEREQUESTCONFI/overview" target="_blank" rel="noopener noreferrer">链接</A>访问&nbsp;<STRONG>Business Acceleration Hub</STRONG>&nbsp;,查看该 API 相关信息。通过<A href="https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/f5c8d0579212c525e10000000a4450e5.html?locale=en-US" target="_blank" rel="noopener noreferrer">链接</A>访问该 API 的业务文档,来查看本 API 支持的字段等详细的细节信息。<BR /> <H1 id="toc-hId-245391265"><A name="_Toc145494556" target="_blank"></A>测试场景<A name="_Toc144132384" target="_blank"></A></H1><BR /> 关于本案例更详细的业务部分分析,请参见<A href="https://blogs.sap.com/?p=1868364" target="_blank" rel="noopener noreferrer">Blog-浅析API日记账分录-过账可以实现的场景-业务篇:应付账款(三) 供应商发票</A>。<BR /> <BR /> 在使用测试工具进行测试前,需要进行一些配置上的维护。由于我们测试对象是 SOAP 类型的 API ,所以我们需要在&nbsp;<STRONG>Headers</STRONG>&nbsp;里添加字段&nbsp;<STRONG>SOAPAction</STRONG>&nbsp;,值为&nbsp;<STRONG>“#POST”</STRONG>&nbsp;。同时,因为我们的&nbsp;<STRONG>Request Body</STRONG>&nbsp;使用的是&nbsp;<STRONG>xml</STRONG>&nbsp;类型,因此我们也需要添加字段&nbsp;<STRONG>Content-Type&nbsp;</STRONG>,值为&nbsp;<STRONG>test/xml&nbsp;</STRONG>。<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/22-2.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">在 Headers 中进行配置</P><BR /> 在填写好发送请求的 url 以及通信用户的 Username 和 Password 后,我们就可以填入 Payload 发送 API 请求。以下是用于本场景的 Example Payload: Vendor Invoice,经过 API 工具的测试生成供应商贷方凭证。<BR /> <BR /> 在该 Payload 里,部分字段需要根据实际业务需求和系统实际情况自行调整,可参考下表:<BR /> <TABLE width="630"><BR /> <TBODY><BR /> <TR><BR /> <TD width="323"><STRONG>字段名</STRONG></TD><BR /> <TD width="307"><STRONG>示例值</STRONG></TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>AccountingDocumentType</STRONG></TD><BR /> <TD width="307">KR</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>DocumentReferenceID</STRONG></TD><BR /> <TD width="307">123</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>DocumentHeaderText</STRONG></TD><BR /> <TD width="307">RES Clear with Discount</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>CreatedByUser</STRONG></TD><BR /> <TD width="307">APITEST</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>CompanyCode</STRONG></TD><BR /> <TD width="307">1310</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>DocumentDate</STRONG></TD><BR /> <TD width="307">2023-07-31</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>PostingDate</STRONG></TD><BR /> <TD width="307">2023-07-31</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>TaxDeterminationDate</STRONG></TD><BR /> <TD width="307">2023-07-31</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>GLAccount</STRONG></TD><BR /> <TD>61003000</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>AssignmentReference</STRONG></TD><BR /> <TD>RES Clear w Disc</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>DocumentItemText</STRONG></TD><BR /> <TD>Test Item</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>Creditor</STRONG></TD><BR /> <TD>13300001</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>TaxCode</STRONG></TD><BR /> <TD>J2</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>TaxCountry</STRONG></TD><BR /> <TD>CN</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>AmountInTransactionCurrency</STRONG></TD><BR /> <TD width="307">885</TD><BR /> </TR><BR /> <TR><BR /> <TD><STRONG>AmountInTransactionCurrency currencyCode</STRONG></TD><BR /> <TD>CNY</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>AmountInTransactionCurrency</STRONG></TD><BR /> <TD width="307">1000</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>AmountInTransactionCurrency currencyCode</STRONG></TD><BR /> <TD width="307">CNY</TD><BR /> </TR><BR /> <TR><BR /> <TD width="323"><STRONG>DocumentItemText</STRONG></TD><BR /> <TD width="307">Vender item</TD><BR /> </TR><BR /> </TBODY><BR /> </TABLE><BR /> <PRE class="language-markup"><CODE>&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfin="http://sap.com/xi/SAPSCORE/SFIN"&gt;<BR /> &lt;soapenv:Header/&gt;<BR /> &lt;soapenv:Body&gt;<BR /> &lt;sfin:JournalEntryBulkCreateRequest&gt;<BR /> &lt;MessageHeader&gt;<BR /> &lt;ID&gt;MSG_2023-07-31&lt;/ID&gt;<BR /> &lt;!--&lt;ReferenceID&gt;&lt;/ReferenceID&gt;--&gt;<BR /> &lt;CreationDateTime&gt;2023-07-31T12:00:00.1234567Z&lt;/CreationDateTime&gt;<BR /> &lt;SenderBusinessSystemID&gt;SHGMA04&lt;/SenderBusinessSystemID&gt;<BR /> &lt;!--&lt;TestDataIndicator&gt;true&lt;/TestDataIndicator&gt;--&gt;<BR /> &lt;/MessageHeader&gt;<BR /> &lt;!--1 or more repetitions:--&gt;<BR /> &lt;JournalEntryCreateRequest&gt;<BR /> &lt;MessageHeader&gt;<BR /> &lt;ID&gt;SUB_MSG_2023-07-31&lt;/ID&gt;<BR /> &lt;!--&lt;ReferenceID&gt;&lt;/ReferenceID&gt;--&gt;<BR /> &lt;CreationDateTime&gt;2023-07-31T12:00:00.1234567Z&lt;/CreationDateTime&gt;<BR /> &lt;/MessageHeader&gt;<BR /> &lt;JournalEntry&gt;<BR /> &lt;OriginalReferenceDocumentType&gt;BKPFF&lt;/OriginalReferenceDocumentType&gt;<BR /> &lt;OriginalReferenceDocument/&gt;<BR /> &lt;OriginalReferenceDocumentLogicalSystem/&gt;<BR /> &lt;BusinessTransactionType&gt;RFBU&lt;/BusinessTransactionType&gt;<BR /> &lt;AccountingDocumentType&gt;KR&lt;/AccountingDocumentType&gt;<BR /> &lt;DocumentReferenceID&gt;123&lt;/DocumentReferenceID&gt;<BR /> &lt;DocumentHeaderText&gt;RES Clear with Discount&lt;/DocumentHeaderText&gt;<BR /> &lt;DoTaxAmountCheck&gt;true&lt;/DoTaxAmountCheck&gt; <BR /> &lt;CreatedByUser&gt;APITEST&lt;/CreatedByUser&gt;<BR /> &lt;CompanyCode&gt;1310&lt;/CompanyCode&gt;<BR /> &lt;DocumentDate&gt;2023-07-31&lt;/DocumentDate&gt;<BR /> &lt;PostingDate&gt;2023-07-31&lt;/PostingDate&gt;<BR /> &lt;TaxDeterminationDate&gt;2023-07-31&lt;/TaxDeterminationDate&gt;<BR /> &lt;!--&lt;Reference1InDocumentHeader&gt;12345678901234567890&lt;/Reference1InDocumentHeader&gt;--&gt;<BR /> &lt;!--&lt;Reference2InDocumentHeader&gt;1234567890&lt;/Reference2InDocumentHeader&gt;--&gt;<BR /> &lt;Item&gt;<BR /> &lt;!--Optional:--&gt;<BR /> &lt;ReferenceDocumentItem&gt;1&lt;/ReferenceDocumentItem&gt;<BR /> &lt;GLAccount&gt;61003000&lt;/GLAccount&gt;<BR /> &lt;AmountInTransactionCurrency currencyCode="CNY"&gt;885&lt;/AmountInTransactionCurrency&gt;<BR /> &lt;DebitCreditCode&gt;S&lt;/DebitCreditCode&gt;<BR /> &lt;DocumentItemText&gt;Test Item&lt;/DocumentItemText&gt;<BR /> &lt;AssignmentReference&gt;RES Clear w Disc&lt;/AssignmentReference&gt;<BR /> &lt;Tax&gt;<BR /> &lt;TaxCode&gt;J2&lt;/TaxCode&gt;<BR /> &lt;TaxCountry&gt;CN&lt;/TaxCountry&gt;<BR /> &lt;/Tax&gt;<BR /> &lt;AccountAssignment&gt;<BR /> &lt;CostCenter&gt;0013101101&lt;/CostCenter&gt;<BR /> &lt;/AccountAssignment&gt;<BR /> &lt;!--Optional:--&gt;<BR /> &lt;!--&lt;Material&gt;&lt;/Material&gt;--&gt;<BR /> &lt;!--Optional:--&gt;<BR /> &lt;!--&lt;QuantityInEntryUnit unitCode="M3"&gt;0&lt;/QuantityInEntryUnit&gt;--&gt;<BR /> &lt;/Item&gt;<BR /> &lt;!--Zero or more repetitions:--&gt;<BR /> &lt;CreditorItem&gt;<BR /> &lt;ReferenceDocumentItem&gt;2&lt;/ReferenceDocumentItem&gt;<BR /> &lt;Creditor&gt;13300001&lt;/Creditor&gt;<BR /> &lt;AmountInTransactionCurrency currencyCode="CNY"&gt;-1000&lt;/AmountInTransactionCurrency&gt;<BR /> &lt;DebitCreditCode&gt;H&lt;/DebitCreditCode&gt;<BR /> &lt;DocumentItemText&gt;Vender item&lt;/DocumentItemText&gt;<BR /> &lt;AssignmentReference&gt;RES Clear w Disc&lt;/AssignmentReference&gt;<BR /> &lt;/CreditorItem&gt;<BR /> &lt;ProductTaxItem&gt;<BR /> &lt;TaxCode&gt;J2&lt;/TaxCode&gt;<BR /> &lt;TaxItemClassification&gt;VST&lt;/TaxItemClassification&gt;<BR /> &lt;TaxCountry&gt;CN&lt;/TaxCountry&gt;<BR /> &lt;AmountInTransactionCurrency currencyCode="CNY"&gt;115&lt;/AmountInTransactionCurrency&gt;<BR /> &lt;DebitCreditCode&gt;S&lt;/DebitCreditCode&gt;<BR /> &lt;TaxBaseAmountInTransCrcy currencyCode="CNY"&gt;885&lt;/TaxBaseAmountInTransCrcy&gt;<BR /> &lt;/ProductTaxItem&gt;<BR /> &lt;/JournalEntry&gt;<BR /> &lt;/JournalEntryCreateRequest&gt;<BR /> &lt;/sfin:JournalEntryBulkCreateRequest&gt;<BR /> &lt;/soapenv:Body&gt;<BR /> &lt;/soapenv:Envelope&gt;</CODE></PRE><BR /> <STRONG>&lt;ProductTaxItem&gt;</STRONG>这部分 TaxCode 需要根据情况来修改,保证平衡。<BR /> <BR /> 本 API 支持创建多个日记账。参考下图,如果添加多段 13 ~ 73 行的&nbsp;<STRONG>&lt;JournalEntryCreateRequest&gt;&nbsp;</STRONG>部分的内容,则可以同时创建多个日记账。<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/Snipaste_2023-11-01_11-01-14.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">批量创建日记账</P><BR /> <BR /> <H1 id="toc-hId-48877760"><A name="_Toc145494557" target="_blank"></A>测试响应</H1><BR /> 测试 SOAP 类型的 API 与 ODATA 类型的 API 有一点不同的是,无法通过返回的状态码来判断我们是否成功运行,因为运行成功后状态码都是 200 (除了 Username 和 Password 不正确的情况返回状态码 401 )。因此我们需要检查运行 API 后的 Response Body 进行判断。如果&nbsp;<STRONG>&lt;JournalEntryCreateConfirmation&gt;&nbsp;</STRONG>中的&nbsp;<STRONG>AccountingDocument&nbsp;</STRONG>值为&nbsp;0000000000 ,则说明创建不成功。我们可以根据 Response Body 后面的提示内容对我们的 Payload 进行修正。<BR /> <BR /> 如下是成功创建日记账时返回的 Response ,会返回创建成功的会计凭证号。<BR /> <PRE class="language-markup"><CODE>&lt;soap-env:Envelope<BR /> xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"&gt;<BR /> &lt;soap-env:Header/&gt;<BR /> &lt;soap-env:Body&gt;<BR /> &lt;n0:JournalEntryBulkCreateConfirmation<BR /> xmlns:n0="http://sap.com/xi/SAPSCORE/SFIN"<BR /> xmlns:prx="urn:sap.com:proxy:CCF:/1SAI/TAS3D871C7855B59197A671:795"&gt;<BR /> &lt;MessageHeader&gt;<BR /> &lt;UUID&gt;cdc0d72f-cfa9-1ede-9cc2-019dd7163c2c&lt;/UUID&gt;<BR /> &lt;ReferenceID&gt;MSG_2023-07-31&lt;/ReferenceID&gt;<BR /> &lt;CreationDateTime&gt;2023-10-24T01:52:56.449332Z&lt;/CreationDateTime&gt;<BR /> &lt;SenderBusinessSystemID&gt;CCF&lt;/SenderBusinessSystemID&gt;<BR /> &lt;RecipientBusinessSystemID&gt;SHGMA04&lt;/RecipientBusinessSystemID&gt;<BR /> &lt;/MessageHeader&gt;<BR /> &lt;ConfirmationInterfaceOrignName/&gt;<BR /> &lt;JournalEntryCreateConfirmation&gt;<BR /> &lt;MessageHeader&gt;<BR /> &lt;UUID&gt;cdc0d72f-cfa9-1ede-9cc2-019dd7165c2c&lt;/UUID&gt;<BR /> &lt;ReferenceID&gt;SUB_MSG_2023-07-31&lt;/ReferenceID&gt;<BR /> &lt;CreationDateTime&gt;2023-10-24T01:52:56.452549Z&lt;/CreationDateTime&gt;<BR /> &lt;/MessageHeader&gt;<BR /> &lt;JournalEntryCreateConfirmation&gt;<BR /> &lt;AccountingDocument&gt;1900000334&lt;/AccountingDocument&gt;<BR /> &lt;CompanyCode&gt;1310&lt;/CompanyCode&gt;<BR /> &lt;FiscalYear&gt;2023&lt;/FiscalYear&gt;<BR /> &lt;/JournalEntryCreateConfirmation&gt;<BR /> &lt;Log&gt;<BR /> &lt;MaximumLogItemSeverityCode&gt;2&lt;/MaximumLogItemSeverityCode&gt;<BR /> &lt;Item&gt;<BR /> &lt;TypeID&gt;605(RW)&lt;/TypeID&gt;<BR /> &lt;SeverityCode&gt;1&lt;/SeverityCode&gt;<BR /> &lt;Note&gt;Document posted successfully: BKPFF 190000033413102023 0LEUD7I&lt;/Note&gt;<BR /> &lt;WebURI&gt;http://ldciccf.wdf.sap.corp:50000/sap/xi/docu_apperror?ID=NA&amp;amp;OBJECT=RW605&amp;amp;LANGUAGE=E&amp;amp;MSGV1=BKPFF&amp;amp;MSGV2=190000033413102023&amp;amp;MSGV3=0LEUD7I&lt;/WebURI&gt;<BR /> &lt;/Item&gt;<BR /> &lt;Item&gt;<BR /> &lt;TypeID&gt;707(FF)&lt;/TypeID&gt;<BR /> &lt;SeverityCode&gt;2&lt;/SeverityCode&gt;<BR /> &lt;Note&gt;Tax entered incorrect (code J2, amount 115.00), correct 115.05 CNY&lt;/Note&gt;<BR /> &lt;WebURI&gt;http://ldciccf.wdf.sap.corp:50000/sap/xi/docu_apperror?ID=NA&amp;amp;OBJECT=FF707&amp;amp;LANGUAGE=E&amp;amp;MSGV1=J2&amp;amp;MSGV2=%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20115.00&amp;amp;MSGV3=%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20115.05&amp;amp;MSGV4=CNY&lt;/WebURI&gt;<BR /> &lt;/Item&gt;<BR /> &lt;/Log&gt;<BR /> &lt;/JournalEntryCreateConfirmation&gt;<BR /> &lt;Log/&gt;<BR /> &lt;/n0:JournalEntryBulkCreateConfirmation&gt;<BR /> &lt;/soap-env:Body&gt;<BR /> &lt;/soap-env:Envelope&gt;</CODE></PRE> 2023-11-01T04:02:47+01:00 https://community.sap.com/t5/technology-blogs-by-members/sending-data-in-a-url-link-consuming-api-from-outside-in-abap/ba-p/13579679 Sending Data in a URL link (Consuming API from Outside in ABAP) 2023-11-01T21:59:17+01:00 SVT https://community.sap.com/t5/user/viewprofilepage/user-id/168913 Recently I got a requirement to send a pdf file via a soap API, as this was new to me had to do some research and finally achieved it with the below given method. Posting this for the sake of people who are looking for a solution for this kind of a problem statement.<BR /> <BR /> <STRONG>Requirement :</STRONG><BR /> <BR /> Send one pdf file as hexadecimal and invoice details in a given URL (API).<BR /> <BR /> <STRONG>Solution :</STRONG><BR /> <BR /> This can be achieved in ABAP through some classes and methods in the report program itself. No need to create OData or any other complicated programs.<BR /> <BR /> <STRONG>Steps :</STRONG><BR /> <BR /> Create a internal table of the data format to be send to client side.<BR /> <PRE class="language-abap"><CODE>TYPES : BEGIN OF ty_file,<BR /> text TYPE string,<BR /> END OF ty_file.<BR /> <BR /> DATA : lt_file TYPE TABLE OF ty_file,<BR /> ls_file TYPE ty_file.<BR /> <BR /> ls_file-text = '&lt;soap&gt; '.<BR /> <BR /> append ls_file to lt_file.<BR /> <BR /> ls_file-text = '&lt;text1&gt; Testing text &lt;/text1&gt; '.<BR /> <BR /> append ls_file to lt_file.<BR /> <BR /> ls_file-text = '&lt;text2&gt; Testing Data 2 &lt;/text2&gt; '.<BR /> <BR /> append ls_file to lt_file.<BR /> <BR /> ls_file-text = '&lt;/soap&gt; '.<BR /> <BR /> append ls_file to lt_file.</CODE></PRE><BR /> Now write the coding to send this data in the given URL.<BR /> <BR /> &nbsp;<BR /> <PRE class="language-abap"><CODE> CALL METHOD cl_http_client=&gt;create_by_url<BR /> EXPORTING<BR /> url = 'https://sample.url.link?WSDL' <BR /> "Sample link but link ending with WSDL and starting with https.<BR /> IMPORTING<BR /> client = o_http_client1<BR /> EXCEPTIONS<BR /> argument_not_found = 1<BR /> plugin_not_active = 2<BR /> internal_error = 3<BR /> pse_not_found = 4<BR /> pse_not_distrib = 5<BR /> pse_errors = 6<BR /> OTHERS = 7.<BR /> <BR /> IF sy-subrc &lt;&gt; 0.<BR /> ENDIF.</CODE></PRE><BR /> Once u get the subrc zero here. set the header field values.<BR /> <PRE class="language-abap"><CODE> o_http_client1-&gt;propertytype_logon_popup = o_http_client1-&gt;co_disabled.<BR /> o_http_client1-&gt;propertytype_accept_cookie = if_http_client=&gt;co_enabled.<BR /> o_http_client1-&gt;request-&gt;set_method( 'POST' ).<BR /> <BR /> "Set Header fields<BR /> CALL METHOD o_http_client1-&gt;request-&gt;set_header_field<BR /> EXPORTING<BR /> name = '~request_method'<BR /> value = 'POST'.<BR /> <BR /> CALL METHOD o_http_client1-&gt;request-&gt;set_header_field<BR /> EXPORTING<BR /> name = 'Content-Type'<BR /> value = 'text/xml'.<BR /> <BR /> CALL METHOD o_http_client1-&gt;request-&gt;set_header_field<BR /> EXPORTING<BR /> name = 'Connection'<BR /> value = 'keep-alive'.</CODE></PRE><BR /> All set to share our data now. Make a String or xstring of our internal table.<BR /> <PRE class="language-abap"><CODE> DATA(lo_http_request) = o_http_client1-&gt;request.<BR /> <BR /> DATA : lv_str TYPE string.<BR /> LOOP AT lt_file INTO DATA(wa).<BR /> CONCATENATE lv_str wa-text INTO lv_str.<BR /> CLEAR wa.<BR /> ENDLOOP.</CODE></PRE><BR /> The file is ready as a string to send it in the url. <STRONG>lv_str.</STRONG><BR /> <PRE class="language-abap"><CODE> CALL METHOD lo_http_request-&gt;append_cdata<BR /> EXPORTING<BR /> data = lv_str.</CODE></PRE><BR /> We get more methods to set the values here, append_cdata() or append_data().<BR /> <BR /> The type should be string or xstring.<BR /> <PRE class="language-abap"><CODE> "Send data<BR /> CALL METHOD o_http_client1-&gt;send<BR /> EXCEPTIONS<BR /> http_communication_failure = 1 " Communication Error<BR /> http_invalid_state = 2 " Invalid state<BR /> http_processing_failed = 3 " Error when processing method<BR /> http_invalid_timeout = 4 " Invalid Time Entry<BR /> OTHERS = 5.<BR /> </CODE></PRE><BR /> &nbsp;<BR /> <BR /> The values are sent now, Check the error and response from the client side now.<BR /> <PRE class="language-abap"><CODE> DATA errortext TYPE string.<BR /> CALL METHOD o_http_client1-&gt;get_last_error<BR /> IMPORTING<BR /> code = subrc<BR /> message = errortext.<BR /> <BR /> CALL METHOD o_http_client1-&gt;receive<BR /> EXCEPTIONS<BR /> http_communication_failure = 1 " Communication Error<BR /> http_invalid_state = 2 " Invalid state<BR /> http_processing_failed = 3 " Error when processing method<BR /> OTHERS = 4.<BR /> <BR /> "Get the response<BR /> CALL METHOD o_http_client1-&gt;response-&gt;get_status<BR /> IMPORTING<BR /> code = gv_http_status_code " HTTP Status Code<BR /> reason = gv_http_status_text. " HTTP status description</CODE></PRE><BR /> To show the response you have received here, we can the&nbsp; show_html method or can download the response as a file in our local system. Here I am calling the show_html method to show the response.<BR /> <PRE class="language-abap"><CODE>DATA(result) = o_http_client1-&gt;response-&gt;get_cdata( ).<BR /> <BR /> IF result IS NOT INITIAL.<BR /> cl_abap_browser=&gt;show_html(<BR /> EXPORTING<BR /> title = 'Status'<BR /> size = cl_abap_browser=&gt;medium<BR /> modal = abap_true<BR /> html_string = result<BR /> printing = abap_false<BR /> format = cl_abap_browser=&gt;landscape<BR /> position = cl_abap_browser=&gt;topleft<BR /> context_menu = abap_false<BR /> check_html = abap_true<BR /> dialog = abap_true<BR /> ).<BR /> Endif.</CODE></PRE><BR /> &nbsp;<BR /> <BR /> Thanks for reading, this is working for me. Feel free to give feedback or a better solution if you have done this earlier.<BR /> <BR /> &nbsp; 2023-11-01T21:59:17+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap/ba-p/13574492 SAP Cloud ALM API & Integration: Several extensions of SAP Cloud ALM with SAP BTP (Part 1): Introduction 2023-11-02T16:07:47+01:00 XavierP https://community.sap.com/t5/user/viewprofilepage/user-id/164863 In this series of blogs we will focus on integrating the&nbsp;<STRONG>SAP Cloud ALM </STRONG>with&nbsp;<STRONG>S</STRONG><STRONG>AP BTP </STRONG><STRONG>(</STRONG><STRONG>SAP Build Apps, SAP Build Process Automation, SAP Integration Suite, SAP AI core</STRONG><STRONG>) and with another </STRONG><STRONG>SAP Cloud ALM</STRONG><STRONG> tenant </STRONG>to demonstrate how to extend SAP Cloud ALM with custom functionalities.<BR /> <BR /> &nbsp;<BR /> <BR /> In this first blog, we will introduce the overall picture and context. We will then deep dive in the integration with the next blogs.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-963956157">A demonstration scenario of several integration points</H2><BR /> A SAP Partner creates its content (a new requirement in this example) in his SAP Cloud ALM tenant (SAP Cloud ALM partner) and deliver it to a SAP Cloud ALM Customer tenant. A partner project manager uses an SAP Build App to trigger an approval workflow. A customer project manager will receive the approval request and approve it. This approval updates the requirement approval status in the SAP Cloud ALM Customer tenant. This change triggers an requirement update on the partner SAP Cloud ALM tenant and the requirement content is enriched using SAP AI Core.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-767442652">The involved components</H2><BR /> <UL><BR /> <LI>Connect and synchronise 2 SAP Cloud ALM (Partner ALM and Customer ALM):</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>External API Management of SAP Cloud ALM</LI><BR /> <LI>SAP Integration Suite</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <UL><BR /> <LI>Use a mobile application to trigger requirements approval:</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>SAP Build Apps</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <UL><BR /> <LI>Approve Requirements with Workflow Engine</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>SAP Build Process Automation</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <UL><BR /> <LI>Enrich SAP Cloud ALM content with AI content:</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>SAP Integration Suite</LI><BR /> <LI>SAP AI Core Services</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/10/scenario-1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Demonstration scenario</P><BR /> <BR /> <H2 id="toc-hId-570929147"></H2><BR /> <H2 id="toc-hId-374415642"></H2><BR /> <H2 id="toc-hId-177902137">SAP Cloud ALM API &amp; Integration blogs:</H2><BR /> <UL><BR /> <LI>Part 1: Introduction - current page</LI><BR /> <LI>Part 2: <A href="https://blogs.sap.com/2023/11/09/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-2-replicate-a-newly-created-requirement-from-sap-cloud-alm-tenant-a-to-b-using-the-external-api-management-of/" target="_blank" rel="noopener noreferrer">Replicate a newly created requirement from SAP Cloud ALM tenant A to B using the External API Management of SAP Cloud ALM.</A></LI><BR /> <LI>Part 3: <A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval.<BR /> </A></LI><BR /> <LI>Part 4: <A href="https://blogs.sap.com/2023/12/07/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-4-approve-requirements-with-workflow-engine-sap-build-process-automation/" target="_blank" rel="noopener noreferrer">Approve Requirements with Workflow Engine (SAP Build Process Automation)</A></LI><BR /> <LI>Part 5: <A href="https://blogs.sap.com/2023/12/20/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-5-enrich-sap-cloud-alm-content-with-ai-content-sap-integration-suite-sap-ai-core-services/" target="_blank" rel="noopener noreferrer">Enrich SAP Cloud ALM content with AI content (SAP Integration Suite, SAP AI Core Services)</A></LI><BR /> </UL><BR /> &nbsp;<BR /> <BR /> Thanks for reading. 2023-11-02T16:07:47+01:00 https://community.sap.com/t5/technology-blogs-by-members/part-3-next-steps-in-building-the-integration-architecture-for-the/ba-p/13577121 Part 3: Next steps in building the Integration Architecture for the Intelligent Enterprise 2023-11-02T23:34:32+01:00 stevang https://community.sap.com/t5/user/viewprofilepage/user-id/7643 <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/ed-259-xcrI6CPkkJs-unsplash.jpg" /></P><BR /> In the previous articles, I was describing how to build an Integration Architecture for the Intelligent Enterprise (<A href="https://blogs.sap.com/2023/04/09/how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 1</A> and <A href="https://blogs.sap.com/2023/04/27/part-2-how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 2</A>) – but now I would like to go few steps forward…<BR /> <H2 id="toc-hId-964042429">Network of roads</H2><BR /> What is integration?<BR /> <BR /> It is much more than one bridge… It is a road… It is a network of roads…<BR /> <BR /> Roads are foundation infrastructure... Integration Architecture is the foundation infrastructure – integrating “Business Systems”…<BR /> <BR /> If we want to move, we need a road. If we want to move fast, we need a highway. And it takes time to build any road, especially highway... But;<BR /> <UL><BR /> <LI>not all roads are highways;</LI><BR /> <LI>not all roads go straight A to B.</LI><BR /> </UL><BR /> The same thing is with the Integration Architecture – building takes time, but once basic network of integrations are built, then we can move fast and we can connect new, and new, Systems to the already existing infrastructure.<BR /> <H2 id="toc-hId-767528924">Business Objects for the Integration Services</H2><BR /> In the <A href="https://blogs.sap.com/2023/04/09/how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 1</A> article, I was emphasizing on connection between <STRONG>Business Objects</STRONG> and <STRONG>Integration Services</STRONG> – setting the whole concept on a bit higher level of abstraction, then just “Interface” or “API”. API is too technical, and Enterprise Integration is much more than Interfaces or APIs. Integration between Systems is not about Interfaces but about integrated Business Processes – as we know, <STRONG>we are integrating Business Processes, not just System</STRONG>…<BR /> <BR /> So, we are integrating <STRONG>Business Objects</STRONG> (which may be dispersed between various Systems), using associated <STRONG>Integration Services</STRONG> between two or more <STRONG>Systems</STRONG> – whenever there is a need for <STRONG>Business Object</STRONG> date to be partially or fully replicated, or when we need to create/read/update/delete data from one or the other System.<BR /> <BR /> And, in practice, there is no indefinity number of <STRONG>Business Objects</STRONG> which really needs to be integrated in one Enterprise or Organization. Let’s review a catalogue of most common <STRONG>Business Objects</STRONG> to be used for the <STRONG>Integration Services</STRONG> – it’s not hard-coded recommendation, or anything of the kind – it’s just a conceptual reference list, which can be used as a starting point.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/1-catalogue-of-business-objects.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 1. Catalogue of Business Objects</P><BR /> Every Enterprise or Organization will, of course, develop its own model of <STRONG>Business Objects</STRONG>, and <STRONG>Integration Services</STRONG> – perhaps using different taxonomy, e.g.:<BR /> <UL><BR /> <LI>use <EM>Customer</EM> (or <EM>Consumer</EM>) instead of <EM>Account</EM>;</LI><BR /> <LI>use <EM>Prospect</EM> as well, instead of only <EM>Lead</EM>;</LI><BR /> <LI>or may not use <EM>Lead</EM> at all</LI><BR /> <LI>…</LI><BR /> </UL><BR /> Or one <STRONG>Business Object</STRONG> may have multiple <STRONG>Integration Services</STRONG>, e.g.:<BR /> <UL><BR /> <LI><EM>Sales Order</EM>, as a <STRONG>Business Object</STRONG>, will be utilized by <EM>Order Simulation</EM>, <EM>Order Create</EM>, <EM>Order Replicate</EM>, or specific <EM>Order</EM> events – and each of those would usually be different <STRONG>Integration Service</STRONG> – with perhaps different <STRONG>Integration Execution</STRONG>, <STRONG>Integration Pattern</STRONG> or <STRONG>Integration Function</STRONG> in place…</LI><BR /> <LI><EM>Price</EM>, may include only integration of the final Product/Service pricing information, or it may include exchange of various pricing data – like <EM>Condition Type</EM>, <EM>Condition Record</EM>, <EM>Pricing Procedure</EM></LI><BR /> </UL><BR /> Of course, one <STRONG>Integration Service</STRONG> might have more than one <STRONG>Interface</STRONG> e.g. different flow, logic or even endpoint might be used for create operation, update operation, read operation etc.<BR /> <BR /> Also, integration wise, several <STRONG>Business Objects</STRONG> may in fact be combined in one <STRONG>Integration Service</STRONG>, e.g.:<BR /> <UL><BR /> <LI>For <EM>Order</EM> in B2B scenario, when we use EDIFACT or X12 for exchanging <EM>Sales Orders</EM> and <EM>Purchase Orders</EM>, whether we sell or purchase, in fact we can utilize the same <STRONG>Integration Service</STRONG> – but with different backend processes.</LI><BR /> <LI>Various <EM>Interactions</EM> may share the same <STRONG>Integration Service</STRONG> – disregarding we are interacting with <EM>Customer</EM>, <EM>Supplier</EM>, or conducting some in-house communication.</LI><BR /> <LI><EM>Customer Actions</EM> could be based on some <EM>Customer Case</EM> (e.g. repair some equipment) or could be part of the generated visit list (for the Business Developer) etc.</LI><BR /> </UL><BR /> Finally, we may decide to split some <STRONG>Business Objects</STRONG> into something more meaningful for the specific Line of Business, e.g. split <EM>Customer Attributes</EM> to:<BR /> <UL><BR /> <LI><EM>Marketing Attributes</EM></LI><BR /> <LI><EM>Customer Segments</EM></LI><BR /> <LI>…</LI><BR /> </UL><BR /> In fact, there could be many different variations how we organize Business Objects and associated Integration Services.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/2-system-business-object-integration-service.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 2. System - Business Object - Integration Service</P><BR /> This is now “slightly” upgraded version of the image describing <STRONG>System – Business Object – Integration</STRONG> <STRONG>Service</STRONG> relationship, initially explained in the <A href="https://blogs.sap.com/2023/04/09/how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 1</A> article.<BR /> <BR /> Although, I was trying to stay vendor neutral in the taxonomy for <STRONG>Business Object</STRONG> (relevant for the <STRONG>Integration Services</STRONG>), and build the “model” based on some general best practices[1][2] (seeking some inspiration within <A href="https://www.leanix.net/en/" target="_blank" rel="nofollow noopener noreferrer">LeanIX</A>) and my own experiences – I have relied mostly on <A href="https://www.sap.com/services-support/integration-solution-advisory-methodology.html" target="_blank" rel="noopener noreferrer">SAP ISA-M</A> and <A href="https://api.sap.com/" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>. The sheer volume of already predefined integration artifacts and business documentation, makes it predominantly influencing methodology (and logical choice) when building an Integration Architecture, especially when having SAP backed core (e.g. S/4HANA). But, as already mentioned in the <A href="https://blogs.sap.com/2023/04/09/how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 1</A> article, SAP ISA-M does (or can easily) provide wider context then just SAP Eco-space, and can be used as a foundation for building more agnostic Enterprise Integration Strategy – adopted to the specific needs of the Organization with large heterogenic System Environment.<BR /> <H2 id="toc-hId-571015419">Adjusting the integration delivery approach</H2><BR /> The more mature we are in the Integration Strategy – the more already built &amp; available <STRONG>Integration Services</STRONG> will be at hand ready to be reused.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/3-reuse-curve-scaled.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 3. Reusing Integration Services</P><BR /> Scope of integration is always End-2-End, but how to deliver it – this is different question.<BR /> <BR /> Initially when we were building our ways into proper governance models, we needed to apply End-2-End integration delivery approach – we just needed to invest high to build the network of “roads”. In order our Business Process to flow seamlessly (and this is the ultimate goal, right?) it was necessary to implement beyond the Middleware, sometimes it was necessary to provide delivery of the APIs on both (or all) endpoints, as we do need to “prove” the Solution Concept.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/4a-e2e-integration-delivery-approach.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 4.a. E2E integration delivery approach</P><BR /> But at the end, this is not the target delivery model we want.<BR /> <BR /> Matured delivery model foresees we can Publish APIs to the Client System(s) who will just Subscribe to the specific Integration Service and/or Event Topic, based on their needs.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/4b-evolve-to-pubsub-integration-delivery-approach_corr.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 4.b. Evolving to Publish&amp;Subscribe integration delivery approach</P><BR /> In the ideal circumstances – this PubSub (Publish-subscribe pattern)[3] can be managed and orchestrated only through Middleware, but in some cases, some adjustments would still be needed in the Core/Master Systems – we might have to enhance some <STRONG>Integration Services</STRONG>, or builds some new <STRONG>Integration Services</STRONG>. Over time, some <STRONG>Integration Services</STRONG> would be retired and replaced with some new solutions etc.<BR /> <BR /> In majority of the cases Middleware would have to be enhanced with new flows, and transformations for the new subscribers – in cases of the <STRONG>Broadcast</STRONG> Integration Pattern, e.g. when we are doing Event Notifications or Data Replications, minimum needed would be to extend multicast with the new branch for the new subscriber.<BR /> <H2 id="toc-hId-374501914">What to expect next?</H2><BR /> A bit more high-level thoughts…<BR /> <BR /> As we are climbing through the ladder of the “continues” progress, where do we see an end? Well, there is no end in fact – because there will always be something new… Some new ladder…<BR /> <BR /> As described in one of my earlier <A href="https://groups.community.sap.com/t5/enterprise-architecture-blog/enterprise-architecture-in-the-era-of-agile/ba-p/224058" target="_blank" rel="noopener noreferrer">article</A>[4], we are now heading to the “state” of the <STRONG>Continuous Transformation</STRONG>[5] – raising from Client Server Architecture; through Service Oriented Architecture and Cloud, Mobile, Big Data Architecture; to Intelligent Enterprise Architecture.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/5-ladder.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 5. The Ladder...</P><BR /> We do not know (with certainty) what is next – because we do not know what is the next “big disruption” which will re-shape IT industry… <A href="https://www.uber.com/global/en/sign-in/" target="_blank" rel="nofollow noopener noreferrer">Uber</A>, <A href="https://www.amazon.com/" target="_blank" rel="nofollow noopener noreferrer">Amazon</A>, <A href="https://openai.com/chatgpt" target="_blank" rel="nofollow noopener noreferrer">ChatGPT</A> – they were (or still are) creating major disruptions – but we could not tell what the next “big one” would be, before the “disruption” itself emerge…<BR /> <BR /> How to be prepared?<BR /> <BR /> We cannot runaway, we cannot hide, so let’s embrace the change!<BR /> <BR /> In the integration world – let’s think “outside of the box” of SOA or API-first…<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/6-interoperability.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 6. Interoperability in the Integration Architecture</P><BR /> &nbsp;<BR /> <BR /> No, there is nothing wrong with SOA or APIs or Event-Driven Architecture; but we cannot “box” ourselves in one or few prescribed patterns – in fact various patterns will coexist and new will emerge – let’s call this pattern as <A href="https://groups.community.sap.com/t5/enterprise-architecture-blog-posts/agile-ea-from-soa-to-interoperability/ba-p/225234" target="_blank" rel="noopener noreferrer">Interoperability Integration Architecture</A>[6]… Or let’s not call it any name at all, does not matter… We have too many “buzz-world” already…<BR /> <H2 id="toc-hId-177988409">Final Thoughts &amp; Conclusions</H2><BR /> In my articles, I try to focus only on the Solution Concept, an idea "how to do"…<BR /> <BR /> As we know, "one size, does not fit all" (Organizations)… Each Organization will have to find its own way – and this is where an Architect, responsible for building the Integration Strategy, will lead the way.<BR /> <BR /> In this roadmap, using any “assistance” which enables speed and agility – can be of the enormous value.<BR /> <BR /> Although one could try to build Integration Architecture around core Systems like SAP S/4HANA without <A href="https://www.sap.com/products/technology-platform/integration-suite/capabilities.html" target="_blank" rel="noopener noreferrer">SAP Integration Suite</A> – would this be the right choice for the Intelligent Enterprise? For me it is very difficult to imagine S/4HANA as a “big” and “bulky” monolithic System – it has evolved long time ago into Digital Core[7] working/collaborating together with <A href="https://www.sap.com/products/technology-platform.html" target="_blank" rel="noopener noreferrer">SAP Business Technology Platform</A> (including, of course, <A href="https://www.sap.com/products/technology-platform/integration-suite/capabilities.html" target="_blank" rel="noopener noreferrer">SAP Integration Suite</A>) as a foundation of the Intelligent Enterprise – with seamless integrations and seamless possibilities…<BR /> <BR /> If you are using S/4HANA as your backend core – expanding further with <A href="https://www.sap.com/services-support/integration-solution-advisory-methodology.html" target="_blank" rel="noopener noreferrer">SAP ISA-M</A> and <A href="https://help.sap.com/docs/sap-btp-guidance-framework/sap-application-extension-methodology/sap-application-extension-methodology-overview" target="_blank" rel="noopener noreferrer">SAP Application Extension Methodology</A>[8] is the next logical step forward…<BR /> <BR /> I am inviting you to keep following relevant <A href="https://blogs.sap.com/tags/e26e2f63-fcc1-42a7-af06-decec0762b90/" target="_blank" rel="noopener noreferrer">blogs and community resources</A>, post and answer questions, and read other posts&nbsp;on the integration topic.<BR /> <BR /> And of course, share your thoughts and comments on my article, in the comments section.<BR /> <H2 id="toc-hId--18525096">Acknowledgment</H2><BR /> *) Intro photo by <A href="https://unsplash.com/@ed259?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash" target="_blank" rel="nofollow noopener noreferrer">Ed 259</A> on <A href="https://unsplash.com/photos/aerial-photography-of-interlocking-freeways-with-travelling-cars-xcrI6CPkkJs?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash" target="_blank" rel="nofollow noopener noreferrer">Unsplash</A><BR /> <H2 id="toc-hId--215038601">References</H2><BR /> [1] LeanIX: <A href="https://www.leanix.net/en/download/best-practices-to-define-data-objects?hsCtaTracking=d8a6afd5-cb98-4ebc-89d3-32aba1429dc6%7C1ffd2ea8-789b-4841-bc0d-29a44e97aea5" target="_blank" rel="nofollow noopener noreferrer">Best Practices to Define Data Objects (leanix.net)</A><BR /> <BR /> [2] LeanIX: <A href="https://www.leanix.net/en/wiki/ea/integration-architecture" target="_blank" rel="nofollow noopener noreferrer">Integration Architecture - The Definitive Guide</A><BR /> <BR /> [3] PubSub: <A href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" target="_blank" rel="nofollow noopener noreferrer">Publish–subscribe pattern - Wikipedia</A><BR /> <BR /> [4] SAP Community Groups: <A href="https://groups.community.sap.com/t5/enterprise-architecture-blog/enterprise-architecture-in-the-era-of-agile/ba-p/224058" target="_blank" rel="noopener noreferrer">Enterprise Architecture in the era of Agile…</A>,<BR /> <BR /> [5] Continuous Transformation: <A href="https://www.linkedin.com/feed/update/urn:li:activity:7007079046341648384/" target="_blank" rel="nofollow noopener noreferrer">#sinergija22 #speeditup</A><BR /> <BR /> [6] SAP Community Groups: <A href="https://groups.community.sap.com/t5/enterprise-architecture-blog/agile-ea-from-soa-to-interoperability/ba-p/225234" target="_blank" rel="noopener noreferrer">Agile EA - from SOA to Interoperability</A><BR /> <BR /> [7] SAP Digital Core: <A href="https://news.sap.com/2016/06/sap-s4hana-the-digital-core/" target="_blank" rel="noopener noreferrer">SAP S/4HANA: The Digital Core</A><BR /> <BR /> [8] SAP Blogs: <A href="https://blogs.sap.com/2022/04/05/introducing-sap-application-extension-methodology-version-2.0/" target="_blank" rel="noopener noreferrer">Introducing SAP Application Extension Methodology version 2.0</A><BR /> <H2 id="toc-hId--411552106">Revisions</H2><BR /> UPDATE 12-Dec-2023: Figure 4.b. fixed 2023-11-02T23:34:32+01:00 https://community.sap.com/t5/technology-blogs-by-sap/open-resource-discovery-a-protocol-for-decentralized-metadata-discovery-is/ba-p/13579190 Open Resource Discovery, a Protocol for Decentralized Metadata Discovery, is now Open Source 2023-11-14T21:24:06+01:00 SimonHeimler https://community.sap.com/t5/user/viewprofilepage/user-id/172928 We’re pleased to announce that the <A href="https://sap.github.io/open-resource-discovery/" rel="nofollow noopener noreferrer" target="_blank">Open Resource Discovery</A> (ORD) specification is now open source under the Apache-2 license <A href="https://github.com/SAP/open-resource-discovery" rel="nofollow noopener noreferrer" target="_blank">on GitHub</A>. This aligns with SAP's commitment to promote and define open and transparent standards.<BR /> <H2 id="toc-hId-964102227" id="toc-hId-964102227">What is Open Resource Discovery ?</H2><BR /> It’s an open standard for decentralized and standardized metadata discovery of applications and services.<BR /> <BR /> The most typical resources to describe with ORD are <A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document#api-resource" rel="nofollow noopener noreferrer" target="_blank">APIs</A>&nbsp;and&nbsp;<A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document#event-resource" rel="nofollow noopener noreferrer" target="_blank">Events</A>. But it also covers higher-level concepts like <A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document#entity-type" rel="nofollow noopener noreferrer" target="_blank">Entity Types</A>&nbsp;(Business Objects) and&nbsp;<A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document#data-product" rel="nofollow noopener noreferrer" target="_blank">Data Products</A> (beta). With&nbsp;<A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document#integration-dependency" rel="nofollow noopener noreferrer" target="_blank">Integration Dependencies</A> it is also possible to describe external resources are or can be used. Should our standardized concepts or attributes not suit your needs, Open Resource Discovery allows for extensibility attributes and <A href="https://sap.github.io/open-resource-discovery/spec-v1/interfaces/document/#capability" rel="nofollow noopener noreferrer" target="_blank">Capabilities</A>.<BR /> <BR /> If you want to learn more about it, please check out our <A href="https://sap.github.io/open-resource-discovery/" rel="nofollow noopener noreferrer" target="_blank">public documentation</A> and the <A href="https://sap.github.io/open-resource-discovery/introduction" rel="nofollow noopener noreferrer" target="_blank">ORD introduction</A>.<BR /> <BR /> <IFRAME id="kaltura_player_1_p5s5dr9z" src="https://www.youtube.com/embed/7Z818CdoZJg" allowfullscreen="true" webkitallowfullscreen="" mozallowfullscreen="" width="625px" height="360px" frameborder="0"></IFRAME><BR /> <H2 id="toc-hId-767588722" id="toc-hId-767588722">What Benefits brings Open Resource Discovery for you?</H2><BR /> Currently, SAP adopts ORD to improve SAP to SAP integration and automation behind the scenes, so our customers will benefit from a better integrated SAP experience, e.g., <A href="https://blogs.sap.com/2023/02/22/sap-btp-innobytes-february-2023/" rel="noopener noreferrer" target="_blank">a better API discovery experience in the SAP Business Application Studio</A>, tailored to your actual system landscape. You may already know some of the ORD information from the <A href="https://api.sap.com/" rel="noopener noreferrer" target="_blank">SAP Business Accelerator Hub</A>, as ORD is one of the ways for applications to publish to it. It will also support more concepts based on ORD in the future.<BR /> <BR /> The open source release is the first step from our side to be transparent how we standardize decentralized metadata across the SAP portfolio to achieve a more aligned and integrated experience. We already profit from this, so we hope that our solution can also be of use or inspiration to others.<BR /> <BR /> ORD can be adopted by anyone to address their decentralized metadata discovery problems if they implement the aggregator infrastructure and the namespace concept. The specification should provide enough flexibility for your own ideas through the extension attributes, custom types, and policies.<BR /> <H2 id="toc-hId-571075217" id="toc-hId-571075217">Next Steps</H2><BR /> We are already talking with customers and partners about how mutual benefits could arise from this standard. Given we find the right partners and circumstances, we consider contributing the standard to an open governance body, pushing it towards becoming a full-fledged industry standard.<BR /> We are working out concepts for how customer and partner applications that adopt ORD can benefit from a better integration into the SAP Business Technology Platform and the SAP ecosystem.<BR /> <H2 id="toc-hId-374561712" id="toc-hId-374561712">Getting in Touch</H2><BR /> With this, we hope to get early feedback (e.g., as <A href="https://github.com/SAP/open-resource-discovery/issues" rel="nofollow noopener noreferrer" target="_blank">GitHub issues</A>) and learn how we can make this (more) valuable to you. We are inviting everyone to collaborate and make ORD even more useful across the industries. Feel free to leave a comment and to reach out to the authors of this blog article. 2023-11-14T21:24:06+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap/ba-p/13580751 SAP Cloud ALM API & Integration: Several extensions of SAP Cloud ALM with SAP BTP (Part 3): Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval. 2023-11-23T10:49:45+01:00 XavierP https://community.sap.com/t5/user/viewprofilepage/user-id/164863 This blog is the third part of this series of blogs: link to <A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A><BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-964763272">Objective</H2><BR /> Use a mobile application (<STRONG>SAP Build Apps</STRONG>) to access the list of projects and requirements from <STRONG>SAP Cloud ALM</STRONG> using public APIs and trigger a requirement approval.<BR /> <BR /> All integration scenarios of SAP Cloud ALM are based on the public APIs listed in the&nbsp;<A href="https://api.sap.com/package/SAPCloudALM/rest" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-768249767">An integration example</H2><BR /> A SAP Partner would like to inform a customer about a new content (the requirement created in Part 2: <A href="https://blogs.sap.com/2023/11/09/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-2-replicate-a-newly-created-requirement-from-sap-cloud-alm-tenant-a-to-b-using-the-external-api-management-of/" target="_blank" rel="noopener noreferrer">Replicate a newly created requirement from SAP Cloud ALM tenant A to B using the External API Management of SAP Cloud ALM.</A>) and ask him if it is relevant for his project.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-571736262">The involved components</H2><BR /> <UL><BR /> <LI>Use a mobile application to trigger requirements approval:</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>SAP Build Apps</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/ChartSAPBuild.png" /></P><BR /> &nbsp;<BR /> <H2 id="toc-hId-375222757">SAP Build</H2><BR /> SAP Build makes the fast development of applications and automations easier with a simplified and streamlined builder experience, leveraging enterprise-grade scaling and security. Whether you’re a non-technical business user or code-first developer, you can easily digitalize and automate your daily work or increase your coding efficiency.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/LowCode.png" /></P><BR /> &nbsp;<BR /> <UL><BR /> <LI><STRONG>SAP Build Apps</STRONG> is a visual programming environment where citizen and professional developers can build enterprise-ready custom software without writing any code. With hundreds of templates and pre-built business logic components, you can jumpstart your application projects and reduce development time. Explore how you can develop web and native mobile cross-platform apps while integrating to other SAP systems with drag-and-drop ease. <A href="https://www.sap.com/documents/2021/11/ba2634d0-057e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer">Read the solution brief</A></LI><BR /> </UL><BR /> &nbsp;<BR /> <H2 id="toc-hId-178709252">Procedure Overview</H2><BR /> <UL><BR /> <LI>Create a <STRONG>SAP Build Apps</STRONG> project</LI><BR /> <LI>Create 2 <STRONG>SAP Build Apps</STRONG> data entities to get the projects and requirements from <STRONG>SAP Cloud ALM</STRONG> using Rest API integration.</LI><BR /> <LI>Create a third <STRONG>SAP Build Apps</STRONG> data entities to Trigger Workflow (Rest API call to <STRONG>SAP Build Process Automation</STRONG>)</LI><BR /> <LI>Create an <STRONG>SAP Build Apps </STRONG>page to show the list of projects.</LI><BR /> <LI>Create an <STRONG>SAP Build Apps </STRONG>page to show the list of requirements from the selected project and trigger the workflow.</LI><BR /> </UL><BR /> <H3 id="toc-hId-111278466">Important Information</H3><BR /> The goal of this blog is not to give you a step by step guide on how to create a <STRONG>SAP Build App</STRONG>. You can follow this <A href="https://learning.sap.com/learning-journey/develop-apps-with-sap-build-apps-using-drag-and-drop-simplicity" target="_blank" rel="noopener noreferrer">learning page</A> for that.<BR /> <BR /> The goal of this blog is to highlight the integration capabilities.<BR /> <H3 id="toc-hId--85235039">Create a SAP Build Apps project</H3><BR /> In the <STRONG>SAP Build</STRONG> lobby, create a new <STRONG>SAP Build App</STRONG> project.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/Lobby-1.png" /></P><BR /> <BR /> <H3 id="toc-hId--281748544"></H3><BR /> <H3 id="toc-hId--478262049">Create data entities (REST resources)</H3><BR /> To access SAP Cloud ALM data (projects and requirements), REST resources are required.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/APIProjects-1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Project REST API resource</P><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/APITasks.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Task REST API resource</P><BR /> Here the tasks of type requirements from a specified project are retrieved.<BR /> <BR /> More details on public APIs in the <A href="https://api.sap.com/package/SAPCloudALM/rest" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>.<BR /> <BR /> Another data entity is used to trigger the workflow on <STRONG>SAP Build Process Automation</STRONG> (see blog 4, coming soon). A SAP BTP destination to the SAP Build tenant is used to call the trigger.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/APISAPBPA.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">SAP Build Process Automation REST API</P><BR /> <BR /> <H3 id="toc-hId--674775554">Create <STRONG>SAP Build Apps </STRONG>pages</H3><BR /> SAP Build Apps pages define the screens of application:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/SAPBuildPages.png" /></P><BR /> &nbsp;<BR /> <BR /> SAP Build Apps page editor allows to create and configure the page content:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/SAPBuildProject.png" /></P><BR /> &nbsp;<BR /> <BR /> When the toggle button is activated, the event creates a record with the requirement id and title in the trigger data entity:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/SAPBuildReq.png" /></P><BR /> &nbsp;<BR /> <BR /> Finally, the application looks like this:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/AppProject.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Project selection</P><BR /> &nbsp;<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/11/AppReq.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Requirement selection</P><BR /> &nbsp;<BR /> <BR /> Thanks for reading.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--653117421">SAP Cloud ALM API &amp; Integration blogs:</H2><BR /> <UL><BR /> <LI>Part 1: <A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A></LI><BR /> <LI>Part 2:&nbsp;<A href="https://blogs.sap.com/2023/11/09/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-2-replicate-a-newly-created-requirement-from-sap-cloud-alm-tenant-a-to-b-using-the-external-api-management-of/" target="_blank" rel="noopener noreferrer">Replicate a newly created requirement from SAP Cloud ALM tenant A to B using the External API Management of SAP Cloud ALM.</A></LI><BR /> <LI>Part 3: current page</LI><BR /> <LI>Part 4:&nbsp;<A href="https://blogs.sap.com/2023/12/07/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-4-approve-requirements-with-workflow-engine-sap-build-process-automation/" target="_blank" rel="noopener noreferrer">Approve Requirements with Workflow Engine (SAP Build Process Automation)</A></LI><BR /> <LI>Part 5: <A href="https://blogs.sap.com/2023/12/20/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-5-enrich-sap-cloud-alm-content-with-ai-content-sap-integration-suite-sap-ai-core-services/" target="_blank" rel="noopener noreferrer">Enrich SAP Cloud ALM content with AI content (SAP Integration Suite, SAP AI Core Services)</A></LI><BR /> </UL> 2023-11-23T10:49:45+01:00 https://community.sap.com/t5/technology-blogs-by-sap/what-s-new-for-sap-integration-suite-october-november-2023/ba-p/13577528 What’s New for SAP Integration Suite – October & November 2023 2023-12-07T09:32:32+01:00 GabrielaGahse https://community.sap.com/t5/user/viewprofilepage/user-id/4015 SAP TechEd is over, and you got already valuable new information. Now the end of the year is upcoming, and I want to provide a wrap up of important innovations we have released over the last two months. Some of them you might have seen already during our <A href="https://sapvideoa35699dc5.hana.ondemand.com/?entry_id=1_cv8d2mxt" target="_blank" rel="nofollow noopener noreferrer">Monthly Updates webinar</A> late November.<BR /> <BR /> SAP Integration Suite highlights are:<BR /> <UL><BR /> <LI>Next-generation hybrid integration with Edge Integration Cell</LI><BR /> <LI>Auto-registration of developers in API business hub enterprise</LI><BR /> <LI>New design of API business hub enterprise will get default</LI><BR /> <LI>In-built retry functionality in the HTTP receiver adapter</LI><BR /> <LI>Urgent reminder: upgrade to new version of third-party connectors now</LI><BR /> <LI>Inspect system memory usage in Cloud Integration</LI><BR /> <LI>Analysis of metered messages in Cloud Integration</LI><BR /> <LI>Upcoming new openSAP course about B2B scenarios</LI><BR /> <LI>Update on B2B libraries cXML, ASC X12, and Tradacoms</LI><BR /> <LI>Import customer-extended IDocs in Integration Advisor</LI><BR /> <LI>Support for the ProcessDirect adapter in Trading Partner Management</LI><BR /> <LI>Custom search attributes in B2B monitoring</LI><BR /> <LI>New rules for Migration Assessment</LI><BR /> <LI>New templates for migration tooling</LI><BR /> <LI>Support for older SAP Process Orchestration releases</LI><BR /> <LI>New learning journey on define and execute an enterprise integration strategy</LI><BR /> <LI>Subscription to integration and event packages</LI><BR /> </UL><BR /> <H2 id="toc-hId-964046280">Next-generation hybrid integration with Edge Integration Cell</H2><BR /> Within the <A href="https://youtu.be/6BsvzygS5Hg?t=2476" target="_blank" rel="nofollow noopener noreferrer">SAP TechEd executive keynote</A> we have announced that the Edge Integration Cell, our flexible hybrid integration runtime, is now generally available. This new extension to SAP Integration Suite allows customers to manage APIs and run integration scenarios within private landscapes, offering features such as flexible deployment in customer-managed private Kubernetes environments, local data processing for data compliance, and business continuity during temporary connectivity loss. This brings greater flexibility and control over integrations and APIs in heterogeneous and distributed environments of enterprises. With the combination of capabilities and the <A href="https://blogs.sap.com/?p=1876276&amp;source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer">introduction of API artifacts</A>, it is even possible to add traffic and security policies to the mediation of messages with the integration flows. Read the <A href="https://blogs.sap.com/2023/11/05/announcement-hybrid-integrations-with-integration-suite" target="_blank" rel="noopener noreferrer">announcement</A>, check out the detailed blogpost on <A href="https://blogs.sap.com/2023/11/16/next-gen-hybrid-integration-with-sap-integration-suite-edge-integration-cell-introduction-setup/" target="_blank" rel="noopener noreferrer">how to setup Edge Integration Cell</A>, and access the <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/what-is-sap-integration-suite-edge-integration-cell" target="_blank" rel="noopener noreferrer">documentation</A>. For future updates, visit the &nbsp;<A href="https://roadmaps.sap.com/board?PRODUCT=73555000100800003553#Q4%202023" target="_blank" rel="noopener noreferrer">Edge Integration Cell roadmap</A>.<BR /> <H2 id="toc-hId-767532775">API Management</H2><BR /> <H3 id="toc-hId-700101989">Auto-registration of developers in API business hub enterprise</H3><BR /> The API business hub enterprise enables you to explore the APIs, read the associated API documentation, and view resources. Now we offer a registration procedure for application developers leveraging the role-collection assignments in SAP BTP. This enhances the user experience by automatically assigning predefined roles based on role collections, reducing manual efforts by the administrator. For more information, read <A href="https://help.sap.com/docs/PRODUCTS/922bf2dbe0b646aaaa8cb5e077cfd799/c85fafe4ff5b4463924e0ccf5b4e0e41.html?locale=en-US&amp;state=DRAFT&amp;version=Cloud" target="_blank" rel="noopener noreferrer">Register on API business hub enterprise</A>.<BR /> <H3 id="toc-hId-503588484">New design of API business hub enterprise will get default</H3><BR /> End of 2022 we have refreshed the user experience of the API business hub enterprise. Please be aware that starting from March 2023 the new design will be default. The classic design will be available until June 2024. Refer to <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/customize-visual-format-of-api-business-hub-enterprise" target="_blank" rel="noopener noreferrer">Customize the visual format of the API business hub enterprise</A>.<BR /> <H2 id="toc-hId-177992260">Cloud Integration</H2><BR /> <H3 id="toc-hId-110561474">In-built retry functionality in the HTTP receiver adapter</H3><BR /> We have enhanced the HTTP receiver adapter by introducing a built-in retry option, facilitating the reattempt of failed HTTP requests. This feature proves especially valuable for addressing backend HTTP server issues. Users can now configure the retry option to specify HTTP error response codes (such as 503 or 429) that trigger a retry. Additionally, they can set the number of iterations and the time interval between each retry.<BR /> <BR /> This enhancement extends to the ability to configure connection retry to a target system in the event of failed HTTP requests. This feature is particularly useful when the backend HTTP server encounters challenges in serving requests, especially intermittent issues. Access more information in the <A href="https://blogs.sap.com/2023/10/25/sap-integration-suite-inbuilt-retry-option-for-http-receiver-adapter/" target="_blank" rel="noopener noreferrer">blogpost</A> and the <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/http-receiver-adapter?version=CLOUD" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <H3 id="toc-hId--85952031">Urgent reminder: upgrade to new version of third-party connectors now</H3><BR /> As of <A href="https://launchpad.support.sap.com/#/notes/3001980" target="_blank" rel="noopener noreferrer">SAP note 3001980</A> the following previous adapter versions have been deprecated since end of 2020: Salesforce, Amazon Web Services, Microsoft Dynamics, SugarCRM. No new features or enhancements have been introduced for these deprecated adapter versions. Effective January 1st, 2024, these versions will no longer be operational.<BR /> <BR /> Action is required from customer side. Please choose one of the following options: either migrate to updated new adapter versions and take advantage of the new features (request access to <A href="https://workzone.one.int.sap/site#workzone-home&amp;/groups/PT9LrZvj1sFlRcDehwsxn4/overview_page/FXORsu2YkcPI8zMJ0DdlVi" target="_blank" rel="nofollow noopener noreferrer">migration documentation</A> by <A href="mailto:annemarie.kiefer@sap.com" target="_blank" rel="nofollow noopener noreferrer">annemarie.kiefer@sap.com</A>) or acquire new Advantco adapter versions directly from Advantco with support provided exclusively by Advantco. Additionally, it is necessary to delete integration flows using the adapters that are no longer in use and undeploy the adapters.<BR /> <H3 id="toc-hId--282465536">Inspect system memory usage</H3><BR /> Since June of this year, we have implemented the powerful Inspect feature, enabling you to analyze the database resources utilized by your integration flows. As integration flows consume system memory at runtime, we have further enhanced the feature. Now, you can also inspect the system memory usage per integration flow for a specific time period. Check out the <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/inspect-system-memory-usage" target="_blank" rel="noopener noreferrer">document</A> and refer to the blogpost from June <A href="https://blogs.sap.com/2023/06/23/inspecting-and-understanding-resource-consumption-of-your-integration-content" target="_blank" rel="noopener noreferrer">Inspecting and understanding resource consumption of your integration content</A>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Inspect-memory-usage.jpg" /></P><BR /> <BR /> <H3 id="toc-hId--478979041">Analysis of metered messages</H3><BR /> Now you can analyze metered messages as a self-service. High-level insights, including a summary of messages processed within a selected date range, are provided. This includes differentiation between messages exclusively exchanged between SAP applications and the chargeable ones. Additionally, you have the option to delve into the details of a specific integration flow and download a report for further verification and audit purposes. Refer to the <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/usage-details" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Message-Usage-Dashboard.jpg" /></P><BR /> <BR /> <H2 id="toc-hId--804575265">B2B Integration</H2><BR /> <H3 id="toc-hId--947237420">Upcoming new openSAP course</H3><BR /> We are happy to shout out that a new openSAP course <A href="https://open.sap.com/courses/btp4" target="_blank" rel="noopener noreferrer">Manage B2B scenarios effectively with SAP Integration Suite</A> is upcoming. Start of the 3 weeks course will be January 9<SUP>th</SUP>. Enroll today!<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/B2B-openSAP-course-scaled.jpg" /></P><BR /> <BR /> <H3 id="toc-hId--1143750925">Update on B2B libraries cXML, ASC X12, and Tradacoms</H3><BR /> We have extended our rich type systems (B2B libraries) in recent months by new SOAP message versions for SAP S/4HANA and SAP S/4HANA Cloud, based on the data from the SAP Business Accelerator Hub. Now we have expanded it again by new versions for ASC X12 and cXML. Additionally, the Tradacoms format (from GS1 UK) is now available. You have the full end-to-end support for Tradacoms messages in Trading Partner Management and can use the type system for modelling guidelines in Integration Advisor. Check out the <A href="https://blogs.sap.com/2023/10/26/integration-advisor-new-versions-for-s-4hana-soap-apis-and-for-b2b-libraries-cxml-asc-x12-and-tradacoms/" target="_blank" rel="noopener noreferrer">blogpost</A> for more information.<BR /> <H3 id="toc-hId--1340264430">Import customer-extended IDocs</H3><BR /> The Integration Advisor capability significantly simplifies the handling of customer-extended IDocs. You are now able to import your extended IDoc and reference it to the standard IDoc.<BR /> <H3 id="toc-hId--1536777935">Support for the ProcessDirect adapter in Trading Partner Management</H3><BR /> Trading Partner Management is now supporting the ProcessDirect adapter. You may define the ProcessDirect adapter as the sender or receiver adapter in the company and the trading partner profiles. This offers you the possibility to use adapter types not yet supported. Understand the integration flow configuration within the <A href="https://help.sap.com/docs/integration-suite/eic-model-structure/integration-flow-configuration-version-2-0" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <H3 id="toc-hId--1733291440">Custom search attributes in B2B monitoring</H3><BR /> We have extended the B2B monitoring by additional filtering attributes to give you the option to work directly with the most important parameters. You are able to define up to 10 custom search attributes in the B2B design space which can be consumed and used to filter for parameters such as a document ID. Refer to the <A href="https://help.sap.com/docs/integration-suite/sap-integration-suite/configuration-manager" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/TPM-search-attributes.png" /></P><BR /> <BR /> <H2 id="toc-hId--1636401938">Migration to SAP Integration Suite</H2><BR /> <H3 id="toc-hId--2126318450">New rules for Migration Assessment</H3><BR /> We have improved the quality of the Migration Assessment capabilities, used to assess the effort and the feasibility of the migration of SAP Process Integration / SAP Process Orchestration scenarios to SAP Integration Suite, by adding new rules. Also, we provide more information like the number of processed messages or the extraction status.<BR /> <H3 id="toc-hId-1972135341">New templates for migration tooling</H3><BR /> As you may know, the migration tool that is part of the Cloud Integration designer is based on a set of integration flow templates. We have shipped additional templates for the async/sync bridge, mail attachments, and for content-based routing and recipient list.<BR /> <H3 id="toc-hId-1775621836">Support for older SAP Process Integration / SAP Process Orchestration releases</H3><BR /> We can’t emphasize it enough. Both the Migration Assessment and the migration tooling are supporting now former SAP Process Integration / SAP Process Orchestration releases&nbsp;as 7.5, 7.4, and 7.31. Find additional information in the <A href="https://help.sap.com/docs/integration-suite/eic-model-structure/what-is-migration-tooling?state=DRAFT&amp;q=7.31#features" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <H2 id="toc-hId-1872511338">Integration Assessment</H2><BR /> <H3 id="toc-hId-1550778517">New learning journey on defining and executing an enterprise integration strategy</H3><BR /> A free SAP Learning Journey <A href="https://learning.sap.com/learning-journey/getting-started-with-sap-integration-solution-advisory-methodology" target="_blank" rel="noopener noreferrer">Getting Started with SAP Integration Solution Advisory Methodology</A> is now available. The course is designed for beginners and covers important concepts such as SAP's integration strategy, the four phases of the methodology, and its tool-based approach enabled by the Integration Assessment capability. Learners have the opportunity to join the SAP Learning Group for additional support and collaboration.<BR /> <H2 id="toc-hId-1647668019">SAP Business Accelerator Hub</H2><BR /> <H3 id="toc-hId-1157751507">Subscription to integration and event packages</H3><BR /> The SAP Business Accelerator Hub has been expanded to allow users to be notified about lifecycle changes to content. Users can subscribe to an integration package or event and receive proactive emails about changes such as API deprecation and new successor APIs. If users wish to stop receiving these updates, they can mute the notifications via the <EM>My Subscriptions</EM> page. Refer to the <A href="https://help.sap.com/docs/business-accelerator-hub/sap-business-accelerator-hub/discover-and-explore-sap-business-accelerator-hub" target="_blank" rel="noopener noreferrer">documentation</A>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Hub-Subscribe-to-integration-package.jpg" height="103" width="96" /></P><BR /> <BR /> <H2 id="toc-hId-1254641009">Become an Integration Black-Belt</H2><BR /> We have updated the Black-Belt certification program to help you learn how to solve complex challenges by using SAP Integration Suite. Upon completion of the program, participants will earn a "black belt" badge, symbolizing their expertise. Get access to the learning program that is hosted on the SAP Learning Hub through this <A href="https://accounts.sap.com/saml2/idp/sso?sp=https://www.successfactors.eu/learninghub&amp;RelayState=%2Fsf%2Flearning%3FdestUrl%3Dhttps%253a%252f%252fsaplearninghub%252eplateau%252ecom%252flearning%252fuser%252fdeeplink%255fredirect%252ejsp%253flinkId%253dCATALOG%255fSEARCH%2526sbArSel%253d%2526keywords%253dSUP_VBP_1090_0065%2526selKeyWordHeader%253dSUP_VBP_1090_0065%2526catSel%253d%2526srcSel%253dESAC%2526delMthSel%253d%2526ILDateFrm%253d%2526ILDateTo%253d%2526ILBlend%253d%2526ILSchd%253d%2526fromSF%253dY%26company%3Dlearninghub" target="_blank" rel="noopener noreferrer">link</A>.<BR /> <H2 id="toc-hId-1058127504">How to stay tuned on recent and upcoming innovations?</H2><BR /> Our <A href="https://roadmaps.sap.com/board?PRODUCT=000D3A47875C1EDB98A8A910864AC24B&amp;range=CURRENT-LAST" target="_blank" rel="noopener noreferrer">roadmap</A> gives you the answers to where we are heading with SAP Integration Suite. You can easily check out the latest innovations and follow what is planned for the following quarters. All recent innovations also cover links to blogposts or documentation - use the tab <EM>Features </EM>within each of the blue tiles.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Roadmap-Dec-23-scaled.jpg" /></P><BR /> We also refer to the complete list of new releases in our documentation: <A href="https://help.sap.com/whats-new/5793247a5d5741beb0decc5b7dee1160?locale=en-US" target="_blank" rel="noopener noreferrer">What’s New in SAP Integration Suite</A>.<BR /> <BR /> And if you have not heard of&nbsp;our monthly webinars, I suggest you <A href="https://www.sap.com/cmp/nl/sap-cloud-platform-integration-suite/index.html?sap-outbound-id=6287F912007644D6C49C53EAA9594EE1B4431938&amp;smc_campaign_id=0000032983&amp;source=email-smc" target="_blank" rel="noopener noreferrer">sign up</A> to get an invitation to the upcoming ones. Our team of Product Management experts host these webinars to showcase the latest and greatest updates regarding all SAP Integration Suite capabilities. The webinars are hosted on the last Tuesday of every month and the next one is scheduled for next year, January 30<SUP>th</SUP>.<BR /> <BR /> In case you have missed our last monthly webinar, don’t worry. Visit <A href="https://webinars.sap.com/sap-user-groups-k4u/en/ifgintegration" target="_blank" rel="noopener noreferrer">2023 Learning Sessions for SAP User Groups on SAP Integration Suite</A> for all recordings, presentations, and Q&amp;As. 2023-12-07T09:32:32+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap/ba-p/13576671 SAP Cloud ALM API & Integration: Several extensions of SAP Cloud ALM with SAP BTP (Part 4): Approve Requirements with Workflow Engine (SAP Build Process Automation) 2023-12-07T15:55:31+01:00 XavierP https://community.sap.com/t5/user/viewprofilepage/user-id/164863 This blog is the fourth part of this series of blogs: link to <A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A><BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-964017598">Objective</H2><BR /> Request a requirement approval. The end-user receives a notification in his inbox (<STRONG>SAP Build Process Automation</STRONG>) and can choose to accept or reject the new requirement. The requirement satus (<STRONG>SAP Cloud ALM</STRONG>) is updated accordingly to the user decision.<BR /> <BR /> All integration scenarios of SAP Cloud ALM are based on the public APIs listed in the&nbsp;<A href="https://api.sap.com/package/SAPCloudALM/rest" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-767504093">An integration example</H2><BR /> A SAP Partner informed a customer about a new content (see Part 3:&nbsp;<A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval.</A>) by triggering a workflow. The customer project manager is notified in his inbox about the new requirement to approve. Using a form he can accept or reject this requirement. The status is updated in the SAP Cloud ALM customer tenant.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId-570990588">The involved components</H2><BR /> <UL><BR /> <LI>Approve Requirements with Workflow Engine<BR /> <UL><BR /> <LI>SAP Build Process Automation</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAPBPA.png" /></P><BR /> &nbsp;<BR /> <H2 id="toc-hId-374477083">SAP Build Process Automation</H2><BR /> <A href="https://www.sap.com/products/technology-platform/process-automation/features.html" target="_blank" rel="noopener noreferrer">SAP Build Process Automation</A> combines workflow management, RPA functionality, decision management, process visibility, and embedded AI capabilities into one intuitive low-code experience. <A class="Button__primary--alIWX fontRegular" href="https://www.sap.com/documents/2022/07/de6df545-367e-0010-bca6-c68f7e60039b.html" target="_self" rel="noopener noreferrer" data-asset-id="de6df545-367e-0010-bca6-c68f7e60039b" data-analytics-assetid="de6df545-367e-0010-bca6-c68f7e60039b|pdf|Speed and Simplify Process Automation Confidently with Low-Code and No-Code Tools">Read the solution in detail</A>.<BR /> <H2 id="toc-hId-177963578">Procedure Overview</H2><BR /> <UL><BR /> <LI>Create a&nbsp;<STRONG>SAP Build Process Automation</STRONG> action to update the requirement in <STRONG>SAP Cloud ALM</STRONG>&nbsp;using Rest API integration.</LI><BR /> <LI>Create a&nbsp;<STRONG>SAP Build Process Automation </STRONG>business process to receive the triggering call from the mobile application (see <A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">blog 3</A>) and organise the process flow.</LI><BR /> </UL><BR /> <H3 id="toc-hId-110532792">Important Information</H3><BR /> The goal of this blog is not to give you a step by step guide on how to create a&nbsp;<STRONG>SAP Build Process Automation </STRONG>workflow. You can follow this&nbsp;<A href="https://learning.sap.com/learning-journey/create-processes-and-automations-with-sap-build-process-automation" target="_blank" rel="noopener noreferrer">learning page</A>&nbsp;for that.<BR /> <BR /> The goal of this blog is to highlight the integration capabilities.<BR /> <H3 id="toc-hId--85980713">Create a SAP Build Process Automation action</H3><BR /> In the&nbsp;<STRONG>SAP Build</STRONG>&nbsp;lobby, create a new&nbsp;<STRONG>SAP Build Process Automation </STRONG>action.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/actions.png" /></P><BR /> Choose <STRONG>SAP Business Accelerator Hub </STRONG>as source, then <STRONG>SAP Cloud ALM</STRONG> tasks:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/sapbah.png" /></P><BR /> Select the patch action:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/action_update.png" /></P><BR /> Adjust the parameters and body like this:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/action_details.png" /></P><BR /> <BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>id is the requirement ID.</LI><BR /> <LI>X-Calm-Notification is set to true to allow the task/requirement update</LI><BR /> <LI>approvalState is set to READY_4_APPR</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <H3 id="toc-hId--282494218">Create a SAP Build Process Automation business process</H3><BR /> In the&nbsp;<STRONG>SAP Build</STRONG>&nbsp;lobby, create a new&nbsp;<STRONG>SAP Build Process Automation </STRONG>automated process - business process.<BR /> <P style="overflow: hidden;margin-bottom: 0px">This is how the workflow looks like:<IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/processFlow.png" /></P><BR /> The trigger is the integration point with the SAP Build App (see&nbsp;Part 3:&nbsp;<A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval.</A>) This is the way te receive the parameters (requirement ID and title).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/trigger_param.png" /></P><BR /> Then a form is used to show the requirements to the end-user and ask for its approval.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/form0-2.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Input parameter of the form</P><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/form-1.png" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Form edition</P><BR /> If the requirement is approved the previously created action is ran with the requirement ID as input parameter. The requirement is updated on the SAP Cloud ALM Customer tenant.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/actionFlow.png" /></P><BR /> <BR /> <H2 id="toc-hId--608090442">Results</H2><BR /> From an end-user point of view, the form is sent in the user inbox:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/formUser.png" /></P><BR /> The project manager can easily approve or reject the new requirement without accessing SAP Cloud ALM. The status is updated in SAP Cloud ALM and triggers other things which will be detailed in the next part.<BR /> <BR /> &nbsp;<BR /> <BR /> Thanks for reading.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--804603947">SAP Cloud ALM API &amp; Integration blogs:</H2><BR /> <UL><BR /> <LI>Part 1:&nbsp;<A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A></LI><BR /> <LI>Part 2:&nbsp;<A href="https://blogs.sap.com/2023/11/09/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-2-replicate-a-newly-created-requirement-from-sap-cloud-alm-tenant-a-to-b-using-the-external-api-management-of/" target="_blank" rel="noopener noreferrer">Replicate a newly created requirement from SAP Cloud ALM tenant A to B using the External API Management of SAP Cloud ALM.</A></LI><BR /> <LI>Part 3: <A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval</A></LI><BR /> <LI>Part 4: current page</LI><BR /> <LI>Part 5: <A href="https://blogs.sap.com/2023/12/20/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-5-enrich-sap-cloud-alm-content-with-ai-content-sap-integration-suite-sap-ai-core-services/" target="_blank" rel="noopener noreferrer">Enrich SAP Cloud ALM content with AI content (SAP Integration Suite, SAP AI Core Services)</A></LI><BR /> </UL> 2023-12-07T15:55:31+01:00 https://community.sap.com/t5/technology-blogs-by-members/building-integration-architecture-for-the-omni-channel-commerce/ba-p/13579806 Building Integration Architecture for the Omni-channel Commerce 2023-12-17T15:05:39+01:00 stevang https://community.sap.com/t5/user/viewprofilepage/user-id/7643 <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/nasa-Q1p7bh3SHj8-unsplash.jpg" /></P><BR /> <EM>We live in the global village…&nbsp;Looks like we are so much connected, and yet we are always seeking for more and better ways to integrate…</EM><BR /> <BR /> At the core of the Omni-channel (and Channel-less as well) Commerce is, integration, integration and more integration…<BR /> <BR /> In this article, I am covering:<BR /> <UL><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#from-multichannel-to-omnichannel-commerce" target="_blank" rel="noopener noreferrer">From Multi-channel to Omni-channel Commerce</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#building-integrations-in-phases" target="_blank" rel="noopener noreferrer">Building integrations in phases</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#using-sap-isam-and-api-business-accelerator-hub" target="_blank" rel="noopener noreferrer">Using SAP ISA-M and API Business Accelerator Hub</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#why-building-in-phases" target="_blank" rel="noopener noreferrer">Why building in phases?</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#conclusions" target="_blank" rel="noopener noreferrer">Conclusions</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#acknowledgment" target="_blank" rel="noopener noreferrer">Acknowledgment</A></LI><BR /> <LI><A href="https://blogs.sap.com/2023/12/17/building-integration-architecture-for-the-omni-channel-commerce/#references" target="_blank" rel="noopener noreferrer">References</A></LI><BR /> </UL><BR /> <H2 id="from-multichannel-to-omnichannel-commerce" id="toc-hId-964108681">From Multi-channel to Omni-channel Commerce</H2><BR /> What is Multi-channel Commerce?<BR /> <BR /> While Customer has multiple options to learn about the Brand and Products – Customer uses its preferred Channel to (re)search and make purchases. Each Channel essentially works on its own – pretty much independent from other Channel(s). We may also say, each Channel works in its best interests trying to “increase” its sales, but not necessarily in the best interest of the Customer experience – this may lead to the “competition” of different Channels working against each other, even at the cost of the overall sales to the Customer.<BR /> <BR /> What is then Omni-channel Commerce[1]?<BR /> <BR /> This is Customer centric approach. Here, all Channels work together to increase Customer awareness of the Brand and Products; increase overall engagement with the Customer, and thus increase overall sales. Channels do not compete, but “complement” each other – leaving to the Customer to chose most suitable Channel at any point of time.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-1-1.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 1. Multi-channel and Omni-channel Commerce</P><BR /> To unlock the potential of the Omni-channel Commerce, we need to build the seamless integration between backend Core (Master) Systems and Client Systems – working and Commerce Channels.<BR /> <BR /> How to do that?<BR /> <BR /> The starting point would be – setting the Integration Strategy and the<STRONG> Integration Architecture for the Intelligent Enterprise</STRONG> – this is the <STRONG>foundation layer</STRONG> (Integration Architecture <A href="https://blogs.sap.com/2023/04/09/how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 1</A> and <A href="https://blogs.sap.com/2023/04/27/part-2-how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 2</A>). After we have built the foundation, we can start building our<STRONG> network of integration “roads”</STRONG> (Integration Architecture <A href="https://blogs.sap.com/2023/11/02/part-3-next-steps-in-building-the-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 3</A>) – meeting the specific business demands – in this case, Omni-channel Commerce.<BR /> <H2 id="building-integrations-in-phases" id="toc-hId-767595176">Building integrations in phases</H2><BR /> Let’s go through practical example of building a solution for the Omni-channel (or Channel-less) Commerce, with S/4HANA as a backed core for the Order Fulfilment process.<BR /> <H3 id="toc-hId-700164390">Integrating your first System(s)</H3><BR /> Popular joke says: When <A href="https://en.wikipedia.org/wiki/Alexander_Graham_Bell" target="_blank" rel="nofollow noopener noreferrer">Alexander Graham Bell</A> built his first telephone, this was really something – but the real revolution started when he built the second one…<BR /> <BR /> If we want to implement our <EM>Order Fulfillment</EM> in S/4HANA and connect first <EM>Order Taking </EM>Channel(s) – it is not enough to enable (or build) APIs on S/4HANA side – we also need to enable (or build) APIs on the “other” side. Of course, at latter stage, for adding (or subscribing) other Channels, we will leverage those APIs by publishing them to the other System(s) – this is the “order of the day”. Pls note, while some APIs will behave like PubSub Event messaging (i.e. DRF will publish “full” payload on change pointer Event), this “lite” PubSub approach is still far away from the “real” Event-Driven Architecture. At the end-state, our Integration Architecture should move more-and-more to the ”real” Event-Driven Architecture – of course, for those services where Even messaging and Event topics are possible.<BR /> <BR /> But first we must build, test and prove the initial concept.<BR /> <BR /> Let’s say, we are connecting “Sales App” which will be used as a primary Channel for the Customer Engagement (Lead-2-Cash) and Customer 360 in general.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-2-2.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 2. Setting the first integrations</P><BR /> In the example, we have enabled standard <STRONG>Integration Services</STRONG> in S/4HANA:<BR /> <UL><BR /> <LI>DRF SOAP <EM>Business Partner Replication</EM> and <EM>Business Partner Relationship Replication</EM> – using PUSH for the bi-directional synchronization of the <EM>Account/Customer</EM> and <EM>Contact</EM> data;</LI><BR /> <LI>IDoc MATMAS <EM>Material Replication</EM> – using PUSH for sending <EM>Product</EM> data;</LI><BR /> <LI>DRF SOAP <EM>Sales Organization Replication</EM> – using PUSH for sending <EM>Sales Organization</EM> data;</LI><BR /> <LI>OData API_SALES_QUOTATION_SRV <EM>Sales Quotation (A2X)</EM> for inbound <EM>Offer</EM> requests – using POST, PATCH and GET methods for creating, updating and reading <EM>Offers</EM>;</LI><BR /> <LI>OData API_SALES_ORDER_SIMULATION_SRV <EM>Sales Order Simulation (A2X)</EM> for inbound <EM>ATP Check</EM> (incl. checking only ATP for one or more items), <EM>Price Check</EM> (incl. checking only unit/total price for one or more items) and <EM>Order Checkout</EM> (full <EM>Order Simulation</EM>) – using POST method only;</LI><BR /> <LI>OData API_SALES_ORDER_SRV <EM>Sales Order (A2X)</EM> for inbound <EM>Order Taking</EM> requests– using only POST and PATCH methods for creating and updating <EM>Orders</EM>;</LI><BR /> <LI>DRF SOAP <EM>Sales Order Replication (A2A)</EM>– using PUSH for sending <EM>Sales Order</EM> data;</LI><BR /> <LI>OData API_BILLING_DOCUMENT_SRV <EM>Billing Document</EM> request – using only GET method for reading <EM>Invoices</EM>.</LI><BR /> </UL><BR /> For this example, we use <STRONG>Replication Integration Function</STRONG> for <EM>Customer</EM> data and <EM>Sales Order</EM> data.<BR /> <BR /> Why replicating data, why not sending Data Events?<BR /> <BR /> We could, but we would have to create multiple Event topics, basically for each entity within <EM>Customer</EM> data and <EM>Sales Order</EM> data. Also, for the <EM>Customer</EM> data, all Data Events would have to be bi-directional (outbound, but also inbound to S/4HANA). We could also use <A href="https://help.sap.com/docs/master-data-integration" target="_blank" rel="noopener noreferrer">SAP Master Data Integration</A> and/or <A href="https://www.sap.com/westbalkans/products/technology-platform/master-data-governance.html" target="_blank" rel="noopener noreferrer">SAP Master Data Governance</A> solutions in our landscape – but is this scenario we will stay with the basic approach (let’s start with the “small steps”).<BR /> <BR /> In this scenario, “Sales App” is our main Customer 360 Channel – producing various Customer Attributes, include Marketing Attributes, Segmentation etc. For that, we sync “full” <EM>Customer</EM> data model between S/4HANA and “Sales App”, as well as “all” <EM>Sales Orders</EM> from S/4HANA to “Sales App” (i.e. <EM>Sales Order</EM> could be created/updated in S/4HANA directly). Of course, this is just an example with closely coupled Customer 360 capability in one app, but it could be detached, processed, and integrated within set of apps.<BR /> <BR /> Also, please note, in this example I have used IDoc MATMAS for enabling <EM>Material Replication</EM> – however other approaches for integrating <EM>Material/Product</EM> data could be also used depending of the S/4HANA version e.g. DRF SOAP <EM>Product Replication</EM> to PUSH or OData API_PRODUCT_SRV <EM>Product Master (A2X)</EM> to PULL data.<BR /> <H3 id="toc-hId-503650885">Reuse of integrations for the next System(s)</H3><BR /> Now that we have enabled key <STRONG>Integration Services</STRONG> in our backend System – let’s start reusing it by subscribing additional Systems(s) …<BR /> <BR /> Let’s imagine, we are extending our commercial activities to the new “Web Shop” Channel.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-3.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 3. Reusing the integrations</P><BR /> In the example, we are re-using already published <STRONG>Integration Services</STRONG> from S/4HANA:<BR /> <UL><BR /> <LI>DRF SOAP <EM>Business Partner Replication</EM> and <EM>Business Partner Relationship Replication</EM> – using PUSH for the bi-directional synchronization of the <EM>Account/Customer</EM> and <EM>Contact</EM> data; enabling self-service registration from the “Web Shop”; replicating only relevant subset of <EM>Customers</EM> and <EM>Customer Attributes</EM> from S/4HANA</LI><BR /> <LI>IDoc MATMAS <EM>Material Replication</EM> – using PUSH for sending <EM>Product</EM> data;</LI><BR /> <LI>DRF SOAP <EM>Sales Organization Replication</EM> – using PUSH for sending <EM>Sales Organization</EM> data; this would be option – depending if <EM>Customers</EM> assigned to multiple <EM>Sales Organizations</EM> could use this Channel;</LI><BR /> <LI>OData API_SALES_ORDER_SIMULATION_SRV <EM>Sales Order Simulation (A2X)</EM> for inbound <EM>ATP Check</EM> (incl. checking only ATP for one or more items), <EM>Price Check</EM> (incl. checking only unit/total price for one or more items) and <EM>Order Checkout</EM> (full <EM>Order Simulation</EM>) – using POST method only;</LI><BR /> <LI>OData API_SALES_ORDER_SRV <EM>Sales Order (A2X)</EM> for inbound <EM>Order Taking</EM> requests– using POST, PATCH and GET methods for creating, updating and reading <EM>Orders</EM>;</LI><BR /> <LI>OData API_BILLING_DOCUMENT_SRV <EM>Billing Document</EM> request – using only GET method for reading <EM>Invoices</EM>.</LI><BR /> </UL><BR /> Here things become a bit more interesting:<BR /> <OL><BR /> <LI>There is always one flow between S/4HANA and SAP Integration Suite; we use SAP Integration Suite as a “focal” point for all inbound and outbound <STRONG>Integration Services</STRONG> – of course new Channel(s) do not need to subscribe to all <STRONG>Integration Services</STRONG>;</LI><BR /> <LI>For inbound <STRONG>Integration Services</STRONG>, we are re-using already developed and deployed APIs, by exposing endpoints to the subscribed Channel(s);</LI><BR /> <LI>For outbound <STRONG>Integration Services</STRONG>, we are also reusing already developed and deployed APIs, by multicasting payloads to the subscribed Channel(s);</LI><BR /> <LI>Within IFlow in SAP Integration Suite we may filter-out some data (e.g. not all <EM>Customers</EM> are being replicated to all Channels), we may filter out data sets (e.g. not all <EM>Customer Attributes</EM> are being replicated to all Channels)</LI><BR /> <LI>Adding “new” methods – e.g. in OData API_SALES_ORDER_SRV <EM>Sales Order (A2X)</EM> we have used GET method as well for reading <EM>Order History</EM>.</LI><BR /> </OL><BR /> So, reuse is the key “word” here…<BR /> <H4 id="toc-hId-436220099"><STRONG>Example with SAP Commerce Cloud</STRONG></H4><BR /> In the previous example for the “Web Shop” I have evaluate rather general Architecture. Now, let me present an integration concept which could be used for SAP Commerce Cloud – of course, just as a high-level Architecture.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-4.a.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 4.a. Integrating SAP Commerce Cloud</P><BR /> In the example, we are also re-using already published <STRONG>Integration Services</STRONG> from S/4HANA:<BR /> <UL><BR /> <LI>DRF SOAP <EM>Business Partner Replication</EM> and <EM>Business Partner Relationship Replication</EM> – using PUSH for the bi-directional synchronization of the <EM>Account/Customer</EM> and <EM>Contact</EM> data; enabling self-service registration from SAP Commerce Cloud; replicating only relevant subset of <EM>Customers</EM> and <EM>Customer Attributes</EM> from S/4HANA;</LI><BR /> <LI>IDoc MATMAS <EM>Material Replication</EM> – using PUSH for sending <EM>Product</EM> data;</LI><BR /> <LI>DRF SOAP <EM>Sales Organization Replication</EM> – using PUSH for sending <EM>Sales Organization</EM> data; this would be option – depending if <EM>Customers</EM> assigned to multiple <EM>Sales Organizations</EM>, could use this Channel;</LI><BR /> <LI>OData API_SALES_ORDER_SIMULATION_SRV <EM>Sales Order Simulation (A2X)</EM> for inbound <EM>ATP Check</EM> (incl. checking only ATP for one or more items), <EM>Price Check</EM> (incl. checking only unit/total price for one or more items) and <EM>Order Checkout</EM> (full <EM>Order Simulation</EM>) – using POST method only;</LI><BR /> <LI>OData API_SALES_ORDER_SRV <EM>Sales Order (A2X)</EM> for inbound <EM>Order Taking</EM> requests– using POST, PATCH and GET methods for creating, updating and reading <EM>Orders</EM>;</LI><BR /> <LI>OData API_BILLING_DOCUMENT_SRV <EM>Billing Document</EM> request – using only GET method for reading <EM>Invoices</EM>.</LI><BR /> </UL><BR /> In general, no major differences as per S/4HANA enabled APIs, but there are some specifics…<BR /> <BR /> What are those specifics?<BR /> <OL><BR /> <LI>Using SAP Customer Data Cloud to ensure <EM>Customer Consent</EM> is captured, and <EM>Customer Identity</EM> is being verified with connected Enterprise identification and SSO services, either using <EM>Replicate Business Partner from SAP S4HANA to SAP Customer Data Cloud as Approved Organization</EM> standard <A href="https://api.sap.com/integrationflow/Replicate_Business_Partner_from_SAP_S4HANA_to_SAP_Customer_Data_Cloud_as_Aproved_Organization" target="_blank" rel="noopener noreferrer">Integration Package</A> and IFlow[2] or using existing <EM>Customer/Account</EM> <STRONG>Integration Servies</STRONG> with necessary adjustments in the Integration Suite;</LI><BR /> <LI>Based on the current version of SAP Commerce Cloud, Integration Extension Pack[3] order process is based on standard Sync OData APIs. There are no more “prescribed” integration packages for IDocs etc. In fact, for <EM>Order</EM> APIs, it is foreseen to use direct integration between SAP Commerce Cloud and S/4HANA, without any use of SAP Integration Suite.</LI><BR /> </OL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-4.b.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 4.b. Integrating SAP Commerce Cloud using CSRF token</P><BR /> Let me evaluate further this Architecture…<BR /> <BR /> SAP Customer Data Cloud can be used as an Enterprise tool even if we are using SAP Commerce Cloud as a Web Shop (or Web Portal) app. Also, it can be used for other Channels as well – e.g. even <EM>Customer</EM> is created/registered in CRM, we may still need to ask the <EM>Customer</EM> to provide its <EM>Consent</EM>… So, SAP Customer Data Cloud can be part of our Omni-channel Integration Architecture, disregarding which apps we use overall.<BR /> <BR /> Standard integration scenario for SAP Commerce Cloud foresees direct integration with S/4HANA OData APIs, using CSRF token, after <EM>Customer</EM> login. However, I do not see this as an obligatory approach. We may still decide to use SAP Integration Suite as a “focal” point for all <STRONG>Integration Services</STRONG>, for all subscribed Channels. Of course, in this case SAP Commerce Could <EM>Order</EM> APIs would have to be adjusted to use (e.g.) OAuth authentication when connecting with SAP Integration Suite endpoint.<BR /> <BR /> SAP Integration Suite, when properly designed and configured, does provide only minimum latency, but provides unified orchestration and clear observability, for all included <STRONG>Integration Services</STRONG>, and all in one place.<BR /> <BR /> Each Enterprise will make its own decision and adjust Reference Integration Architecture into its own Enterprise Integration Architecture<BR /> <H3 id="toc-hId-110623875">Extend further by subscribing new Channels</H3><BR /> When building Omni-channel Commerce, we would probably not go “big-bang” all apps (for all Channels) at once. With introduction of every new app (or System in general terms), we are leveraging the knowledge and experience of the previous integration(s). The choice of apps, an order in which they will be integrated in the environment etc. this would always be specific for each Enterprise or Organization – based on its own business needs.<BR /> <BR /> I have started with the “Sales App” (or main CRM system) and “Web Shop”. Now, let’s go further with few more “usual” examples…<BR /> <H4 id="toc-hId-43193089"><STRONG>Example with the Field sales</STRONG></H4><BR /> In some cases, we will have to extend the scope of the initially built <STRONG>Integration Services</STRONG>. For the Field sales, beside the mobility component, we might also need partial off-line capability. What does this mean?<BR /> <OL><BR /> <LI>We cannot rely fully on online APIs to “prepare” for <EM>Order Taking</EM> – i.e. we cannot use <EM>Sales Order Simulation (A2X) </EM>to perform <EM>ATP Check</EM> (check<EM> Product</EM> availability) and <EM>Price Check</EM> (acquire <EM>Product</EM> price);</LI><BR /> <LI>Relevant data for <EM>Order Taking</EM> will be preloaded on the device while it is online;</LI><BR /> <LI>Online <EM>Order Checkout</EM> (full <EM>Order Simulation</EM>) may still be an option if device is online;</LI><BR /> <LI><EM>Order Taking </EM>can be done in offline mode (new <EM>Orders</EM> created) and synchronized when device is online.</LI><BR /> </OL><BR /> To enable this kind of service, we need to provide replication, not only of Master Data (Customers, Products etc.), but also:<BR /> <UL><BR /> <LI><EM>Inventory</EM> – to enable checking <EM>Product</EM> availability offline;</LI><BR /> <LI><EM>Price</EM> and <EM>Promotion</EM> – to enable calculate <EM>Order</EM> price offline;</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-5.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 5. Extending integrations for the Field sales</P><BR /> In this example, we have enables additional <STRONG>Integration Services</STRONG>:<BR /> <UL><BR /> <LI>IDoc LOISTD for <EM>Material Master requirements/stock</EM> list – using PUSH for sending <EM>Stock</EM> data; alternatively other approaches for <EM>Stock</EM> data could be also used e.g. OData API_MATERIAL_STOCK_SRV <EM>Material Stock - Read</EM> to PULL data.</LI><BR /> <LI>For <EM>Price</EM> and <EM>Promotion</EM> we can use at minimum OData API_SLSPRICINGCONDITIONTYPE_SRV <EM>Condition Type for Pricing in Sales</EM>, OData API_SLSPRICINGCONDITIONRECORD_SRV <EM>Condition Record for Pricing in Sales</EM>, and OData API_SLSPRICINGPROCEDURE_SRV <EM>Pricing Procedure in Sales</EM> – using GET method for reading <EM>Price</EM> and <EM>Promotion</EM> data; depending of the S/4HANA version e.g. other APIs[4] as well as IDoc COND_A approach could be used;</LI><BR /> </UL><BR /> However, offline use, does come with some limitations:<BR /> <OL><BR /> <LI>LOISTD for <EM>Material Master requirements/stock</EM> list is based on MRP (Material Requirement Planning), which is not (or may not be) the same as ATP (Available-To-Promise). MRP is actually based on the Availability Check – e.g. if the desire quantity can be met on the requested delivery date or not. In the Customizing we can set if the Availability Check is based on ATP or against planning, where ATP itself represents = Total Warehouse Stock + Planned receipts (Incoming Stock) - Planned Issues (Outgoing stock).</LI><BR /> <LI>Complex pricing, especially promotions, might be difficult to recreate in the Client System. It is necessary that Client System understand relevant <EM>Condition Types</EM> as a “Master Data” for pricing, then to use relevant <EM>Condition Records</EM> as per <EM>Pricing Procedure</EM>.</LI><BR /> </OL><BR /> How to overcome those limitations?<BR /> <BR /> In fact, for offline use, LOISTD can do just fine. Just to be on the safe side, we still have to keep <EM>Order Checkout</EM> (full <EM>Order Simulation</EM>) as a “security” mechanism to be executed prior <EM>Order Taking</EM> – assuming device is online. The other “security” mechanism is the <EM>Order Taking</EM> itself – <EM>Order</EM> is confirmed on the device only once it is being successfully synchronized with the backend and order confirmed by S/4HANA.<BR /> <H4 id="toc-hId--153320416"><STRONG>Indirect sales</STRONG></H4><BR /> In the Indirect sales, our Business is serving Customers through 3<SUP>rd</SUP> Parties. The overall <EM>Order Fulfillment</EM> process is split between our Enterprise and 3<SUP>rd</SUP> Parties – let’s not confuse this with B2B Trading Partner scenario, as this is not exactly the same.<BR /> <BR /> As far as <EM>Order Taking</EM> process, we can have multiple scenarios:<BR /> <OL><BR /> <LI>We receive <EM>Orders</EM> through our Commerce Channels (e.g. Sales App), <EM>Orders </EM>are processed and sent to the 3<SUP>rd</SUP> Party to finalize <EM>Order Fulfillment</EM>. In this scenario Customer is (usually) invoiced through our Channels</LI><BR /> <LI><EM>Orders</EM> are taken by the 3<SUP>rd</SUP> Party, based on our <EM>Customer</EM> and <EM>Product</EM> Master data, and based on our <EM>Price</EM> and <EM>Promotion</EM><EM> Order Fulfillment</EM> is executed by the 3<SUP>rd</SUP> Party. Usually, the actual 3<SUP>rd</SUP> Party will be Bill-to Party (party which is invoiced) and/or Payer (party which is actually paying invoiced amount), not Customer itself – however, this all depends on the specific Business Processes we are implementing.</LI><BR /> <LI>Combined case of the first two scenarios, where 3<SUP>rd</SUP> Party can both, receive and take <EM>Orders</EM> as well.</LI><BR /> </OL><BR /> As per 3<SUP>rd</SUP> Party relationship, we can have multiple scenarios as well:<BR /> <OL><BR /> <LI>“Exclusive” – e.g. Wholesaler selling and distributing only our own Product portfolio. An example would be a dealer or franchiser authorized to cover specific region or subset of Product portfolio in the specific region.</LI><BR /> <LI>“Non-exclusive” – e.g. 3<SUP>rd</SUP> Party marketplace connecting existing marketplaces from various Businesses (Companies or Brands) into single “look-and-feel” marketplace. The <EM>Order Taking</EM> experience is managed by the 3<SUP>rd</SUP> Party marketplace, fully transparent for the Customer, where in the background 3<SUP>rd</SUP> Party marketplace is aggregating marketplaces from the various Businesses (Companies or Brands) – communicating with each marketplace based on predefined integration protocol. An example would be e.g. Wholesale who is dealing different Product portfolios, from various Businesses (Companies or Brands), mixing them into “one” <EM>End Customer Order</EM>, while taking individual <EM>Orders</EM> from each Business (Company or Brand).</LI><BR /> </OL><BR /> Depending on the particular scenario, to enable this kind of service, we need to provide bi-directional replication:<BR /> <UL><BR /> <LI><EM>Inventory</EM> – we might need to have an information of 3<SUP>rd</SUP> Party <EM>Stock</EM> data (of our Product portfolio), just as 3<SUP>rd</SUP> Party might needs to have an information of our <EM>Stock</EM> data (to be able to take Orders) – depending on the particular scenario;</LI><BR /> <LI>Price and Promotion – in the specific cases we might need to have an information on 3<SUP>rd</SUP> Party <EM>Price</EM> and <EM>Promotion</EM> data (specific for this 3<SUP>rd</SUP> Party, but for our Product portfolio), as well 3<SUP>rd</SUP> Party might needs to have an information of our <EM>Price </EM>and <EM>Promotion</EM> data (to be able to take <EM>Orders</EM>) – again depending on the particular scenario.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-6.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 6. Extending integrations for the Indirect sales</P><BR /> For the Indirect sales,<BR /> <UL><BR /> <LI>Integration might require some additional re-mapping of our <EM>Custome</EM>r and <EM>Product</EM> Master data. If we operate with multiple <EM>Sales Organization</EM> (<EM>or Sales Areas</EM> in general), re-mapping with our Organizational data would be needed as well.</LI><BR /> <LI>When we receive <EM>Orders</EM> and “forward” it to the 3<SUP>rd</SUP> Party, beside setting clear Business Rules; we might need to record relevant <EM>Stock</EM> data from the 3<SUP>rd</SUP> Party – PUSH data from the 3<SUP>rd</SUP> Party into our ERP special <EM>Warehouse</EM> or <EM>Storage Location</EM>. Also, there could be some specific <EM>Price</EM> and <EM>Promotion</EM> applicable when <EM>Order Fulfilment</EM> is executed by the (selected) 3<SUP>rd</SUP> Party – again PUSH data from the 3<SUP>rd</SUP> Party into our ERP special <EM>Conditions</EM>.</LI><BR /> <LI>When <EM>Orders</EM> are taken by the 3<SUP>rd</SUP> Party, beside setting clear Business Rules; 3<SUP>rd</SUP> Party needs to have an information of our <EM>Stock</EM> , <EM>Price</EM> and <EM>Promotion</EM> data, so <EM>Order Taking</EM> can be performed via 3<SUP>rd</SUP> Party Commercial Channels.</LI><BR /> </UL><BR /> While all (re-)mapping can be performer also in SAP Integration Suite within Value Mapping, or in some cases we might go for B2B Trading Partner scenarios – but for large scale operations (working with multiple 3<SUP>rd</SUP> Parties, in multiple regions/countries), engaging “Unified Translation” Middleware Services could be more prudent choice.<BR /> <BR /> Some 3<SUP>rd</SUP> Party marketplaces also provide natural integration with Web Shops – e.g. <A href="https://www.mirakl.com/" target="_blank" rel="nofollow noopener noreferrer">Mirakle</A> marketplace connecting with, or managing, <A href="https://www.sap.com/products/crm/commerce-cloud.html" target="_blank" rel="noopener noreferrer">SAP Commerce Cloud</A>[5][6]. Obviously, in this scenario, there is no need for any additional “Unified Translation” Middleware Services.<BR /> <H4 id="toc-hId--349833921"><STRONG>EDI</STRONG></H4><BR /> When we talk about EDI (Electronic Data Interchange), we are talking about B2B (Business to Business) communication. Both parties exchanging messages can be providing or purchasing Products or Services – i.e. from one side an <EM>Order</EM> is a <EM>Purchase Order</EM>, while for the other side it is a <EM>Sales Order</EM>.<BR /> <BR /> SAP Business Accelerator Hub provides EDI Integration Templates for SAP Integration Advisor[7]. This package provides the template for both, inbound and outbound integration flows for the processing of UN/EDIFACT (incl. UN/EDIFACT subsets-like GS1 EANCOM or Odette EDIFACT), ODETTE, ASC X12 or cXML interchange to SAP IDoc, SAP SOAP or vice versa.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-7.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 7. B2B Trading Partner integration scenario</P><BR /> More details on B2B Trading Partner integration approach can be found in blogs[8], TechEd on-demand videos[9], as well as in few openSAP free learning courses[10][11]. I suggest visiting these references – which &nbsp;cover all relevant details about the Integrations Advisor (IA), Message Implementation Guidelines (MIG), Mapping Guidelines (MAG), as well as key entities of the Trading Partner Management – like Company Profiles, Trading Partner Profiles, Agreement Templates and Agreements itself.<BR /> <H3 id="toc-hId--675430145">Buster agility beyond initial Architecture</H3><BR /> Standard S/4HANA OData APIs provide many out-of-the-box features – fostering flexibility and agility in the ways of integrating Client System(s). Let’s cover few of them…<BR /> <H4 id="toc-hId--1240578026"><STRONG>Promotion calculated in the Client System(s)</STRONG></H4><BR /> In the above examples, <EM>Promotion</EM> is calculated in S/4HANA. However, standard OData APIs for <EM>Sales Order Simulation (A2X)</EM> and <EM>Sales Order (A2X)</EM> support sending (POST) calculated <EM>Condition Records</EM>. Those <EM>Condition Records</EM> can hold <EM>Promotion</EM> calculated in the Client System(s). <EM>Condition Records</EM> must be based on the Manual <EM>Condition Types</EM> previously created in S/4HANA System.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-8.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 8. Promotion calculated in the Client System</P><BR /> In this scenario, Client System is sending one or more <EM>PricingElement</EM> on the Item level:<BR /> <UL><BR /> <LI><EM>PricingElement</EM> JSON sub-structure contains calculated <EM>Condition Record</EM> value – linked with the appropriate Manual <EM>Condition Type</EM> – where “Manual” means S/4HANA will allow <EM>Condition Record</EM> value to be appended into Pricing Procedure (value itself is not calculated within Pricing Procedure).</LI><BR /> </UL><BR /> <H4 id="toc-hId--1437091531"><STRONG>Delivery in the Client System(s)</STRONG></H4><BR /> We have already covered scenarios with the Indirect sales, where 3<SUP>rd</SUP> Party can manage <EM>Delivery</EM> of the <EM>Goods</EM>. Using the same principle, we can also design our own Enterprise Business Process and allow <EM>Delivery</EM> part of the <EM>Order Fulfillment</EM> is manages by the Client System(s).<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-9.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 9. Delivery in the Client System</P><BR /> In this scenario we will not use bi-directional <EM>Stock</EM> replication, but we could use <EM>Material Movement Document</EM>:<BR /> <UL><BR /> <LI>OData API_MATERIAL_DOCUMENT <EM>Material Movement Document</EM> for inbound requests– using POST and GET methods for creating and retrieving <EM>Material Documents</EM>;</LI><BR /> </UL><BR /> In this approach, S/4HANA is ”issuing” <EM>Goods</EM> to the Client System(s), where all further logistic will be happening. Such <EM>Material Documents</EM>, could be created either by the Client System(s) in S/4HANA, or could be created in S/4HANA and retrieved by the Client System(s).<BR /> <H2 id="using-sap-isam-and-api-business-accelerator-hub" id="toc-hId--1046799022">Using SAP ISA-M and API Business Accelerator Hub</H2><BR /> The power of SAP ISA-M[12] and API Business Accelerator Hub[13] is, among other things, in a vast number of well documented and easy deployable integration artifacts – from standard and easy configurable APIs (OData, SOAPs) – to huge number of predefined integration packages for the SAP Integration Suite (available for both, SAP and non-SAP integration scenarios). This makes things fast, really fast, in bringing “new” <STRONG>Integration Services</STRONG> to the integration domain…<BR /> <BR /> But, it becomes even more interesting with Events and Event-Driven Architecture…<BR /> <BR /> In this scenario I have used standard DRF SOAP <EM>Sales Order Replication (A2A)</EM> for sending status notifications to the subscribed Systems about order status – but it could be done much better using some of the standard <A href="https://api.sap.com/event/OP_SALESORDEREVENTS/overview" target="_blank" rel="noopener noreferrer">Sales Order Events</A>[14] together with <A href="https://help.sap.com/docs/event-mesh" target="_blank" rel="noopener noreferrer">SAP Event Mesh</A>[15] or <A href="https://help.sap.com/docs/SAP_ADVANCED_EVENT_MESH" target="_blank" rel="noopener noreferrer">SAP Integration Suite, Advance Event Mesh</A>[16].<BR /> <BR /> And if standard Events are not enough (e.g. only few available for <EM>Customer</EM>), we can always build custom Events – e.g. very realistic scenario of changing some <EM>Customer Marketing Attributes</EM> – why should we replicate huge <EM>Business Partner</EM> payload to all subscribed Systems? Furthermore, not all Systems are even interested in all changes of <EM>Customer</EM> data – with Events, individual Systems can be subscribed to only some (specific) Events which are business relevant to the subscribed System…<BR /> <BR /> … These are only few, very simple (and very realistic) examples – how SAP ISA-M (as an umbrella), with the associated tools, can accelerate our integration journey.<BR /> <H2 id="why-building-in-phases" id="toc-hId--1243312527">Why building in phases?</H2><BR /> Remember, scope of integration is always End-2-End, but how to deliver it – this is completely different question:<BR /> <UL><BR /> <LI>Scope of integration – this is End-2-End integration (as described in the article <A href="https://blogs.sap.com/2023/04/27/part-2-how-to-build-an-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 2: How to build an Integration Architecture for the Intelligent Enterprise</A>)</LI><BR /> <LI>Integration delivery approach – this is how we organize delivery of the integration (briefly mentioned in the article <A href="https://blogs.sap.com/2023/11/02/part-3-next-steps-in-building-the-integration-architecture-for-the-intelligent-enterprise/" target="_blank" rel="noopener noreferrer">Part 3: Next steps in building the Integration Architecture for the Intelligent Enterprise</A>)</LI><BR /> </UL><BR /> In the context of integration delivery approach, Publish &amp; Subscribe does not refer (only) to specific Event style or so (i.e. usually referred as “PubSub”), but rather on the approach where we build and publish <STRONG>Integration Services</STRONG> from the Core (Master) Systems – and then we connect subscribed Client System – this is the main concept of reusability.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/Figure-10.jpg" /></P><BR /> <P class="image_caption" style="text-align: center;font-style: italic">Figure 10. Publish and Subscribe integration delivery approach</P><BR /> Why do we not start immediately with only publishing APIs from the Core System(s) and connecting subscribed client System(s)?<BR /> <BR /> Initially when we were building our ways into proper governance models, we needed to apply End-2-End integration delivery approach – we needed to invest high to build the network of integration “roads”. In order our Business Process to flow seamlessly (and this is the ultimate goal, right?) it was necessary to implement beyond the Middleware, sometimes it was necessary to provide delivery of the APIs on both (or all) endpoints, as we do need to “prove” the Solution Concept.<BR /> <BR /> But at the end, this is not the target delivery model we want.<BR /> <BR /> Now, that we have proven the Solution Concept, in the matured delivery model, we can Publish APIs to the Client System(s) who will just Subscribe to the specific Integration Service(s) and/or Event Topic(s), based on the particular integration needs.<BR /> <BR /> Here, PubSub (Publish-subscribe pattern)[17] as a pattern for the EDA (Event-driven architecture)[18], is basically encapsulated in the new delivery approach – Publish &amp; Subscribe integration delivery approach.<BR /> <H2 id="conclusions" id="toc-hId--1439826032">Conclusions</H2><BR /> The flexibility of standard S/4HANA APIs and capabilities of SAP Integration Suite are enabling us to “promptly” integrate “any” Commerce Channels – creating unified Omni-channel experience and architecture. Under “any”, I really do mean “any” – SAP or non-SAP…<BR /> <BR /> The use of "OData". "REST". "SOAP" etc. on the Client sides – this is only indicative, as it may differ from the System to System, we are connecting.<BR /> <BR /> This article covers some basic concepts, and concepts only – how to build Integration Architecture – which will enable building “Customer 360” journey and “Order360” visibility in the Enterprise. Of course, through practical (architectural) examples it covers only some <STRONG>Integration Services</STRONG> – but there are much more… In the similar fashion, S/4HANA and API Business Accelerator Hub can help us integrate <EM>Customer Return</EM>, <EM>Service Ticket</EM> (part of the Case Management), <EM>Shipment</EM> (and <EM>Delivery</EM>) etc.<BR /> <BR /> Finally, as said, this article is describing only a Solution Concept – not any particular Solution itself. As always, it is up to any Enterprise or Organization to choose and build its own Solution. For sure, S/4HANA and API Business Accelerator Hub can provide a lot of options how to do that…<BR /> <BR /> I am inviting you to keep following relevant&nbsp;<A href="https://blogs.sap.com/tags/e26e2f63-fcc1-42a7-af06-decec0762b90/" target="_blank" rel="noopener noreferrer">blogs and community resources</A>, post and answer questions, and read other posts&nbsp;on the integration topic.<BR /> <BR /> And of course, share your thoughts and comments on my article, in the comments section.<BR /> <H2 id="acknowledgment" id="toc-hId--1636339537">Acknowledgment</H2><BR /> *) Intro photo by <A href="https://unsplash.com/@nasa?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash" target="_blank" rel="nofollow noopener noreferrer">NASA</A> on <A href="https://unsplash.com/photos/photo-of-outer-space-Q1p7bh3SHj8?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash" target="_blank" rel="nofollow noopener noreferrer">Unsplash</A><BR /> <BR /> **) This article uses <A href="https://wiki.scn.sap.com/wiki/x/shl7H" target="_blank" rel="noopener noreferrer">SAP Business Technology Platform Solution Diagrams &amp; Icons</A> as per <A href="https://d.dam.sap.com/a/nXJJmw" target="_blank" rel="noopener noreferrer">SAP Terms of Use</A> governing the use of these SAP Materials (please note, newer version of the Solution Diagrams &amp; Icons, as well as Terms of Use, might be in place after the publication of this article).<BR /> <BR /> More guidelines on Solution Diagrams &amp; Icons can be found in this <A href="https://blogs.sap.com/2018/01/05/be-visual-use-official-icons-and-samples-for-sap-cloud-platform-solution-diagrams/" target="_blank" rel="noopener noreferrer">article</A> by <SPAN class="mention-scrubbed">bertram.ganz</SPAN> (@bertram.ganz).<BR /> <H2 id="references" id="toc-hId--1832853042">References</H2><BR /> [1] <A href="https://en.wikipedia.org/wiki/Omnichannel" target="_blank" rel="nofollow noopener noreferrer">Omnichannel - Wikipedia</A><BR /> <BR /> [2] <A href="https://help.sap.com/docs/SAP_CUSTOMER_DATA_CLOUD/8b8d6fffe113457094a17701f63e3d6a/4d83300f0ac949828f9604a8abb44065.html" target="_blank" rel="noopener noreferrer">SAP Customer Data Cloud | SAP Help Portal</A><BR /> <BR /> [3]<A href="https://help.sap.com/docs/SAP_COMMERCE_INTEGRATIONS/47ad58c1a27447949aad8addbee46fca/63eab6b625fe43b3a3e637b14eb0e6be.html" target="_blank" rel="noopener noreferrer">SAP S/4HANA Order Management Integration Module | SAP Help Portal</A><BR /> <BR /> [4] <A href="https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/19d48293097f4a2589433856b034dfa5/fcc6f65362484413bfbb0f7cae3652d3.html" target="_blank" rel="noopener noreferrer">Condition Type for Pricing in Sales – Read | SAP Help Portal</A><BR /> <BR /> [5] <A href="https://www.mirakl.com/resources/pdf/sap-connector-brief" target="_blank" rel="nofollow noopener noreferrer">Integrating the Mirakl Marketplace Platform with SAP Commerce</A><BR /> <BR /> [6] <A href="https://www.sap.com/westbalkans/products/crm/commerce-marketplace-management.html" target="_blank" rel="noopener noreferrer">SAP Commerce Marketplace Management l Digital Online Marketplace</A><BR /> <BR /> [7[ <A href="https://api.sap.com/package/ICAPrepackagedContent/overview" target="_blank" rel="noopener noreferrer">Overview | EDI Integration Templates for SAP Integration Advisor | SAP Business Accelerator Hub</A><BR /> <BR /> [8] <A href="https://blogs.sap.com/2023/12/07/whats-new-for-sap-integration-suite-october-november-2023/" target="_blank" rel="noopener noreferrer">What’s New for SAP Integration Suite – October &amp; November 2023 | SAP Blogs</A><BR /> <BR /> [9] <A href="https://blogs.sap.com/2023/10/27/learn-about-sap-integration-suite-at-sap-teched-2023-asug-tech-connect-2023-and-sapinsider-emea-2023/" target="_blank" rel="noopener noreferrer">Learn about SAP Integration Suite at SAP TechEd 2023, ASUG Tech Connect 2023, and SAPinsider EMEA 2023 | SAP Blogs</A><BR /> <BR /> [10] <A href="https://open.sap.com/courses/btp3" target="_blank" rel="noopener noreferrer">Modernize Integration with SAP Integration Suite | openSAP</A><BR /> <BR /> [11] <A href="https://open.sap.com/courses/btp4" target="_blank" rel="noopener noreferrer">Manage B2B Scenarios Effectively with SAP Integration Suite | openSAP</A><BR /> <BR /> [12] SAP ISA-M: <A href="https://www.sap.com/services-support/integration-solution-advisory-methodology.html" target="_blank" rel="noopener noreferrer">Integration Methodology | Services and Support</A><BR /> <BR /> [13] <A href="https://api.sap.com/event/OP_SALESORDEREVENTS/overview" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A><BR /> <BR /> [14] <A href="https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/19d48293097f4a2589433856b034dfa5/78168e21723f4d58a631e3790a7f96b4.html" target="_blank" rel="noopener noreferrer">Sales Order Events | SAP Help Portal</A><BR /> <BR /> [15] <A href="https://help.sap.com/docs/event-mesh/event-mesh/what-is-sap-event-mesh" target="_blank" rel="noopener noreferrer">What Is SAP Event Mesh? | SAP Help Portal</A><BR /> <BR /> [16] <A href="https://help.pubsub.em.services.cloud.sap/Cloud/cloud-lp.htm" target="_blank" rel="nofollow noopener noreferrer">SAP Integration Suite, Advanced Event Mesh (cloud.sap)</A><BR /> <BR /> [17] PubSub: <A href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" target="_blank" rel="nofollow noopener noreferrer">Publish–subscribe pattern - Wikipedia</A><BR /> <BR /> [18} EDA: <A href="https://en.wikipedia.org/wiki/Event-driven_architecture" target="_blank" rel="nofollow noopener noreferrer">Event-driven architecture - Wikipedia</A><BR /> <BR /> &nbsp; 2023-12-17T15:05:39+01:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap/ba-p/13580790 SAP Cloud ALM API & Integration: Several extensions of SAP Cloud ALM with SAP BTP (Part 5): Enrich SAP Cloud ALM content with AI content (SAP Integration Suite, SAP AI Core Services) 2023-12-20T17:39:17+01:00 XavierP https://community.sap.com/t5/user/viewprofilepage/user-id/164863 &nbsp;<BR /> <BR /> This blog is the fifth and final part of this series of blogs: link to&nbsp;<A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A><BR /> <BR /> &nbsp;<BR /> <H1 id="toc-hId-835680676">Objective</H1><BR /> Enrich <STRONG>SAP Cloud ALM</STRONG> content with AI content. A requirement description is improved using AI (<STRONG>SAP AI Cores</STRONG>) while it is synchronized between 2 <STRONG>SAP Cloud ALM</STRONG> tenant (<STRONG>SAP Integration Suite</STRONG>).<BR /> <BR /> All integration scenarios of <STRONG>SAP Cloud ALM</STRONG> are based on the public APIs listed in the&nbsp;<A href="https://api.sap.com/package/SAPCloudALM/rest" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>.<BR /> <BR /> &nbsp;<BR /> <H1 id="toc-hId-639167171">An integration example</H1><BR /> A customer project manager approved a requirement using a form received in his inbox (Part 4:&nbsp;<A href="https://blogs.sap.com/2023/12/07/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-4-approve-requirements-with-workflow-engine-sap-build-process-automation/" target="_blank" rel="noopener noreferrer">Approve Requirements with Workflow Engine (SAP Build Process Automation)</A>). The requirement status has been updated on the <STRONG>SAP Cloud ALM</STRONG> customer tenant. To keep the 2 <STRONG>SAP Cloud ALM</STRONG> tenants synchronized, this change triggers a subscription in <STRONG>SAP Cloud ALM External API Management</STRONG> which calls <STRONG>SAP Integration Suite</STRONG> to update the requirement on the <STRONG>SAP Cloud ALM</STRONG> partner tenant. During the same message processing, <STRONG>SAP Integration Suite</STRONG> calls <STRONG>SAP AI Core</STRONG> to enrich the requirement description.<BR /> <BR /> &nbsp;<BR /> <H1 id="toc-hId-442653666">The involved components</H1><BR /> <UL><BR /> <LI>Enrich SAP Cloud ALM content with AI content:</LI><BR /> </UL><BR /> <UL><BR /> <LI style="list-style-type: none"><BR /> <UL><BR /> <LI>SAP Integration Suite</LI><BR /> <LI>SAP AI Core</LI><BR /> <LI>SAP Cloud ALM</LI><BR /> </UL><BR /> </LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/part5.png" /></P><BR /> <BR /> <H1 id="toc-hId-246140161">SAP Integration Suite</H1><BR /> <STRONG>SAP Integration Suite</STRONG> is an integration platform-as-a-service (iPaaS) that helps you quickly integrate on-premise and cloud-based processes, services, applications, events, and data. Accelerate innovation, automate more processes, and realize a faster time to value.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAPIntegrationSuite.png" /></P><BR /> Further details in this <A href="https://www.sap.com/documents/2017/12/60fd26c5-e37c-0010-82c7-eda71af511fa.html" target="_blank" rel="noopener noreferrer">solution brief</A>.<BR /> <H1 id="toc-hId-49626656">SAP AI Core</H1><BR /> <STRONG>SAP AI Core</STRONG> is a service in the <STRONG>SAP Business Technology Platform</STRONG> that is designed to handle the execution and operations of your AI assets in a standardised, scalable, and hyperscaler-agnostic way. It provides seamless integration with your SAP solutions. Any AI function can be easily realized using open-source frameworks. <STRONG>SAP AI Core</STRONG> supports full lifecycle management of AI scenarios.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAPAI.png" /></P><BR /> Further details in this <A href="https://community.sap.com/topics/ai-core-artificial-intelligence" target="_blank">community</A>.<BR /> <H1 id="toc-hId--146886849">Procedure Overview</H1><BR /> <UL><BR /> <LI>Configure an<STRONG>&nbsp;SAP BTP destination</STRONG>&nbsp;to enable connectivity to the SAP Integration Suite.</LI><BR /> <LI>Configure an<STRONG>&nbsp;SAP Cloud ALM web-hook&nbsp;</STRONG>to enable communication between SAP Cloud ALM tenant and SAP Integration Suite.</LI><BR /> <LI>Add a<STRONG>&nbsp;SAP Cloud ALM subscription&nbsp;</STRONG>to associate SAP Integration Suite with the task event types raised by SAP Cloud ALM customer tenant.</LI><BR /> <LI>Configure your<STRONG>&nbsp;SAP Cloud ALM Project&nbsp;</STRONG>to associate SAP Cloud ALM subscriptions to the requirement task types.</LI><BR /> <LI>Create and configure a complex integration scenario in <STRONG>SAP Integration Suite</STRONG> 2 manage 2 payloads: incoming call from <STRONG>SAP CALM</STRONG> customer tenant, call to <STRONG>SAP AI </STRONG><STRONG>Core</STRONG> and combine them.</LI><BR /> </UL><BR /> <H3 id="toc-hId--85234916"><STRONG>&nbsp;</STRONG></H3><BR /> <H2 id="toc-hId--410831140"><STRONG>Configure SAP BTP destination</STRONG></H2><BR /> In <STRONG>SAP BTP</STRONG> Cockpit create a destination to the <STRONG>SAP Integration Suite</STRONG> to enable the connectivity.<BR /> <BR /> &nbsp;<BR /> <H2 id="toc-hId--607344645"><STRONG>Configure SAP Cloud ALM Web-hook</STRONG></H2><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ExternalAPIManagement.png" /></P><BR /> &nbsp;<BR /> <BR /> In the <STRONG>SAP Cloud ALM</STRONG> External API Management application, create a web-hook for your destination with the following parameters:<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/CPIT2T.png" /></P><BR /> &nbsp;<BR /> <UL><BR /> <LI>External resource type:&nbsp;<STRONG>Task.&nbsp;</STRONG></LI><BR /> <LI>Destination type: Enter&nbsp;<STRONG>Other</STRONG>.</LI><BR /> </UL><BR /> &nbsp;<BR /> <BR /> Check the&nbsp;<A href="https://help.sap.com/docs/cloud-alm/apis/webhook-management-guide" target="_blank" rel="noopener noreferrer">help.sap.portal</A>&nbsp;for more information.<BR /> <H2 id="toc-hId--803858150"><STRONG>Add a SAP Cloud ALM subscription</STRONG></H2><BR /> Create a subscription based on your web-hook with the following parameters:<BR /> <UL><BR /> <LI><EM>Resource type</EM>:&nbsp;<STRONG>CALM Task&nbsp;</STRONG>to use this subscription for events raised for resources managed by the project and task applications.</LI><BR /> <LI><EM>Type</EM>:&nbsp;<STRONG>External</STRONG>&nbsp;to send payload without transformation.</LI><BR /> </UL><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/CPISubs.png" /></P><BR /> Check the&nbsp;<A href="https://help.sap.com/docs/cloud-alm/apis/external-api-management-mapping-guide" target="_blank" rel="noopener noreferrer">help.sap.portal</A>&nbsp;for more information.<BR /> <H2 id="toc-hId--653117298"><STRONG>Configure your SAP Cloud ALM project</STRONG></H2><BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ProjectsAndSetup.png" /></P><BR /> In the&nbsp;<STRONG>Subscriptions</STRONG>&nbsp;panel of the SAP Cloud ALM Project Management application (partner tenant), associate the subscription to the selected task types.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/CPISubProj.png" /></P><BR /> In this example, tasks events will be sent for&nbsp;<EM>Requirements</EM>. Other tasks types events (D<EM>efects</EM>,&nbsp;<EM>Projects</EM>,&nbsp;<EM>User Story</EM>&nbsp;and&nbsp;<EM>Roadmap</EM>&nbsp;<EM>Tasks</EM>) are ignored.<BR /> <BR /> All changes events for the selected tasks types (Creation, Update and Deletion) will be managed by the associated subscriptions.<BR /> <BR /> Check the&nbsp;<A href="https://help.sap.com/docs/cloud-alm/apis/tasks" target="_blank" rel="noopener noreferrer">help.sap.portal</A>&nbsp;for more information.<BR /> <H2 id="toc-hId--849630803"><STRONG>C</STRONG><STRONG>reate and c</STRONG><STRONG>onfigure </STRONG><STRONG>an complex integration scenario in SAP Integration Suite</STRONG></H2><BR /> The goal of this blog is not to give you a step by step guide on how to create integration scenario with <STRONG>SAP Integration Suite</STRONG>&nbsp;or how to use<STRONG> SAP AI Core</STRONG>. To get further details, you can follow this <A href="https://developers.sap.com/group.ai-core-get-started-basics.html" target="_blank" rel="noopener noreferrer">learning page</A> for SAP AI Core and this <A href="https://learning.sap.com/learning-journey/developing-with-sap-integration-suite" target="_blank" rel="noopener noreferrer">one</A> for SAP Integration Suite.<BR /> <BR /> The goal of this blog is to highlight the integration capabilities with <STRONG>SAP Cloud ALM</STRONG>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/CPIflow.png" /></P><BR /> This is the integration process flow. <STRONG>SAP integration Suite</STRONG> receives a payload with the updated requirement, transform the payload to call <STRONG>SAP AI Core</STRONG> to enrich the requirement description and mixed the payloads to send it to the <STRONG>SAP Cloud ALM</STRONG> partner tenant.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ContentModifier1.png" /></P><BR /> In this step, the task ID, title, and the payload are stored in variables for later usage.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/ContentModifier2.png" /></P><BR /> Then the message body is overwritten with this one which contains the parameters to call <STRONG>SAP AI Core</STRONG>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAPAIURL.png" /></P><BR /> The request is sent to <STRONG>SAP AI Core</STRONG>.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/SAPAIResult.png" /></P><BR /> The AI generated description stored in a variable.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/payload.png" /></P><BR /> The original payload is loaded.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/mappingCPI.png" /></P><BR /> The Integration Suite message mapping capability is used to map the approval state of the in-going payload to out-going payload and to update the description with the one generated by SAP AI Core. The payload is ready.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/callTask.png" /></P><BR /> Finally, the <STRONG>SAP Cloud ALM task API</STRONG> of the partner tenant is called with the enriched payload.<BR /> <H1 id="toc-hId--752741301">Final words</H1><BR /> Hope you like this journey about extensions and innovations with <STRONG>SAP BTP</STRONG> and <STRONG>SAP Cloud ALM</STRONG>. <STRONG>SAP BTP</STRONG> provides several components which can be used for ALM scenarios: <STRONG>SAP Build, SAP Integration Suite</STRONG>... <STRONG>SAP Cloud ALM</STRONG> APIs are keys for these integrations.<BR /> <P style="overflow: hidden;margin-bottom: 0px"><IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/blog_attachments/2023/12/scenario.png" /></P><BR /> <P class="image_caption" style="text-align:center;font-style:italic;, Arial, sans-serif">The end to end scenario</P><BR /> Thanks for reading.<BR /> <BR /> &nbsp;<BR /> <H1 id="toc-hId--949254806">SAP Cloud ALM API &amp; Integration blogs:</H1><BR /> <UL><BR /> <LI>Part 1:&nbsp;<A href="https://blogs.sap.com/2023/11/02/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-1-introduction/" target="_blank" rel="noopener noreferrer">Introduction</A></LI><BR /> <LI>Part 2:&nbsp;<A href="https://blogs.sap.com/2023/11/09/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-2-replicate-a-newly-created-requirement-from-sap-cloud-alm-tenant-a-to-b-using-the-external-api-management-of/" target="_blank" rel="noopener noreferrer">Replicate a newly created requirement from SAP Cloud ALM tenant A to B using the External API Management of SAP Cloud ALM.</A></LI><BR /> <LI>Part 3:&nbsp;<A href="https://blogs.sap.com/2023/11/23/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-3-use-a-mobile-application-sap-build-apps-sap-cloud-alm-to-trigger-a-requirement-approval./" target="_blank" rel="noopener noreferrer">Use a mobile application (SAP Build Apps, SAP Cloud ALM) to trigger a requirement approval</A></LI><BR /> <LI>Part 4:&nbsp;<A href="https://blogs.sap.com/2023/12/07/sap-cloud-alm-api-integration-several-extensions-of-sap-cloud-alm-with-sap-btp-part-4-approve-requirements-with-workflow-engine-sap-build-process-automation/" target="_blank" rel="noopener noreferrer">Approve Requirements with Workflow Engine (SAP Build Process Automation)</A></LI><BR /> <LI>Part 5: current page</LI><BR /> </UL> 2023-12-20T17:39:17+01:00 https://community.sap.com/t5/technology-blogs-by-sap/new-partner-content-on-sap-business-accelerator-hub-q4-23/ba-p/13572884 New Partner Content on SAP Business Accelerator Hub (Q4 ’23) 2024-01-01T10:29:27+01:00 AnanthNatarajan https://community.sap.com/t5/user/viewprofilepage/user-id/79594 As a continuation of the previous&nbsp;<A href="https://blogs.sap.com/2023/09/29/new-partner-content-on-sap-business-accelerator-hub-q3-23/" target="_blank" rel="noopener noreferrer">blog</A>, we would like to provide further updates and keep up the momentum of sharing relevant information with our community.<BR /> <BR /> In this blog series, we will learn about the new content published on <A href="https://hub.sap.com/" target="_blank" rel="noopener noreferrer"><STRONG>SAP Business Accelerator Hub</STRONG></A>&nbsp;from our partners during&nbsp;<STRONG>Q4 2023, </STRONG>along with their high-level details.<BR /> <BR /> For more details on each partner’s content, refer to the&nbsp;<A href="https://hub.sap.com/allpartners" target="_blank" rel="noopener noreferrer"><STRONG>partners listing,</STRONG></A> also available on the home page of SAP Business Accelerator Hub.<BR /> <BR /> <HR /><BR /> <BR /> <H3 id="toc-hId-1092983109"><STRONG>PROCLANE</STRONG></H3><BR /> PROCLANE Integration is a leading system house for data integration and process consulting. Our customers mainly come from the B2B sector, for example from mechanical engineering and trade. We specialize in data integration, for example for the integration of SAP and non-SAP systems or the connection of other ERPs.<BR /> <H4 id="toc-hId-1025552323"><STRONG>Integration Content published:</STRONG></H4><BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SalesforceAdapterbyPROCLANE/overview" target="_blank" rel="noopener noreferrer">Salesforce Adapter by PROCLANE</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">The&nbsp;<STRONG>Salesforce Adapter</STRONG> enables the integration between SAP Cloud Integration and Salesforce.</P><BR /> <BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/PAYONEAdapterbyPROCLANE/overview" target="_blank" rel="noopener noreferrer">PAYONE Adapter by PROCLANE</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">The&nbsp;<STRONG>PAYONE Adapter</STRONG>&nbsp;enables the integration between SAP Cloud Integration and PAYONE.</P><BR /> <BR /> <BR /> <HR /><BR /> <BR /> <H3 id="toc-hId-699956099"><STRONG>Effective People A/S</STRONG></H3><BR /> <SPAN class="TextRun SCXO202188027 BCX8" lang="EN-US" lang="EN-US" data-contrast="auto"><SPAN class="NormalTextRun SCXO202188027 BCX8">At Effective People, our purpose is people.&nbsp;</SPAN></SPAN><SPAN class="TextRun SCXO202188027 BCX8" lang="EN-US" lang="EN-US" data-contrast="none"><SPAN class="NormalTextRun SCXO202188027 BCX8">As a leading global provider of SAP SuccessFactors, HR advisory, and workforce management solutions, we help organizations across all territories and industries to drive better business outcomes, improve HR effectiveness, streamline payroll processes, and create great employee experiences.&nbsp;</SPAN></SPAN><SPAN class="TextRun SCXO202188027 BCX8" lang="EN-US" lang="EN-US" data-contrast="auto"><SPAN class="NormalTextRun SCXO202188027 BCX8">We’ve completed over 1,000 SAP SuccessFactors projects in more than 100 countries worldwide throughout the past 18+ years. Our 250 consultants cover all major industries and provide continued operational support and maintenance for more than 150 companies. Together with our customers, we’ve won 13 SAP Quality Awards.</SPAN></SPAN><BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/InitialsGeneratorToolIntegrationwithSAPSuccessFactorsEmployeeCentral/overview" target="_blank" rel="noopener noreferrer">Initials Generator Tool Integration with SAP SuccessFactors Employee Central</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">The Initials Generator Tool Integration with SAP SuccessFactors Employee Central is an event-driven integration designed to automatically generate and manage the employee initials within the Employee Central module. This feature streamlines the process from hiring to termination by automating the creation and handling of employee initials.</P><BR /> <BR /> <BR /> <HR /><BR /> <BR /> <H3 id="toc-hId-503442594"><STRONG>Pricefx&nbsp;</STRONG></H3><BR /> Pricefx is a cloud-native platform supporting the entire pricing journey, from setting optimal prices and managing the rebate process to maximizing your organization’s pricing power. In addition to strong open platform integration capabilities, Pricefx integrates seamlessly with SAP software, including ECC, S/4HANA, and CX solutions.<BR /> <H4 id="toc-hId-436011808"><STRONG>Integration Content published:</STRONG></H4><BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SAPS4HANASalescontractIntegrationwithPricefx/overview" target="_blank" rel="noopener noreferrer">SAP S/4HANA Sales contract Integration with Pricefx</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">This integration package contains integration flows to create sales contract in SAP S/4HANA from Pricefx quotes.</P><BR /> <BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SAPS4HANASalescontractMappingwithPricefx/overview" target="_blank" rel="noopener noreferrer">SAP S/4HANA Sales contract Mapping with Pricefx</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">This integration package contains sample mappings required to create SAP S/4HANA sales contracts from Pricefx quotes. You should modify or create new message mappings and value mappings according to your needs.</P><BR /> <BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SAPS4HANABillingDocumentIntegrationwithPricefx/overview" target="_blank" rel="noopener noreferrer">SAP S/4HANA Billing Document Integration with Pricefx</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">This integration package contains integration flows to replicate billing documents from SAP S/4HANA to Pricefx transactions.</P><BR /> <BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SAPS4HANABillingDocumentMappingwithPricefx/overview" target="_blank" rel="noopener noreferrer">SAP S/4HANA Billing Document Mapping with Pricefx</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">This integration package contains sample mappings required to replicate billing documents from SAP S/4HANA to Pricefx. You should modify or create new message mappings and value mappings according to your needs.</P><BR /> <BR /> <BR /> <HR /><BR /> <BR /> <H3 id="toc-hId-110415584"><STRONG>Degreed</STRONG></H3><BR /> <SPAN class="TextRun BCX8 SCXO1875410" lang="EN-US" lang="EN-US" data-contrast="none"><SPAN class="NormalTextRun BCX8 SCXO1875410">As a trusted member of the SAP ecosystem, Degreed serves as the front door for enhanced learning experiences that fulfill today’s business needs and tomorrow’s goals. When integrated with the SAP SuccessFactors Learning solution, the </SPAN></SPAN><SPAN class="TextRun BCX8 SCXO1875410" lang="EN-US" lang="EN-US" data-contrast="none"><SPAN class="NormalTextRun BCX8 SCXO1875410">Degreed Learning Experience Platform (LXP) becomes an explosive tool that </SPAN></SPAN><SPAN class="TextRun BCX8 SCXO1875410" lang="EN-US" lang="EN-US" data-contrast="none"><SPAN class="NormalTextRun BCX8 SCXO1875410">organizations around the globe have chosen as their solution.</SPAN></SPAN><BR /> <UL><BR /> <LI><A href="https://hub.sap.com/package/SAPSuccessFactorsIntegrationwithDegreed/overview" target="_blank" rel="noopener noreferrer">SAP SuccessFactors Integration with Degreed</A></LI><BR /> </UL><BR /> <P style="padding-left: 40px">SAP SuccessFactors Learning integration with Degreed provides a complete and more efficiently automated synchronization of data. This integration requires SAP SuccessFactors Learning to be the primary learning management system (LMS) and Employee Central as your human resources information system (HRIS) system of record, and a Degreed organization.</P><BR /> <BR /> <BR /> <HR /><BR /> <BR /> If you are interested in&nbsp;<STRONG>Partnering with SAP Business Accelerator Hub</STRONG>, please refer to this&nbsp;<A href="https://hub.sap.com/partnerwithus" target="_blank" rel="noopener noreferrer"><STRONG>section</STRONG></A>&nbsp;for more details.<BR /> <BR /> Stay tuned for further updates and information by the end of the next quarter! 2024-01-01T10:29:27+01:00 https://community.sap.com/t5/technology-blogs-by-sap/what-are-business-accelerators/ba-p/13607794 What are business accelerators? 2024-02-16T13:37:26.420000+01:00 aadityanigam https://community.sap.com/t5/user/viewprofilepage/user-id/6727 <H3 id="toc-hId-1115295638">What is a business accelerator?</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Picture 1.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/65966i85EF24B2686D9DD9/image-size/large?v=v2&amp;px=999" role="button" title="Picture 1.jpg" alt="Picture 1.jpg" /></span></P><P>SAP BTP platform deliver power capabilities but these capabilities are generic, not use case specific. On the other hand, customers look for functionality specific to their use case, a <STRONG>business accelerator leverages generic BTP capabilities to fulfil a very specific use case of the customer.&nbsp;</STRONG>Think of accelerators as "dvd" and BTP as the "dvd player". So we have business accelerator like integration flows for Cloud Integration, automations for SAP Build, APIs and Event to build apps and integrations.</P><P>The <A title="SAP Business Accelerator Hub" href="https://hub.sap.com" target="_blank" rel="noopener noreferrer">SAP Business Accelerator Hub</A>&nbsp;is show case for thousands of such accelerators and everyday we add new content and also update the older content.</P><P>Why do we call them business accelerators?</P><P>This is a serious question i get,</P><P style=" padding-left : 30px; "><STRONG>We have Integration Flows, APIs, Events, Build Automations, Business Scenarios - why come up with a new term 'business accelerators'<U> that apparently does not make too much technical sense?</U></STRONG></P><P>Valid question, short answer - because it is supposed to make business sense not technical sense. The site hold such a huge variety of content for a diverse persona we had to go abstract on having a common noun for all content on the SAP Business Accelerator Hub.</P><P>But why did we have to change the name SAP API Business Hub? Connecting back to the first article in this series -&nbsp;<A title="SAP API Business Hub is now SAP Business Accelerator Hub" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-api-business-hub-is-now-sap-business-accelerator-hub/ba-p/13548604" target="_blank">SAP API Business Hub is now SAP Business Accelerator Hub</A></P> 2024-02-16T13:37:26.420000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/pre-built-business-accelerators-are-a-win-win-win-scenario-for-customers/ba-p/13606738 Pre-built business accelerators are a win-win-win scenario for Customers-Partners-SAP 2024-02-19T10:52:27.626000+01:00 aadityanigam https://community.sap.com/t5/user/viewprofilepage/user-id/6727 <P>This blog is a follow-on to the blog&nbsp;<A title="Partners reach your target audience better with SAP API Business Hub" href="http:// https://community.sap.com/t5/technology-blogs-by-sap/partners-reach-your-target-audience-better-with-sap-api-business-hub/ba-p/13490658" target="_blank" rel="noopener nofollow noreferrer">Partners reach your target audience better with SAP API Business Hub</A>&nbsp;in the meanwhile we&nbsp;<A title="SAP API Business Hub is now SAP Business Accelerator Hub" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-api-business-hub-is-now-sap-business-accelerator-hub/ba-p/13548604" target="_blank">renamed the SAP API Business Hub to SAP Business Accelerator Hub.</A></P><P>In this blog i will present the impact of <A title="What are prebuilt business accelerators?" href="https://community.sap.com/t5/technology-blogs-by-sap/what-are-business-accelerators/ba-p/13607794" target="_blank">business accelerators</A>&nbsp; in the partner ecosystem.</P><H3 id="toc-hId-1115265665">Business Accelerators and Partners</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="IMG_0371.jpg" style="width: 800px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/65979iF6F6FBADCC4A9D92/image-dimensions/800x404?v=v2" width="800" height="404" role="button" title="IMG_0371.jpg" alt="IMG_0371.jpg" /></span></P><P>Introducing the elephant: Do business accelerators hurt partner business? SAP Business Accelerator Hub gives away for free what used to be consulting business!!&nbsp;</P><P>Actually no, <STRONG>business accelerators are a win-win-win situation for Customers-Partners-SAP</STRONG>.</P><P>This is a true incident that happened in INT 214 session on both days of Teched 2023 in Bengaluru. Both session i had about a 50-50 breakup of customer and partners/consultants. I could only ask yes/no questions so that the participants could respond by a raise of hands.&nbsp;</P><P>Question to&nbsp; customers,</P><P style=" padding-left : 30px; ">"<STRONG>Would you be more confident on starting an implementation project, if most of the content was only configuration or tweaking effort?</STRONG>"</P><P>- All hands went up except 1 customer, in the first session.</P><P>Question to the partners,</P><P style=" padding-left : 30px; ">"<STRONG>Would you be interested if a lot of customers were confident to start fixed scope projects involving only configuration or tweaking effort?</STRONG>"</P><P>- All hands went up.</P><P>Question to the customers,</P><P style=" padding-left : 30px; ">"<STRONG>Will you be happy if you were running the exact same pre built business logic as your nearest competitor?</STRONG>"</P><P>short pause - i could sense the discomfort, no hands went up.</P><P style=" padding-left : 30px; ">"OR<STRONG> would you like to fire up some innovation projects to build up some unfair advantages?</STRONG>"</P><P>- All hands go up (including the customer who did not want prebuilt content)</P><P>Question to the partners,</P><P style=" padding-left : 30px; ">"Do i even have to ask this-<STRONG>how do you feel about have 'a lot of customer' wanting to start custom development projects?</STRONG>"</P><P>- All hands shot up.</P><P>(Let me know in the comments, Which hat you wear? [Customer|Partner] and what would your responses be?)</P><P><U><STRONG>Summary:</STRONG></U></P><H5 id="toc-hId-1176917598">Most customers would grab the opportunity to quickly reach the 'state of art' using free prebuilt business accelerators but then would like to build bespoke competitive differentiators. This also means that with greater number of customers at the 'state of the art', partner have a bigger addressable market for bespoke projects<STRONG><EM>.</EM></STRONG></H5><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Virtuous Cycle of prebuilt business Accelerators" style="width: 788px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/67385i498259308984D909/image-size/large?v=v2&amp;px=999" role="button" title="Screenshot 2024-02-19 at 2.30.31 PM.png" alt="Virtuous Cycle of prebuilt business Accelerators" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Virtuous Cycle of prebuilt business Accelerators</span></span></P><UL><LI>The blue circle is the ecosystem without prebuilt accelerators,</LI><LI>We start with SAP enabling the discovery and consumption of pre built business accelerators. The growth in the ecosystem at this stage is driven by a strong match between customer requirement and the pre-built business accelerators being shipped.</LI><LI>&nbsp;Customer see a reduction of TCO and risk hence are more likely to adopt SAP BTP to consume the pre built business accelerators.</LI><LI>Customers still need partners to help them consume the accelerators via fixed price-fixed scope projects. Given the ecosystem has shifted into a higher orbit Partners will see some increase in the Total Addressable Market.</LI><LI>SAP also uses pre built accelerators showcase innovation - a demonstration of the capabilities of the BTP platform</LI><LI>Customers need to create competitive differentiators and maximise RoI on the software investment.</LI><LI>This creates another fertile ground for partner to pitch bespoke projects to a growing ecosystem of customers.</LI></UL><P>&nbsp;</P><P>&nbsp;</P> 2024-02-19T10:52:27.626000+01:00 https://community.sap.com/t5/technology-blogs-by-members/how-to-attach-documents-to-a-journal-entry-within-sap-s-4hana-public-cloud/ba-p/13628451 How to attach documents to a Journal Entry within SAP S/4HANA Public Cloud from ABAP. 2024-03-08T15:57:24.484000+01:00 Sergio-Gracia https://community.sap.com/t5/user/viewprofilepage/user-id/751957 <H4 id="toc-hId-1246252180"><STRONG>Introduction</STRONG></H4><P><SPAN>In this blog, we describe a method to attach document files to a Journal Entry (BKPF) instance within the same <a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA+Cloud+Public+Edition/pd-p/08e2a51b-1ce5-4367-8b33-4ae7e8b702e0" class="lia-product-mention" data-product="1199-1">SAP S/4HANA Cloud Public Edition</a>&nbsp;using ABAP.</SPAN></P><DIV class="">&nbsp;</DIV><DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_0-1709726333750.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76523i2519566920E045F5/image-size/large?v=v2&amp;px=999" role="button" title="zeio_0-1709726333750.png" alt="zeio_0-1709726333750.png" /></span></DIV><DIV class="">&nbsp;</DIV><DIV class=""><SPAN>This requires us to expose and consume the Attachment API as described in the</SPAN><SPAN>&nbsp;<A href="https://api.sap.com/api/API_CV_ATTACHMENT_SRV/overview" target="_blank" rel="noopener noreferrer">SAP Business Accelerator HUB - Attachments.</A></SPAN></DIV><DIV class="">&nbsp;</DIV><DIV class=""><SPAN>I belive this blog can be very useful since&nbsp;existing documentation primarily focuses on exposing the services, but we encounter conceptual problems when consuming them locally.</SPAN></DIV><DIV class="">&nbsp;</DIV><DIV class=""><SPAN>This method is also valid for a S/4HANA Private Cloud but has been implemented and tested only in S/4HANA Public Cloud.</SPAN></DIV><H4 id="toc-hId-1049738675">Steps</H4><DIV class=""><OL><LI><P><STRONG>Create the Outbound Service.&nbsp;</STRONG><SPAN>In Eclipse, and within your development package, follow these steps to create a new Outbound Service:</SPAN><SPAN><BR /><BR /></SPAN></P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_0-1709737643035.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76589i29DC6AB765B7F866/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_0-1709737643035.png" alt="zeio_0-1709737643035.png" /></span><UL><LI>Add name and description.</LI><LI>Select the type HTTP.</LI><LI>Set the Default Path Prefix for the Attachment method <A href="https://api.sap.com/api/API_CV_ATTACHMENT_SRV/path/post_AttachmentContentSet" target="_self" rel="noopener noreferrer">AttachmentContentSet</A>, as follows: "/sap/opu/odata/sap/API_CV_ATTACHMENT_SRV/AttachmentContentSet".<BR /><BR /></LI></UL><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_1-1709737678982.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76590i5DBD129F650B7769/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_1-1709737678982.png" alt="zeio_1-1709737678982.png" /></span></LI><LI><P><STRONG>Create the Communication Scenario.</STRONG> Still in Eclipse and under your development package, create a new Communication Scenario as follows:<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_2-1709737713134.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76591iA064B2C917BF3342/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_2-1709737713134.png" alt="zeio_2-1709737713134.png" /></span><UL><LI>Add name and description.</LI><LI>In the Outbound tab, add the previously created service.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_3-1709737805888.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76593i2DA1D8EBE02B7C6D/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_3-1709737805888.png" alt="zeio_3-1709737805888.png" /></span></LI><LI><SPAN>Use the top-right 'Publish Locally' button to publish the communication scenario.</SPAN><BR /><BR /></LI></UL></LI><LI><P><STRONG>Create the Communication User.</STRONG> Navigate to the Maintain Communication User app and create a new user. Remember to copy the username and password, as we will need them to configure the communication systems.<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_4-1709738003846.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76594i38B19725E212C90D/image-size/large?v=v2&amp;px=999" role="button" title="zeio_4-1709738003846.png" alt="zeio_4-1709738003846.png" /></span><BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_5-1709738076778.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76596iA64C93E18FC3C9E6/image-size/large?v=v2&amp;px=999" role="button" title="zeio_5-1709738076778.png" alt="zeio_5-1709738076778.png" /></span></LI><LI><P><STRONG>Assign the new communication user to our local Communication System.</STRONG> In the Communication System app, select our local system using the top button labeled "Own SAP Cloud System."<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_6-1709738120971.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76599iF5218A05F10FB68C/image-size/large?v=v2&amp;px=999" role="button" title="zeio_6-1709738120971.png" alt="zeio_6-1709738120971.png" /></span><BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_7-1709738150828.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76600i10493A0B9B2B593D/image-size/large?v=v2&amp;px=999" role="button" title="zeio_7-1709738150828.png" alt="zeio_7-1709738150828.png" /></span><UL><LI>Copy the hostname, as it will be needed in the next step.</LI><LI>In edit mode, assign the previously created user as the User for Inbound Communication and save.<BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_8-1709738210163.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76601i1D44AD2D363FB64B/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_8-1709738210163.png" alt="zeio_8-1709738210163.png" /></span></LI></UL></LI><LI><STRONG>Create a Communication System to consume the service.</STRONG> Go to the Communication Systems App, create a new system, fill the ID and description.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_9-1709738280494.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76602iC12DF1176C22C2C6/image-size/large?v=v2&amp;px=999" role="button" title="zeio_9-1709738280494.png" alt="zeio_9-1709738280494.png" /></span><BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_10-1709738305034.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76603i0342E9CCE3CD7A06/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_10-1709738305034.png" alt="zeio_10-1709738305034.png" /></span><UL><LI>Complete hostname field with the value obtained in the previous step (local hostname).<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_12-1709738469078.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76605i3B3F5998E680970F/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_12-1709738469078.png" alt="zeio_12-1709738469078.png" /></span></LI><LI>Assign the previously created user as Outbound User, and save.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_13-1709738517919.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76606i31E1202AF72434FF/image-size/large?v=v2&amp;px=999" role="button" title="zeio_13-1709738517919.png" alt="zeio_13-1709738517919.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_14-1709738531108.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76607iC4858924514C8004/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_14-1709738531108.png" alt="zeio_14-1709738531108.png" /></span></LI></UL></LI><LI><P><STRONG>Create the Communication Arrangement to expose the service.</STRONG> Navigate to the Communication Arrangement App, create a new one, or check if one exists, based on the Scenario SAP_COM_0002: Finance - Posting Integration. This scenario has sufficient permissions to attach document files to a Journal Entry instance.<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_2-1709739349096.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76615i5A19E1C08E117806/image-size/large?v=v2&amp;px=999" role="button" title="zeio_2-1709739349096.png" alt="zeio_2-1709739349096.png" /></span><P>&nbsp;</P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_3-1709739393983.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76616i70EB3BF313C0CFDE/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_3-1709739393983.png" alt="zeio_3-1709739393983.png" /></span><UL><LI>After selecting or creating the communication arrangement, ensure that the communication system is assigned to your local system. Also, add the created communication user as Inbound Communication User.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SergioGracia_1-1709742372912.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76666i01D44ED185D5C18C/image-size/large?v=v2&amp;px=999" role="button" title="SergioGracia_1-1709742372912.png" alt="SergioGracia_1-1709742372912.png" /></span><P>&nbsp;</P><BR /><BR /></LI><LI>We don't need the Outbound Services of the Arrangement for this requirement, so unless necessary for other reasons, deactivate these services by unchecking the Active flag.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SergioGracia_0-1709741795715.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76657i09F1CDD2E436E07A/image-size/large?v=v2&amp;px=999" role="button" title="SergioGracia_0-1709741795715.png" alt="SergioGracia_0-1709741795715.png" /></span></LI></UL></LI><LI><P><STRONG>Create the Communication Arrangement to consume the service.</STRONG> Create a new Communication Arrangement based on our scenario created in step 2, assign the communication system created and assign the outbound communication user.<BR /><BR /></P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="zeio_7-1709739718535.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76625iD633E173330E7A88/image-size/medium?v=v2&amp;px=400" role="button" title="zeio_7-1709739718535.png" alt="zeio_7-1709739718535.png" /></span><P>&nbsp;</P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SergioGracia_2-1709742477463.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76670iEF5780894DFB7075/image-size/large?v=v2&amp;px=999" role="button" title="SergioGracia_2-1709742477463.png" alt="SergioGracia_2-1709742477463.png" /></span><BR /><P><SPAN>After saving, you can verify if the user/system relationship has been correctly configured using the Check Connection button.<BR /><BR /></SPAN></P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="zeio_8-1709739781520.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/76627i3A63B2E5979A6054/image-size/large?v=v2&amp;px=999" role="button" title="zeio_8-1709739781520.png" alt="zeio_8-1709739781520.png" /></span><P>If you get an error, please check the Outbound User has the right password in Communication System.</P></LI><LI><P><STRONG>Consume the Attachment API from an ABAP Class.</STRONG></P></LI></OL><UL><LI>You can consume the API using ABAP with the following code.</LI></UL></DIV><P>&nbsp;</P><pre class="lia-code-sample language-abap"><code> TRY. DATA(lo_destination) = cl_http_destination_provider=&gt;create_by_comm_arrangement( comm_scenario = 'ZCS_ATTACHMENT' "Communication Arrangement service_id = 'ZOS_API_ATTACHMENT_REST' "Outbound Service). DATA(lo_http_client) = cl_web_http_client_manager=&gt;create_by_http_destination( i_destination = lo_destination ). "Set CSRF Token lo_http_client-&gt;set_csrf_token( ). DATA(lo_request) = lo_http_client-&gt;get_http_request( ). lo_request-&gt;set_header_field( i_name = 'Slug' i_value = iv_filename )."Filename (with extension) lo_request-&gt;set_header_field( i_name = 'BusinessObjectTypeName' i_value = iv_bo_type ). "BKPF lo_request-&gt;set_header_field( i_name = 'LinkedSAPObjectKey' i_value = iv_bo_key ). "Journal Entry concatenate key fields. lo_request-&gt;set_content_type( content_type = iv_mimetype ). "Mimetype lo_request-&gt;set_binary( i_data = iv_attachment ). "File content in binary DATA(lo_response) = lo_http_client-&gt;execute( i_method = if_web_http_client=&gt;post ). DATA(ls_status) = lo_response-&gt;get_status( ). IF ls_status-code NE 201. "Catch error (the attachment hasn't be created) ENDIF. CATCH cx_web_message_error INTO DATA(lx_web). "Catch error (the service is misconfigured) ENDTRY.</code></pre><P>&nbsp;</P><P>Please take a look to "iv_" variables and replace them with valid information. or include the code into a class method with these variables, all of them are strings.</P> 2024-03-08T15:57:24.484000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/new-partner-content-on-sap-business-accelerator-hub-q1-24/ba-p/13656895 New Partner Content on SAP Business Accelerator Hub (Q1 ’24) 2024-04-03T10:59:59.828000+02:00 AnanthNatarajan https://community.sap.com/t5/user/viewprofilepage/user-id/79594 <P><SPAN>As a continuation of the previous&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/new-partner-content-on-sap-business-accelerator-hub-q4-23/ba-p/13572884" target="_self">blog<SPAN>,</SPAN></A>&nbsp;we would like to provide further updates and keep up the momentum of sharing relevant information with our community.</SPAN></P><P><SPAN>In this blog series, learn about the new content published on <A href="https://hub.sap.com/" target="_self" rel="noopener noreferrer">SAP Business Accelerator Hub</A> from our partners during <STRONG>Q1 '2024</STRONG>, along with their high-level details.</SPAN></P><P><SPAN>For complete details on each partner's content, refer to the <A href="https://hub.sap.com/allpartners" target="_self" rel="noopener noreferrer">partners listing</A> which is available on the home page of SAP Business Accelerator Hub.</SPAN></P><P><SPAN>-----------------------------------------------------------------------------------------------------------------------------------------------</SPAN></P><H3 id="toc-hId-1119884414"><STRONG>Flexso NV</STRONG></H3><P>Flexso specializes in advanced SAP solutions, driving innovation and efficiency for your business. We blend your goals with our expertise, offering a comprehensive suite of services including SAP S/4HANA, HR digitalization, customer experience enhancement, and more. As a proactive partner, we focus on transforming your business for agility and future readiness, ensuring you stay ahead in a rapidly evolving digital world. Choose Flexso for smart solutions and a partnership that leads to success.</P><H4 id="toc-hId-1052453628"><STRONG>Integration Content published:</STRONG></H4><P style=" padding-left : 30px; "><A href="https://hub.sap.com/package/ShopifyIntegrationwithSAPS4HANACloud/overview" target="_self" rel="noopener noreferrer"><SPAN>Shopify Integration with SAP S/4HANA Cloud</SPAN></A></P><DIV class=""><DIV class=""><DIV>&nbsp;</DIV><DIV><SPAN><SPAN>The Shopify to SAP S/4HANA Integration Package is a comprehensive solution designed to seamlessly connect your e-commerce and ERP systems. It leverages webhooks for real-time data synchronization, enhancing operational efficiency and data accuracy.</SPAN></SPAN><DIV class="">&nbsp;<DIV><SPAN><SPAN>-----------------------------------------------------------------------------------------------------------------------------------------------</SPAN></SPAN></DIV><DIV>&nbsp;</DIV><DIV><STRONG>Effective People A/S</STRONG><DIV><P>At Effective People, our purpose is people. As a leading global provider of SAP SuccessFactors, HR advisory, and workforce management solutions, Effective People helps organizations across all territories and industries to drive better business outcomes, improve HR effectiveness, streamline payroll processes, and create great employee experiences. We've completed more than 1,000 SAP SuccessFactors projects in more than 100 countries worldwide throughout the past 18+ years. Our 250 consultants cover all major industries and provide continued operational support and maintenance for more than 150 companies. We're in the SAP Hall of Fame and have been awarded Expert status in SAP's Competency Framework. Together with our customers, we've won 13 SAP Quality Awards, and received the Partner Excellence Award in 2020 and 2021.</P><H4 id="toc-hId-855940123"><STRONG>Integration Content published:</STRONG></H4><P style=" padding-left : 30px; "><A href="https://hub.sap.com/package/SAPSuccessFactorsEmployeeCentralIntegrationwithSAPConcur/overview" target="_self" rel="noopener noreferrer"><SPAN>SAP SuccessFactors Employee Central Integration with SAP Concur</SPAN></A></P><P style=" padding-left : 30px; "><SPAN>SAP SuccessFactors Employee Central Integration with SAP Concur enables the replication of employee data from SAP SuccessFactors Employee Central to SAP Concur.</SPAN></P><DIV class="">&nbsp;<DIV class="">-----------------------------------------------------------------------------------------------------------------------------------------------<H3 id="toc-hId-530343899"><STRONG><SPAN>NTT DATA Business Solutions AG</SPAN></STRONG></H3><P>We understand the business of our clients and know what it takes to transform it into the future. At NTT DATA Business Solutions AG, we drive innovation for more than 30 years - from advisory and implementation to managed services and beyond; we continuously improve SAP solutions and technology to make them work for companies - and for their people.</P><H4 id="toc-hId-462913113"><STRONG>Integration Content published:</STRONG></H4><P style=" padding-left : 30px; "><A href="https://hub.sap.com/package/SAPLeanIXIntegrationwithSAPIntegrationSuite/overview" target="_self" rel="noopener noreferrer"><SPAN>SAP LeanIX Integration with SAP Integration Suite</SPAN></A></P><P style=" padding-left : 30px; "><SPAN>This integration package is designed to synchronize data between SAP LeanIX and Integration Assessment, focusing primarily on application and vendor information. Utilizing the powerful capabilities of the SAP Integration Suite, this synchronization process ensures a seamless, secure, and up-to-date data flow. This enhances the accuracy and efficiency of IT integration strategies, providing comprehensive insights for integration assessments.</SPAN></P><P><SPAN>-----------------------------------------------------------------------------------------------------------------------------------------------</SPAN></P><H3 id="toc-hId-137316889"><STRONG><SPAN>eMudhra Technologies Limited</SPAN></STRONG></H3><P>eMudhra recognizes the importance of robust digital security. We're here to guide you through our specialized solutions for digital security and identity management.</P><H4 id="toc-hId-69886103"><STRONG>API Content published:</STRONG></H4><P style=" padding-left : 30px; "><A href="https://hub.sap.com/package/emSigner/overview" target="_self" rel="noopener noreferrer">emSigner</A></P><P style=" padding-left : 30px; "><SPAN>This package supports different signature types and ensures robust security measures, making it an ideal solution for diverse sectors. By streamlining document signing workflows, it not only automates processes but also reduces paperwork significantly.</SPAN></P><P><SPAN>------------------------------------------------------------------------------------------------------------------------------------------</SPAN></P><P><SPAN>If you are interested in&nbsp;<STRONG>Partnering with SAP Business Accelerator Hub, </STRONG>please refer to this <A href="https://hub.sap.com/partnerwithus" target="_self" rel="noopener noreferrer">section</A> and <A href="https://discovery-center.cloud.sap/missiondetail/4378/" target="_self" rel="nofollow noopener noreferrer">discover center mission</A> for more details.&nbsp;</SPAN></P><P><SPAN>Stay tuned for further updates and information by the end of the next quarter!</SPAN></P></DIV></DIV></DIV></DIV></DIV></DIV></DIV></DIV> 2024-04-03T10:59:59.828000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046 Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content 2024-04-20T18:48:27.667000+02:00 Archana https://community.sap.com/t5/user/viewprofilepage/user-id/15812 <P><A href="https://www.sap.com/india/products/technology-platform/process-automation/features.html" target="_self" rel="noopener noreferrer">SAP Build Process Automation</A> is one the three services of SAP Build. SAP Build is a low-code and no-code solution of SAP that provides services and capabilities to create applications, automate tasks and processes and design business sites with drag-and-drop approach and simple configurations.</P><P>With low-code no-code tools, SAP is already helping organizations to accelerate their developer efficiency thereby addressing the challenges faced by scarcity in skilled developers and empowering citizen developers or non-IT developers to contribute to the application and process development.</P><P>To further accelerate the solution development, SAP Build has published wide variety of pre-built content packages across different industries and line of businesses on common identified whitespaces. These <STRONG>450+ pre-built content can be explored from SAP Business Accelerator Hub</STRONG> where the content is published by SAP (available for free) and by our partners (available with price).</P><P>Each content package contains pre-built processes/workflows, business rules, automations, business monitoring dashboards, UI5 applications, DOX (document extraction) templates and many other artifacts that are needed for the pre-built use case. Organizations can import and configure these content packages – for free – without writing even a single line of code. &nbsp;</P><P>Isn’t that what you want when you are working on common scenarios like creating and managing business partners, dealing with mass maintenance of billing blocks in sales orders, or working with journal entry external approvals before posting or invoices processing etc.</P><P>If you too are planning to start development on any new scenarios or upgrade existing scenarios in Finance, Procurement, Human Resources, Sales, Asset Management, Manufacturing etc. in your organization, then this blog will help you to kick-start your project with pre-built content.</P><P>In this blog, you will find answers to all the queries on the content like where can I discover the content, how to search for the right content, what is SAP Store and how is it different from Business Accelerator Hub, how to import the content, can the content be extended, where to get the support, how to publish content as a partner and many more. If you still do not find the answer, then please leave a comment and I will address it.</P><P>Let us start with very basic query:</P><H3 id="toc-hId-1121753405"><STRONG>Why Pre-Built Content? </STRONG></H3><P>You may ask why we should go for pre-built content when I have an IT team or implementation partner to build the same use case. Valid point! An enterprise solution requires an IT team or team of professional or solution developers to create an end-to-end use case. There are many building blocks to an enterprise solution. They can create these building blocks using SAP Build or SAP BTP tools and services. But it takes time!</P><P>Pre-built content just helps these teams to accelerate their development by saving resources, saving time to market, having a modularized approach, and reducing waste with less coding and testing efforts. Then why not leverage the enterprise ready template or ready-to-use pre-built content that are available for free, aligned with SAP best practices and having full scope of customization and extension.</P><P>I strongly recommend my customers and stakeholders, to look for the pre-built content for their industry use cases, import them, extend them if needed and finally integrate them with their applications or other components of their solutions.</P><P>… now you will wonder where to look for these pre-built content?</P><H3 id="toc-hId-925239900"><STRONG>How to find the right content? </STRONG></H3><P>SAP Build content can be discovered from:</P><UL><LI><STRONG>SAP Business Accelerator Hub</STRONG> from the following direct link: <A href="https://hub.sap.com/build" target="_blank" rel="noopener noreferrer">https://hub.sap.com/build</A>&nbsp;<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 1.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99399i7864CAD97C9761BA/image-size/large?v=v2&amp;px=999" role="button" title="Picture 1.png" alt="Picture 1.png" /></span><BR /><P>&nbsp;</P></LI><LI><STRONG>Store</STRONG> option in SAP Build Process Automation subscription application.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 2.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99413i73C969DCF86061EE/image-size/large?v=v2&amp;px=999" role="button" title="Picture 2.png" alt="Picture 2.png" /></span><SPAN>where </SPAN><EM>SAP Business Accelerator Hub</EM><SPAN> store is free to explore which means that you can navigate through the store without the need for license of SAP Build or Build Process Automation service but for embedded </SPAN><EM>Store</EM><SPAN> option you will need SAP Build or Build Process Automation service subscription.</SPAN></LI></UL><P>Let me start with Business Accelerator Hub options and same steps will apply for embedded store as well.</P><P>When you reach to the Business Accelerator Hub – SAP Build Domain page, you will be provided with search and filter options on the left panel. Using these options, you can filter the content or direct type in the search-term to find the content you are looking for.</P><P>For example: I want to search for all Finance content, so I will expand Line of Business section and select Finance and you will get the list of related content.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 3.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99414iB246FDC7D23568FB/image-size/large?v=v2&amp;px=999" role="button" title="Picture 3.png" alt="Picture 3.png" /></span></P><P>Another example: let us say you know the few terms based on your use case, then you can directly write in search-text. Say Fixed Asset</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 4.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99416iB4D5CFCD1AC10C16/image-size/large?v=v2&amp;px=999" role="button" title="Picture 4.png" alt="Picture 4.png" /></span></P><P>Go across all the results to find the right content by looking at the title and the description. If you want to know more about the content, then click on content tile and it will take you to the details.</P><UL><LI>In the <STRONG>overview</STRONG>, you will find the long description of the content which explain what this content does and how it extends the standard solution, including a solution diagram<BR />(which explains the component interactions)</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 5.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99417iA511445B1F9D21FE/image-size/large?v=v2&amp;px=999" role="button" title="Picture 5.png" alt="Picture 5.png" /></span></P><UL><LI>On switching to <STRONG>Artefacts</STRONG>, it gives an overview of complete list of artefacts it bundles. These are the artefacts that you will configure and extend after importing the content.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 6.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99418i6B70570AE7E832D8/image-size/large?v=v2&amp;px=999" role="button" title="Picture 6.png" alt="Picture 6.png" /></span></P><UL><LI><STRONG>Documents</STRONG> section provides a detailed step-by-step setup and configuration guide. This will be needed once you decide to use the content. It is the first set of instructions you will need to consume the content in your project.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 7.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99419i0D5CF0AE2FC34CA5/image-size/large?v=v2&amp;px=999" role="button" title="Picture 7.png" alt="Picture 7.png" /></span></P><H3 id="toc-hId-728726395"><STRONG>How to import and use the content? </STRONG></H3><P>To import the content, you will need respective SAP Build service. For now, as most of the content is based on capabilities of SAP Build Process Automation service so:&nbsp;</P><OL><LI>First thing you have to do is <STRONG>install SAP Build Process Automation</STRONG>, if you do not have the subscription already ( follow this <A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/initial-setup?locale=en-US" target="_blank" rel="noopener noreferrer">help documentation</A> to setup the service in your enterprise or trial account )<BR /><BR /></LI><LI>Open SAP Build Process Automation subscription application which will take you to Lobby. From Lobby, click to <STRONG>open Store</STRONG> from the left panel.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 8_.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99420iD32A7DBC136511D1/image-size/large?v=v2&amp;px=999" role="button" title="Picture 8_.png" alt="Picture 8_.png" /></span><BR /><BR /></LI><LI>Store or embedded Store provides the view of only SAP Build content packages as seen in SAP Business Accelerator Hub, with options to import the content. Here as well you can filter or directly search the content with search-text. Same experience as from accelerator hub.<BR /><BR />note: you will notice button options like Create from Template, Add or both.</LI></OL><UL><LI><STRONG>Add</STRONG> option is shown for ready-to-use content which means these content packages are imported as-is and only minimum configurations are allowed.</LI><LI><STRONG>Create from Template </STRONG>is shown for template content which means the new business project will be created from this template, and you get full scope for any customization or extension.</LI><LI>There will be few contents which has both options, which means you can use them as ready-made, or template based on your requirements.<BR /><BR />you can find more details on these metadata properties <A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/using-store?locale=en-US" target="_blank" rel="noopener noreferrer">here</A>.</LI></UL><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 9.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99421iE08F61B3F3C4D4A9/image-size/large?v=v2&amp;px=999" role="button" title="Picture 9.png" alt="Picture 9.png" /></span></P><P style=" padding-left : 30px; ">4.&nbsp; Import the content using <STRONG>Add</STRONG> or <STRONG>Create from Template</STRONG> one-click action.<BR /><BR />Important Note: You must follow the setup and configuration guide ( attached with each content) to ensure that you have created and configured all the needed mandatory artefacts like destinations to connect to S/4HANA system, embedded UI5 application as Start tile in Work Zone, setup cloud connectors for any on-premise based content etc.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 11.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99423iA3FA44E747D2C377/image-size/large?v=v2&amp;px=999" role="button" title="Picture 11.png" alt="Picture 11.png" /></span></P><P style=" padding-left : 30px; ">5. Once the content is imported in the Lobby, you can navigate into the respective project to <STRONG>configure, customize, or extend the content</STRONG><BR /><BR />All the artefacts, templates (excel, PDF or DOX) and source-code (for SAPUI5 apps, CAP models etc.) are provided to you with the imported business project. You can now follow the documentation to first configure the mandatory artifacts, as explained in the document and then choose to extend it based on the requirements or use it with the minimum configuration.<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 12.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99424iE6557F0E2CB218D9/image-size/large?v=v2&amp;px=999" role="button" title="Picture 12.png" alt="Picture 12.png" /></span></P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 13.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99425iFAD13C529DD3B97D/image-size/large?v=v2&amp;px=999" role="button" title="Picture 13.png" alt="Picture 13.png" /></span></P><P>That’s it, that it all it needs to use the SAP Build content. If you haven’t explored them yet I would recommend trying them out in your ongoing or next project – and I am sure you will be pleasantly surprised with the variety of the content and how much it helps you ease your work.</P><P>-----------------------------------------</P><P>Let me now cover some commonly asked questions:</P><P style=" padding-left : 30px; "><STRONG>1. How to get support for the content?</STRONG></P><P style=" padding-left : 30px; ">Not all contents are supported. The content that are supported, the respective support information is provided in the documentation. It will either be an email or support component where you can raise ticket for any bug or consultation.</P><P style=" padding-left : 30px; "><STRONG>2. What is difference between SAP Store and SAP Business Accelerator Hub? </STRONG></P><P style=" padding-left : 30px; ">For SAP Build Process Automation content, SAP Store is the commercial hub which means any partner or LoB who wants to publish a paid content – will have to publish the content in SAP Store. The same gets replicated in SAP Business Accelerator Hub or embedded Store. You cannot directly import the paid content from the embedded Store.<BR /><BR />You will notice the <STRONG>Buy</STRONG> option for such content when opened in the embedded store. Clicking this option takes you to SAP Store – which means you must first buy the content from respective vendor, and they will provide instructions to use the content.</P><P style=" padding-left : 30px; "><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture 14.png" style="width: 904px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/99426i30F4B71C3151EE2F/image-size/large?v=v2&amp;px=999" role="button" title="Picture 14.png" alt="Picture 14.png" /></span></P><P style=" padding-left : 30px; "><STRONG>3. Can customer or partner publish the content? </STRONG></P><P style=" padding-left : 30px; ">Currently only partners can create and publish the content in the store. All the guidance to publish the SAP Build Process Automation content is available in Partner Edge portal.</P><P>-----------------------------------------</P><P>In upcoming blogs, you will find interesting details on some of our selective and most-sought-after content for different industries. Concluding this blog with some important links that will help you learn further:</P><UL><LI><A href="https://help.sap.com/docs/build-process-automation/sap-build-process-automation/using-store?locale=en-US" target="_self" rel="noopener noreferrer">SAP Help Documentation</A></LI><LI><A href="https://www.youtube.com/watch?v=IVr9JYUtvu4" target="_self" rel="nofollow noopener noreferrer">Devtoberfest Session on Pre-Built Content</A></LI><LI><A href="https://www.youtube.com/watch?v=yn1qGpoaOEA" target="_self" rel="nofollow noopener noreferrer">Using Pre-built Content From Store (YouTube)</A></LI><LI><A href="https://help.sap.com/whats-new/190af73e1b314925bc5f3bf8751fc9ce" target="_self" rel="noopener noreferrer">What's New (for newly published content)</A></LI></UL> 2024-04-20T18:48:27.667000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/sap-build-process-automation-pre-built-content-for-finance-use-cases/ba-p/13681719 SAP Build Process Automation Pre-built content for Finance Use cases 2024-04-25T08:07:03.067000+02:00 rashmi_mavinakere https://community.sap.com/t5/user/viewprofilepage/user-id/348026 <P>The definition of pre-built content, how it helps your business to jump-start your automation development and how to discover them is explained in the blog, ‘<A href="https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046" target="_blank">Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content’</A></P><P>This blog covers the pre-built content for finance use cases specifically.</P><P>Financial operations refer to the management of finances and resources within a company. These operations include, accounting, budgeting, cash management, financial forecasting etc. They are the backbone of any organization and require strong and robust solutions to accomplish them.</P><P>SAP S/4HANA Finance is SAP’s flagship financial solution. There are many competitive and core features of S/4HANA Finance that helps you solve your Finance and Accounting requirements.</P><P>Though SAP S/4HANA Finance solution offers various solutions for widely used finance operations across the industries, there are some features that must be extended with BTP with side-by-side extension approach in order to solve customer requirements.</P><P>Side-by-side extensions mean extension and integration with custom or standard business applications of the SAP Business Technology Platform (BTP). This is either via stable APIs or through business events from an SAP product, for example, SAP S/4HANA.</P><P>SAP Build Process Automation is used along with the SAP S/4HANA Finance application as a side-by-side extension, to solve complex business use cases that are not planned in the near future as a feature in SAP S/4HANA Finance module. These are identified and validated as a white space in the SAP S/4HANA finance product. Examples of the processes include, Mass processing of Accruals, Creation of Supplier Invoice by Reference Invoice, External Approval while posting Journal Entry etc.</P><P>Currently there are 100+ finance use cases for which pre-built content exists in SAP Business Accelerator Hub</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101658i17295786AB7A1448/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></P><P>These are the widely used use cases in finance industry across various organizations and sectors.</P><P>They can be used with no or very minimal changes which makes it as industry best practice.</P><P>In order to discover the finance use cases, follow the steps mentioned in the blog <A href="https://community.sap.com/t5/technology-blogs-by-sap/accelerate-business-process-development-with-sap-build-process-automation/ba-p/13677046" target="_blank">‘Accelerate Business Process Development with SAP Build Process Automation Pre-Built Content’</A></P><P>Or you can simply use the below link to see them in SAP Business Accelerator Hub.</P><P><A href="https://api.sap.com/build?$filter=(LinesOfBusiness:%5B%22Finance%22%5D,ProjectTypeHierarchy:%5B%22Process%3ETask%20Automation%22,%22Process%3EBusiness%20Process%22,%22Process%3ELive%20Process%22%5D)" target="_blank" rel="noopener noreferrer">https://api.sap.com/build?$filter=(LinesOfBusiness:%5B%22Finance%22%5D,ProjectTypeHierarchy:%5B%22Process%3ETask%20Automation%22,%22Process%3EBusiness%20Process%22,%22Process%3ELive%20Process%22%5D)</A></P><H2 id="toc-hId-993422098">Explaining some of the SAP S/4HANA Finance Use-cases:</H2><P>&nbsp;</P><H3 id="toc-hId-925991312">1: Journal Entry Posting Approval</H3><P>A journal entry records financial transactions that a business engages in throughout the accounting period. These entries serve as the initial step to create ledgers and trial balances. <A href="https://www.myaccountingcourse.com/accounting-cycle/journal-entries" target="_blank" rel="noopener nofollow noreferrer">Eventually, they are used to compile a full set of financial statements for the company</A>.</P><P>This pre-built content covers the capability to validate the journal entry details and based on the document checks, it is posted to SAP S/4HANA on-premise system.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture2.png" style="width: 899px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101659iD7DD44349772A103/image-size/large?v=v2&amp;px=999" role="button" title="Picture2.png" alt="Picture2.png" /></span></P><P>This template automates the posting of journal entries to general ledger accounts like making adjustment entries during period end closing or recording business transactions that do not have a source of document etc. It has the below features:</P><UL><LI>StartUI for data input used for entering the journal entry details with create or upload options</LI><LI>TaskUI approval form for the journal entry approval.</LI><LI>Approval process for approval of journal entry data by determined approver(s) that need to be posted to SAP S/4HANA.</LI><LI>Automations for document check &amp; document post.</LI><LI>Decisions to determine approvers to approve the journal entries.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdev.journalentrypostingapproval/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P><A href="https://www.bing.com/videos/riverview/relatedvideo?&amp;q=SAP+Build+process+automation+journal+entry+approval&amp;&amp;mid=51E00F0E6AE8DFB41FA851E00F0E6AE8DFB41FA8&amp;&amp;FORM=VRDGAR" target="_blank" rel="noopener nofollow noreferrer">YouTube video for Journal Entry Posting Approval Process</A></P><P>&nbsp;</P><H3 id="toc-hId-729477807">2: Mass Fixed Asset Acquisition</H3><P>Business organizations need to acquire long-term assets for their business, which is known as Fixed Asset acquisition. Examples include purchasing machinery, furniture, land and buildings, software, vehicles, or other tangible investments that will be used for a period of more than one year. The fixed asset acquisition process involves researching and evaluating potential purchases to ensure they are necessary and appropriate for the business, negotiating terms, obtaining approvals, managing the payment and delivery processes, and recording details in the books of accounts.</P><P>This pre-built content enables business experts to accelerate the mass asset acquisition posting process.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture3.png" style="width: 871px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101661iA53FCBDD637DC90B/image-size/large?v=v2&amp;px=999" role="button" title="Picture3.png" alt="Picture3.png" /></span></P><P>This template facilitates the creation of Mass Fixed Asset Acquisition and has the following features:</P><UL><LI>Start UI screen, to collect the initial selection criteria (Download/Upload) so that required fixed asset acquisition data can be read from SAP S/4HANA Cloud system.</LI><LI>Once the data is read, it is stored in an excel sheet in a specified folder as provided by the requestor of the process.</LI><LI>The data can be reviewed/enhanced by the user and upload it again in the Start UI so that approval workflow gets triggered.</LI><LI>Once the approval is provided by the decision determined approver, the new data gets posted into SAP S/4HANA Cloud system.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdevacc.massfixedassetacquisition2/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>&nbsp;</P><H3 id="toc-hId-532964302">3: Mass Creation of Bank Master</H3><P>Bank master data includes essential details about banks that your company interacts with, such as their addresses, control data, and unique identifiers. This data is maintained once and reused across transactions without frequent changes.</P><P>Bank master creation&nbsp;in SAP refers to the process of setting up and maintaining information related to banks within the SAP system.</P><P>This pre-built content enables businesses to create bank master in an automated way after approval is provided by a designated approver.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture4.jpg" style="width: 903px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101662i9FDF69F1AADF76C4/image-size/large?v=v2&amp;px=999" role="button" title="Picture4.jpg" alt="Picture4.jpg" /></span></P><P>This template facilitates read and create of the bank master in SAP S/4HANA cloud system and has the following features:</P><UL><LI>Check the email with attachment of excel file and save it in a specified folder.</LI><LI>Read the excel file and check the existing bank master data in SAP S/4HANA cloud system.</LI><LI>If data already exists in the SAP S/4HANA cloud system, then details are copied from the system and sent to the requester to review. If details are not existing in the system, an approval flow is triggered so that approver reviews bank master and take a decision on approval.</LI><LI>Once approval is done, data is added into SAP S/4HANA Cloud system.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdevacc.masscreationofbankmaster/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>&nbsp;</P><H3 id="toc-hId-336450797">4: Manage Invoices without Purchase Order</H3><P>Businesses use non-PO invoice that doesn’t have any associated Purchase Orders (PO), which are usually the result of spending outside of the usual procurement process.</P><P>A non-PO invoice, as opposed to a PO-based invoice, hasn’t been pre-approved and, therefore, needs to go through the invoice approval process within the purchasing department.</P><P>This pre-built content enables SAP ERP customers to automate the creation and update of non- PO Vendor Invoice in a transparent approach and provide flexibility to meet business requirements. It includes processes, decisions, automation, and visibility scenario artefacts.</P><P><U>SOLUTION ARCHITECTURE:</U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture5.png" style="width: 728px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/101664i8EB86A2A1A295F36/image-size/large?v=v2&amp;px=999" role="button" title="Picture5.png" alt="Picture5.png" /></span></P><P>This template contains API trigger that triggers the process with required invoice details that is submitted from SAP UI5 application form. The template has the following features:</P><UL><LI>The SAP UI5 screen has invoice details of header and item level, attachments and comments, which can be used to fill details of the invoice and trigger the process.</LI><LI>Invoice data can be validated with decisions that provide easy &amp; flexible use of business validation.</LI><LI>Approver(s) &amp; watcher(s) are notified via email about the request.</LI><LI>This template also uses a decision to group invoice item details for delegation of approval request to the responsible approvers.</LI></UL><P>You can add the pre-built content into your tenant and explore more details via the below link.</P><P><A href="https://api.sap.com/package/eu10.storecontentdev.manageinvoiceswithoutpurchaseorder2/overview" target="_blank" rel="noopener noreferrer">Link to the template in Business Accelerator Hub</A></P><P>Other interesting use cases that you may want to explore in SAP Business Accelerator Hub with respect to Finance LOB are:</P><P>1: <A href="https://api.sap.com/package/eu10.storecontentdev.centralfinancemappingscfinmapping/overview" target="_blank" rel="noopener noreferrer">Central Finance Mappings (CFIN Mapping)</A></P><P>SAP Central Finance is used as a single repository of financial accounting. It replicates the master data from different source systems into SAP Central Finance running on&nbsp;<STRONG>SAP S/4HANA RISE (private cloud).</STRONG></P><P>This template automates the process of mapping, replication and is also capable of resolving issues that may occur or provide insight into the issue which would assist an analyst in resolving it.</P><P>This pre-built content is maintained by Central Finance team.</P><P>2: <A href="https://api.sap.com/package/eu10.sapprocessautomationtfe.centralfinancesltbot/overview" target="_blank" rel="noopener noreferrer">Safe Deactivation Procedure for Central Finance Replication</A></P><P>Central Finance uses SAP Landscape Transformation Replication Server (SLT) to transfer data between Source System(s) and the Central Finance system.&nbsp;In a standard replication, users simply deactivate and reactivate replication. However, Central Finance recommends a multi-step procedure for safe deactivation and reactivation.</P><P>This template helps in identifying and performing safe deactivation and reactivation of central and non-central finance replication. Creation of log for the execution and facilitates to send email to designated recipients.</P><P>This pre-built content is maintained by Central Finance team.</P><P>3: <A href="https://api.sap.com/package/eu10.storecontentdevtcs09ba46kh.creationofsupplierinvoicebyreferenceinvoice/overview" target="_blank" rel="noopener noreferrer">Creation of Supplier Invoice by Reference Invoice</A></P><P>Businesses need to create supplier invoices with reference to preceding documents, such as purchase orders, goods and services receipts, inbound deliveries, or purchasing contracts.</P><P>This pre-built content streamlines and automates the process of supplier invoice creation with variable amount by monthly / weekly reference invoice within the SAP S/4HANA public cloud system.</P> 2024-04-25T08:07:03.067000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/on-the-lookout-with-sap-btp-core-services-cis-patrol/ba-p/13683235 On the lookout with SAP BTP Core services. Cis patrol. 2024-05-05T12:44:00.943000+02:00 quovadis https://community.sap.com/t5/user/viewprofilepage/user-id/743 <H2 id="toc-hId-993476933">On the lookout with SAP BTP Core services. SAP Cloud Management Service (cis).</H2><P><SPAN class="">SAP BTP</SPAN> provides both<A href="https://api.sap.com/odata/1.0/catalog.svc/ContentEntities.ContentPackages('SAPCloudPlatformCoreServices')/Artifacts?$format=json" target="_blank" rel="noopener noreferrer"> REST APIs</A>&nbsp;and <A href="https://help.sap.com/docs/btp/sap-business-technology-platform/account-administration-using-sap-btp-command-line-interface-btp-cli" target="_blank" rel="noopener noreferrer">btp CLI</A> that help automate administrative tasks on the global account, directory, and sub-account level, such as creating or updating sub-accounts, monitoring usage information, managing access, and managing service resources.</P><P>Let's see how&nbsp;<A href="https://help.sap.com/docs/btp/sap-business-technology-platform/account-administration-using-sap-btp-command-line-interface-btp-cli" target="_blank" rel="noopener noreferrer">Account Administration Using btp CLI</A>&nbsp;and&nbsp;<A href="https://help.sap.com/products/BTP/65de2977205c403bbc107264b8eccf4b/1c8db1483d914cd99047aac5280f61ea.html" target="_blank" rel="noopener noreferrer">Account Administration Using APIs</A>&nbsp;access methods can be combined to work together by example of SAP Cloud Management service.</P><H3 id="toc-hId-926046147"><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#file-sap-cloud-management-service-md" target="_blank" rel="noopener nofollow noreferrer"><SPAN>SAP BTP easy peasy lemon squeezy with BTP core services.</SPAN></A></H3><P>&nbsp;</P><TABLE border="1"><TBODY><TR><TD>Table of Contents<OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#btp-login" target="_blank" rel="noopener nofollow noreferrer">get access to your BTP account/subaccount with btp CLI</A></LI><OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#add-entitlements" target="_blank" rel="noopener nofollow noreferrer">add relevant service plans to your subaccount entitlements (optional)</A>.</LI><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#cis-enable" target="_blank" rel="noopener nofollow noreferrer">create SAP Cloud Management service (cis) service instance and binding</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#dest-local" target="_blank" rel="noopener nofollow noreferrer">create SAP Destination definition from SAP Cloud Management binding.</A></LI><OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#cis-credentials" target="_blank" rel="noopener nofollow noreferrer">retrieve the cis service `credentials` from the binding data</A>.</LI><LI><A href="#dest-param" target="_blank" rel="noopener nofollow noreferrer">create destination definitions payload with cis-local service credentials</A>.</LI><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#create-dest" target="_blank" rel="noopener nofollow noreferrer">create destinations on subaccount level</A></LI><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#swz-enable" target="_blank" rel="noopener nofollow noreferrer">create SAP Workzone application subscription</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#provisioning_service" target="_blank" rel="noopener nofollow noreferrer">SAP Provisioning service</A></LI><OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#provisioning_service_token" target="_blank" rel="noopener nofollow noreferrer">get SAP Provisioning service access token.</A></LI><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#provisioning_service_api" target="_blank" rel="noopener nofollow noreferrer">access SAP Provisioning service APIs with a built-in swagger ui</A>.</LI><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#provisioning_service_dest" target="_blank" rel="noopener nofollow noreferrer">access SAP Provisioning service APIs via a dynamic_dest route</A>.</LI></OL><LI><A href="https://gist.github.com/ptesny/5a4d36b3a703b48301d1ed4f44356a24#documentation" target="_blank" rel="noopener nofollow noreferrer">Documentation.</A></LI></OL></TD></TR></TBODY></TABLE><P>PS. The destination service is your best (BTP) friend.&nbsp;</P><P>The below destination definitions offer an elegant way of using both environment provisioning and saas management services either via automation and/or programmatically:</P><P>&nbsp;</P><pre class="lia-code-sample language-json"><code>{ "init_data": { "subaccount": { "destinations": [ { "Description": "cis-httpbin", "Type": "HTTP", "clientId": "***", "HTML5.DynamicDestination": "true", "HTML5.Timeout": "60000", "Authentication": "OAuth2ClientCredentials", "Name": "cis-httpbin", "tokenServiceURL": "https://&lt;subdomain&gt;.authentication.&lt;region&gt;.hana.ondemand.com/oauth/token", "ProxyType": "Internet", "URL": "https://httpbin.org", "tokenServiceURLType": "Dedicated", "clientSecret": "***" }, { "Description": "SAP Cloud Management Service APIs", "Type": "HTTP", "clientId": "***", "HTML5.DynamicDestination": "true", "HTML5.Timeout": "60000", "Authentication": "OAuth2ClientCredentials", "Name": "saas-manager", "tokenServiceURL": "https://&lt;subdomain&gt;.authentication.&lt;region&gt;.hana.ondemand.com/oauth/token", "ProxyType": "Internet", "URL": "https://saas-manager.cfapps.&lt;region&gt;.hana.ondemand.com", "tokenServiceURLType": "Dedicated", "clientSecret": "***" { "Description": "SAP Cloud Management Service APIs", "Type": "HTTP", "clientId": "***", "HTML5.DynamicDestination": "true", "HTML5.Timeout": "60000", "Authentication": "OAuth2ClientCredentials", "Name": "provisioning-service", "tokenServiceURL": "https://&lt;subdomain&gt;.authentication.&lt;region&gt;.hana.ondemand.com/oauth/token", "ProxyType": "Internet", "URL": "https://provisioning-service.cfapps.&lt;region&gt;.hana.ondemand.com", "tokenServiceURLType": "Dedicated", "clientSecret": "***" }, } ], "certificates": [ ], "existing_certificates_policy": "update", "existing_destinations_policy": "update" } } }</code></pre><P>&nbsp;</P><P>For instance, that's how one could provision a kyma runtime environment if <STRONG>kymaruntime</STRONG> service entitlement were available with a subaccount:</P><UL><LI>check kymaruntime availability:</LI></UL><P>&nbsp;</P><pre class="lia-code-sample language-bash"><code>https://&lt;subdomain&gt;.launchpad.cfapps.&lt;region&gt;.hana.ondemand.com/dynamic_dest/provisioning-service/provisioning/v1/availableEnvironments</code></pre><P>&nbsp;</P><UL><LI>create <STRONG>kymaruntime-trial-plan.json</STRONG>&nbsp;file with the following content:</LI></UL><P>&nbsp;</P><pre class="lia-code-sample language-json"><code>{ "description": "Trial", "environmentType": "kyma", "name": "quovadis", "parameters": { "name": "quovadis", "modules": { "list": [ { "name": "api-gateway", "channel": "regular" }, { "name": "istio", "channel": "regular" }, { "name": "btp-operator", "channel": "regular" }, { "name": "serverless", "channel": "regular" }, { "name": "connectivity-proxy", "channel": "regular" } ] }, "administrators": [ "admi1@acme.com", "admi2@acme.com", "admiN@acme.com" ], "oidc": { "clientID": "&lt;OIDC clientID&gt;", "groupsClaim": "groups", "issuerURL": "&lt;OIDC issuerURL&gt;", "signingAlgs": [ "RS256" ], "usernameClaim": "sub", "usernamePrefix": "-" } }, "planName": "trial", "serviceName": "kymaruntime", "user": "&lt;btp-account-admin-email-address&gt;" }</code></pre><P>&nbsp;</P><UL><LI>provision <STRONG>kymaruntime</STRONG> service with a <STRONG>trial</STRONG> plan:</LI></UL><P>&nbsp;</P><pre class="lia-code-sample language-json"><code>curl -i -X POST https://&lt;subdomain&gt;.launchpad.cfapps.&lt;region&gt;.hana.ondemand.com/dynamic_dest/provisioning-service/provisioning/v1/environments \ -H "Content-Type: application/json" \ -d @kymaruntime-trial-plan.json</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-05-05T12:44:00.943000+02:00