https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/Cloud-blog-posts.xmlSAP Community - Cloud2026-04-10T14:00:13.273037+00:00python-feedgenCloud blog posts in SAP Communityhttps://community.sap.com/t5/technology-blog-posts-by-members/linux-shell-script-for-automating-graceful-startup-and-shutdown-of-sap/ba-p/14234324Linux Shell Script for automating graceful startup and shutdown of SAP S4HANA System2025-10-07T12:03:15.762000+02:00HemantVaswani6https://community.sap.com/t5/user/viewprofilepage/user-id/147458<P>Linux Shell Script for automating graceful startup and shutdown of SAP S4HANA [Only meant for Single Tier System] in SUSE Linux VMs/Instances inside cloud environment.</P><P> </P><P>This post is purely focusing on the OS level scripting and is not associated with nor related with any of the cloud console level automation using serverless concepts, for example AWS Lambda.</P><P> </P><P>Running SAP S4HANA on virtual machines in cloud environments like Azure, AWS, or Google Cloud comes with its unique challenges—especially when it comes to starting and stopping services reliably and cost-effectively.</P><P> </P><P>As most of us are familiar, when a VM or Instance boots up,<SPAN> </SPAN><SPAN>post</SPAN><SPAN> </SPAN>the OS booting process, it’s critical to start the SAP HANA database *before* the SAP application to avoid issues/failures. Similarly, during a VM shutdown, the SAP application must stop *before* the database to ensure all processes close gracefully, preventing data corruption or downtime.</P><P> </P><P>Leaving SAP systems running idle can also cause unnecessary cloud billing, especially in PoC or Demo setups where uptime directly impacts costs.</P><P> </P><P>To address the above mentioned two of the key issues, I developed simple yet effective shell scripts that automate the controlled start and stop sequence of SAP S4HANA based on the VM’s lifecycle. These scripts can be manually invoked or integrated into cloud startup/shutdown hooks, ensuring SAP services respond correctly whenever the OS boots or halts.</P><P> </P><P>This automation enhances reliability and saves effort and rework by enabling the graceful shutting down of SAP S4HANA App and DB.</P><P> </P><P>Here’s how it works:</P><P>To achieve the above-mentioned automation, you need to follow the steps mentioned below</P><P> </P><OL><LI> <SPAN> </SPAN>Logon with<SPAN> </SPAN><STRONG>root</STRONG><SPAN> </SPAN>user on the VM/instance where SAP DB & Application is hosted.</LI><LI> <SPAN> </SPAN>Gain the clean root environment with default variables and path using the command:<SPAN> </SPAN><SPAN><STRONG>sudo</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>su</SPAN><SPAN> </SPAN>-</STRONG></LI><LI> <SPAN> </SPAN>Navigate to the path:<SPAN> </SPAN><STRONG>/<SPAN>etc</SPAN>/<SPAN>systemd</SPAN>/system/</STRONG></LI><LI><STRONG> <SPAN> </SPAN></STRONG><STRONG>vi sap-s4hana.service</STRONG></LI><LI> <SPAN> </SPAN>enter the following contents in this file.</LI></OL><P><STRONG>Note:</STRONG><SPAN> </SPAN>Please refer to the path used in this file content, you need to use same or in case you want to change the<SPAN> </SPAN><STRONG>path or file naming convention etc.</STRONG>, you may document the changes accordingly.</P><P> </P><P>[Unit]</P><P>Description=SAP S/4HANA single-tier startup/shutdown orchestrator (HANA + App)</P><P>After=<SPAN>network.target</SPAN></P><P> </P><P>[Service]</P><P>Type=<SPAN>oneshot</SPAN></P><P>ExecStart=<STRONG>/usr/local/bin/sap-start.sh</STRONG></P><P>ExecStop=<STRONG>/usr/local/bin/sap-stop.sh</STRONG></P><P><SPAN>RemainAfterExit</SPAN>=yes</P><P><SPAN>TimeoutStartSec</SPAN>=1800</P><P><SPAN>TimeoutStopSec</SPAN>=1800</P><P> </P><P>[Install]</P><P><SPAN>WantedBy</SPAN>=multi-<SPAN>user.target</SPAN></P><P> </P><OL><LI> <SPAN> </SPAN>save the file</LI><LI> <SPAN> </SPAN>Update the permissions of this file:<SPAN> </SPAN><SPAN><STRONG>chmod</STRONG></SPAN><STRONG><SPAN> </SPAN>+x sap-s4hana.service</STRONG></LI><LI> <SPAN> </SPAN>Update file ownership of this file:<SPAN> </SPAN><SPAN><STRONG>chown</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>root:root</SPAN><SPAN> </SPAN>sap-s4hana.service</STRONG></LI><LI> <SPAN> </SPAN>For creating the shell script for starting the SAP S4HANA DB and SAP S4 Application, Navigate to the path:</LI></OL><P><STRONG>/<SPAN>usr</SPAN>/local/bin</STRONG></P><P><STRONG>vi sap-start.sh</STRONG></P><OL><LI>10<SPAN>. enter</SPAN><SPAN> </SPAN>the following contents in this file:</LI></OL><P><STRONG>Note:<SPAN> </SPAN></STRONG>Please refer to the path used in this file content, you need to use same or in case you want to change the path or naming convention, you may document the changes accordingly.</P><P><SPAN>Ensure</SPAN><SPAN> </SPAN>to update the<STRONG><SPAN> </SPAN></STRONG>relevant<SPAN> </SPAN><STRONG>user id, SAP SID, Instance Numbers<SPAN> </SPAN></STRONG>in this content,</P><P> </P><P><SPAN>#!/</SPAN>bin/bash</P><P>LOGFILE="<STRONG>/var/log/sap-start.log</STRONG>"</P><P>exec >> "$LOGFILE" 2>&1</P><P>echo "===== [$(date)] Starting SAP S/4HANA DB ====="</P><P># Start HANA DB</P><P><SPAN>sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<STRONG>XXX</STRONG>/HDB<STRONG>02</STRONG>/HDB start</P><P>echo "HANA DB start command executed."</P><P># Wait for DB</P><P><SPAN>sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>02</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>WaitforStarted</SPAN><SPAN> </SPAN><STRONG>600</STRONG></P><P>echo "HANA DB started successfully."</P><P>echo "===== [$(date)] Starting SAP Application ====="</P><P># Start SAP App</P><P><SPAN>sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>00</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>StartSystem</SPAN></P><P>echo "SAP Application start command executed."</P><P># Wait for SAP App</P><P><SPAN>sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>00</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>WaitforStarted</SPAN><SPAN> </SPAN><STRONG>300</STRONG></P><P>echo "SAP Application started successfully."</P><P>echo "===== [$(date)] SAP System Startup Completed ====="</P><OL><LI>11<SPAN>. save</SPAN><SPAN> </SPAN>the file</LI><LI>12<SPAN>. Update</SPAN><SPAN> </SPAN>the permissions of this file:<SPAN> </SPAN><SPAN><STRONG>chmod</STRONG></SPAN><STRONG><SPAN> </SPAN>777 sap-start.sh</STRONG></LI><LI>13<SPAN>. Update</SPAN><SPAN> </SPAN>the ownership of this file:<SPAN> </SPAN><SPAN><STRONG>chown</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>root:root</SPAN><SPAN> </SPAN>sap-start.sh</STRONG></LI></OL><P> </P><P> </P><P> </P><OL><LI>14<SPAN>. For</SPAN><SPAN> </SPAN>creating the shell script for stopping the SAP S4 Application & SAP S4HANA DB, continue in same folder, and follow the steps below:</LI></OL><P><STRONG>/<SPAN>usr</SPAN>/local/bin</STRONG></P><P><STRONG>vi sap-stop.sh</STRONG></P><OL><LI> <SPAN> </SPAN><SPAN>#!/</SPAN>bin/bash</LI><LI> <SPAN> </SPAN>LOGFILE=<STRONG>"/var/log/sap-stop.log”</STRONG></LI><LI>17<SPAN>. exec</SPAN><SPAN> </SPAN>>> "$LOGFILE" 2>&1</LI><LI>18<SPAN>. echo</SPAN><SPAN> </SPAN>"===== [$(date)] Stopping SAP Application ====="</LI><LI><SPAN> #</SPAN><SPAN> </SPAN>Stop SAP App</LI><LI>20<SPAN>. sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>00</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>StopSystem</SPAN></LI><LI>21<SPAN>. echo</SPAN><SPAN> </SPAN>"SAP Application stop command executed."</LI><LI><SPAN> #</SPAN><SPAN> </SPAN>Wait for SAP App</LI><LI>23<SPAN>. sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>00</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>WaitforStopped</SPAN><SPAN> </SPAN><STRONG>300</STRONG></LI><LI> <SPAN> </SPAN>echo "SAP Application stopped successfully."</LI><LI>25<SPAN>. echo</SPAN><SPAN> </SPAN>"===== [$(date)] Stopping HANA DB ====="</LI><LI><SPAN> #</SPAN><SPAN> </SPAN>Stop HANA DB</LI><LI> <SPAN> </SPAN><SPAN>sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<STRONG>XXX</STRONG>/HDB<STRONG>02</STRONG>/HDB stop</LI><LI>28<SPAN>. echo</SPAN><SPAN> </SPAN>"HANA DB stop command executed."</LI><LI><SPAN> #</SPAN><SPAN> </SPAN>Wait for DB</LI><LI>30<SPAN>. sudo</SPAN><SPAN> </SPAN>-u<SPAN> </SPAN><SPAN><STRONG>xxx</STRONG>adm</SPAN><SPAN> </SPAN>/<SPAN>usr</SPAN>/sap/<SPAN>hostctrl</SPAN>/exe/<SPAN>sapcontrol</SPAN><SPAN> </SPAN>-nr<SPAN> </SPAN><STRONG>02</STRONG><SPAN> </SPAN>-function<SPAN> </SPAN><SPAN>WaitforStopped</SPAN><SPAN> </SPAN><STRONG>600</STRONG></LI><LI>31<SPAN>. echo</SPAN><SPAN> </SPAN>"HANA DB stopped successfully."</LI><LI>32<SPAN>. echo</SPAN><SPAN> </SPAN>"===== [$(date)] SAP System Shutdown Completed ====="</LI><LI>33<SPAN>. save</SPAN><SPAN> </SPAN>the file</LI><LI>34<SPAN>. Update</SPAN><SPAN> </SPAN>the permissions of this file:<SPAN> </SPAN><SPAN><STRONG>chmod</STRONG></SPAN><STRONG><SPAN> </SPAN>777 sap-stop.sh</STRONG></LI><LI>35<SPAN>. Update</SPAN><SPAN> </SPAN>the ownership of this file:<SPAN> </SPAN><SPAN><STRONG>chown</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>root:root</SPAN><SPAN> </SPAN>sap-stop.sh</STRONG></LI><LI> <SPAN> </SPAN>During your copying of the above-mentioned commands and scripts in the<SPAN> </SPAN><SPAN>linux</SPAN><SPAN> </SPAN>host, quite often the files might get appended with carriage returns (^M , \r ), this can be concluded during checking of the above created files using the cat command, if<SPAN> </SPAN><SPAN>fould</SPAN>, you can use one of the following command to clean for each of the three files created above :</LI></OL><P><SPAN><STRONG>sudo</STRONG></SPAN><STRONG><SPAN> </SPAN>dos2unix filename</STRONG> <SPAN> [</SPAN>or]</P><P><SPAN><STRONG>sudo</STRONG></SPAN><STRONG><SPAN> </SPAN>sed -I ‘s/\r$//’ filename</STRONG></P><OL><LI>37<SPAN>. Further</SPAN><SPAN> </SPAN>to the completion of above steps, navigate to the path<SPAN> </SPAN><STRONG>/<SPAN>etc</SPAN>/<SPAN>systemd</SPAN>/system</STRONG></LI></OL><P><SPAN>sudo</SPAN><SPAN> </SPAN><SPAN>systemctl</SPAN><SPAN> </SPAN>daemon-reload</P><P><SPAN>sudo</SPAN><SPAN> </SPAN><SPAN>systemctl</SPAN><SPAN> </SPAN>enable sap-s4hana.service</P><OL><LI>38<SPAN>. If</SPAN><SPAN> </SPAN>you have not started the SAP S4HANA DB and S4 Application, you can proceed to execute</LI></OL><P><SPAN><STRONG>sudo</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>systemctl</SPAN><SPAN> </SPAN>start sap-s4hana.service</STRONG></P><P>By executing this command, you must check the progress of DB status and Application status using the<SPAN> </SPAN><SPAN><STRONG>sapcontrol</STRONG></SPAN><SPAN> </SPAN>command</P><OL><LI>39<SPAN>. Post</SPAN><SPAN> </SPAN>checking the proper starting of the SAP S4HANA DB and S4 Application, you can also check the proper stopping by executing the following command</LI></OL><P><SPAN><STRONG>sudo</STRONG></SPAN><STRONG><SPAN> </SPAN><SPAN>systemctl</SPAN><SPAN> </SPAN>stop sap-s4hana.service</STRONG></P><P>By executing this command, you must check the progress of DB status and Application status using the<SPAN> </SPAN><SPAN><STRONG>sapcontrol</STRONG></SPAN><SPAN> </SPAN>command</P><P><STRONG> </STRONG> </P><P>Why This Matters</P><P>- Protects SAP data integrity with clean startups and shutdowns </P><P>- Saves cloud costs, ideal for PoC / Demo / Dev environments </P><P>- Makes manual intervention unnecessary, cutting operational overhead</P>2025-10-07T12:03:15.762000+02:00https://community.sap.com/t5/technology-blog-posts-by-sap/sizing-your-success-a-guide-to-sap-cloud-erp-private/ba-p/14222599Sizing Your Success: A Guide to SAP Cloud ERP Private2025-10-13T08:08:25.486000+02:00Mursalovhttps://community.sap.com/t5/user/viewprofilepage/user-id/1811967<P>From my perspective, effective sizing is one of the most underestimated yet critical aspects of any SAP transformation. While SAP offers a standardized and well-defined architecture, every customer’s landscape, data footprint, and performance expectations are unique. This makes it essential for customers and their implementation partners to take ownership of sizing, validation, and optimization activities.</P><P>For SAP customers, partners, and technical teams navigating the shift to <STRONG>SAP S/4HANA</STRONG> and other solutions within <STRONG>SAP Cloud ERP Private</STRONG>, accurate system sizing is paramount. While SAP provides a globally consistent, standardized architecture, the responsibility for executing and validating sizing activities rests squarely with the <STRONG>customer and their implementation partners</STRONG>.</P><P>Ultimately, accurate sizing isn’t just a technical exercise; it’s a strategic enabler for stability, scalability, and long-term cost efficiency.</P><P>This guide demystifies SAP sizing, focusing on the core concepts, benefits, and practical methods within the SAP Cloud ERP Private landscape.<BR /><BR /></P><H1 id="toc-hId-1631813447"><STRONG>What is SAP Cloud ERP Private?</STRONG></H1><P><STRONG>SAP Cloud ERP Private</STRONG> is a cloud-based offering that marries the control of an on-premise system with the agility and efficiency of the cloud. It guides customers toward a <STRONG>clean core</STRONG> through standardized processes and modern extensibility via SAP Business Technology Platform (SAP BTP), and in-app extensibility tools.</P><P>I think the biggest advantage of running SAP on certified cloud infrastructure that <STRONG>SAP Cloud ERP Private </STRONG>oferring adheres to is how it simplifies everything — security, compliance, and support are all built in. It lets IT teams spend less time keeping the lights on and more time driving innovation. The key, though, is being ready to fully embrace the cloud mindset to get the most out of it.</P><P>For more information please refer to <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/understanding-the-distinct-scope-of-sap-cloud-erp-private/ba-p/14219721" target="_blank">Understanding the Distinct Scope of SAP Cloud ERP Private</A>.<BR /><BR /></P><H1 id="toc-hId-1435299942"><STRONG>General SAP Sizing Overview</STRONG></H1><P><STRONG>SAP sizing</STRONG> is the process of precisely determining the required hardware resources such as CPU, memory, storage, and network capacity to effectively support an SAP system based on specific business needs. It’s a blend of science, utilizing tools and calculations, and expert judgment to account for the unique context of each implementation.</P><P>Key aspects of sizing include:</P><UL><LI><STRONG>Translating Business Requirements:</STRONG> Starting with user counts, transaction volumes, data growth, and performance expectations.</LI><LI><STRONG>Hardware Determination:</STRONG> Calculating the required compute, memory, and storage.</LI><LI><STRONG>Iterative Process:</STRONG> Sizing isn't a one-time event. It must be revisited as the business and technology evolve. This is because sizing relies on assumptions and approximations about future usage, and it must balance optimal performance with cost management.</LI><LI><STRONG>Data Quality is Critical:</STRONG> The accuracy of the sizing results is heavily dependent on the quality of the validated usage data and sizing assumptions provided by customers and partners.</LI></UL><H1 id="toc-hId-1238786437"><STRONG>SAP Cloud ERP Private Sizing Strategy</STRONG></H1><P>Sizing for SAP Cloud ERP Private is a vital step to ensure your infrastructure efficiently supports your SAP workloads. SAP offers two primary models:</P><OL><LI><STRONG>Standard Sizing:</STRONG> A simplified, consumption-based model using predefined <STRONG>T-shirt size service bundles</STRONG> (e.g., XXS to 4XL), which provides a baseline scope with a minimal sizing effort.</LI><LI><STRONG>Tailored Sizing:</STRONG> A more granular, customized approach for complex landscapes, offering greater flexibility based on detailed requirements.</LI></OL><P><STRONG>Key Sizing Steps</STRONG></P><P>A structured approach to sizing includes:</P><UL><LI><STRONG>Define the Scope:</STRONG> Identify the SAP applications (e.g., SAP S/4HANA, SAP BW/4HANA) and specific modules, determine transaction workloads, and define usage (e.g., Production, QA).</LI><LI><STRONG>Collect Baseline Data:</STRONG> Use tools like the <STRONG>SAP Quick Sizer</STRONG> for new systems or <STRONG>EarlyWatch Reports</STRONG> and historical data (<STRONG>ST03N / ST06</STRONG>) for existing ones. For migrations, the <STRONG>SAP Readiness Check</STRONG> is essential.</LI><LI><STRONG>Use SAP Sizing Tools:</STRONG> Leverage tools like Quick Sizer (greenfield) or specific sizing reports like /SDF/HDB_SIZING (brownfield) to get technical resource estimates.</LI><LI><STRONG>Incorporate Growth & Buffer:</STRONG> Always plan for projected growth (3–5 years) and add a buffer (typically 10–25%) for peak loads and future needs.</LI><LI><STRONG>Validate with Experts:</STRONG> Review and validate sizing with SAP experts, potentially via a <STRONG>"Size to Scale"</STRONG> engagement through SAP Premium Engagement.</LI></UL><H2 id="toc-hId-1171355651"><STRONG>Standard Sizing: The T-Shirt Model</STRONG></H2><P>The Standard approach maps your business needs to a predefined, T-shirt-sized model.</P><P><STRONG>Full User Equivalent (FUE)</STRONG></P><P>The starting point for Standard sizing is calculating the <STRONG>Full User Equivalent (FUE)</STRONG>. An FUE reflects the average workload of a typical user, with different user types weighted accordingly:</P><TABLE><TBODY><TR><TD><P>User Type</P></TD><TD><P>FUE Weight</P></TD></TR><TR><TD><P><STRONG>Developer Access</STRONG></P></TD><TD><P>0.50</P></TD></TR><TR><TD><P><STRONG>Advanced Use</STRONG></P></TD><TD><P>1</P></TD></TR><TR><TD><P><STRONG>Core Use</STRONG></P></TD><TD><P>5</P></TD></TR><TR><TD><P><STRONG>Self-Service Use</STRONG></P></TD><TD><P>30</P></TD></TR></TBODY></TABLE><P>The final FUE count determines the required hardware package.</P><P><STRONG>Example Sizing Tiers (SAP S/4HANA Illustration)*</STRONG></P><TABLE><TBODY><TR><TD><P>T-Shirt Size</P></TD><TD><P>FUE Range</P></TD><TD><P>Production DB RAM (Example)</P></TD></TR><TR><TD><P><STRONG>XXS</STRONG></P></TD><TD><P>60 to 135</P></TD><TD><P>256 GB</P></TD></TR><TR><TD><P><STRONG>XS</STRONG></P></TD><TD><P>136 to 550</P></TD><TD><P>256 GB</P></TD></TR><TR><TD><P><STRONG>S</STRONG></P></TD><TD><P>551 to 1,000</P></TD><TD><P>512 GB</P></TD></TR><TR><TD><P><STRONG>L</STRONG></P></TD><TD><P>2,001 to 4,000</P></TD><TD><P>2,048 GB</P></TD></TR></TBODY></TABLE><P><EM>*This for illustration only. Always refer to the </EM><A href="https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html?sort=latest_desc&tag=agreements:product-use-and-support-terms/service-description-guides" target="_blank" rel="noopener noreferrer"><EM>SAP Service Description Guide</EM></A><EM> for the latest metrics.</EM></P><P><STRONG>Strategies in Deployment Models</STRONG></P><TABLE><TBODY><TR><TD><P><STRONG>Model</STRONG></P></TD><TD><P><STRONG>Sizing Method</STRONG></P></TD><TD><P><STRONG>Primary Tool(s)</STRONG></P></TD><TD><P><STRONG>Key Action</STRONG></P></TD></TR><TR><TD><P><STRONG>Greenfield</STRONG> (new implementation)</P></TD><TD><P>Use projected user and transaction volumes</P></TD><TD><P><STRONG>SAP Quick Sizer</STRONG> (SAP HANA-based)</P></TD><TD><P>The tool outputs can then mapped to FUE and a corresponding T-shirt size.</P></TD></TR><TR><TD><P><STRONG>Brownfield</STRONG> (system conversion)</P></TD><TD><P>Analyze historical data and current system usage</P></TD><TD><P><STRONG>/SDF/HDB_SIZING</STRONG> report (<A href="https://me.sap.com/notes/1872170" target="_blank" rel="noopener noreferrer">SAP Note 1872170</A>)</P></TD><TD><P>Perform data archiving and cleanup first, then run the report to estimate SAP HANA memory and map to the closest T-shirt size.</P></TD></TR></TBODY></TABLE><P>Refer to the <STRONG>Key Resources</STRONG> section for tools and reports that will help you identify the right option for your scope.</P><H2 id="toc-hId-974842146"><STRONG>Tailored Sizing: Customization for Complexity</STRONG></H2><P>The <STRONG>Tailored Option</STRONG> provides granular control and customized hardware specifications. This model combines standard tools with deep expert analysis, allowing more precise control over application server sizing and high-availability (HA)/disaster-recovery (DR) configurations.</P><P><STRONG>Tailored Sizing Approaches</STRONG></P><TABLE><TBODY><TR><TD><P><STRONG>Model</STRONG></P></TD><TD><P><STRONG>Sizing Method</STRONG></P></TD><TD><P><STRONG>Primary Tool(s)</STRONG></P></TD><TD><P><STRONG>Key Action</STRONG></P></TD></TR><TR><TD><P><STRONG>Greenfield</STRONG></P></TD><TD><P>Based on business assumptions and projected volumes</P></TD><TD><P><STRONG>SAP Quick Sizer</STRONG> (SAP HANA-based)</P></TD><TD><P>Generates hardware-independent recommendations (SAPS, memory, disk).</P></TD></TR><TR><TD><P><STRONG>Brownfield</STRONG></P></TD><TD><P>Based on analysis of historical data and system usage</P></TD><TD><P><STRONG>/SDF/HDB_SIZING</STRONG> report, <STRONG>SAP Readiness Check</STRONG>, <STRONG>EWA</STRONG></P></TD><TD><P>Housekeeping is critical. Report output is refined by an SAP expert to account for custom code and specific usage.</P></TD></TR></TBODY></TABLE><P>In a tailored environment, the strategy shifts to <STRONG>"right-sizing"</STRONG> for current needs. This means leveraging the cloud’s elasticity to scale up or down instead of provisioning for multi-year growth upfront, which is the case for traditional on-premise models.</P><P>Refer to the <STRONG>Key Resources</STRONG> section for tools and reports that will help you identify the right option for your scope.<BR /><BR /></P><H1 id="toc-hId-649245922"><STRONG>“Size to Scale” and Technical Assessment</STRONG></H1><P>The <STRONG>SAP Cloud ERP Private Technical Assessment</STRONG> is a mandatory, comprehensive evaluation designed to analyze and document the technical requirements, architecture, and sizing needs.</P><P><STRONG>SAP Expert Sizing Engagement</STRONG></P><P>For complex, large, or unusual landscapes, engaging an SAP expert is highly recommended. The <STRONG>"Size to Scale"</STRONG> is the expert sizing service from SAP offered via SAP Premium Engagements (MaxAttention or ActiveAttention). It provides a deep-dive, tailored sizing service.</P><P><STRONG>When is "Size to Scale" required?</STRONG></P><P>SAP proactively escalates an implementation for expert review if:</P><UL><LI>Initial analysis indicates a SAP <STRONG>HANA DB Requirement > 4 TiB</STRONG>.</LI><LI>A large amount of custom code is being migrated.</LI><LI>There are plans to consolidate multiple ERP solutions or significant new functionality (e.g., embedded EWM/TM).</LI></UL><H2 id="toc-hId-581815136"><STRONG>SAP Sizing & Technical Assessment Engagement Flow</STRONG></H2><P>The sizing process is a multi-step flow involving different teams:</P><OL><LI><STRONG>Initiation & Scoping:</STRONG> Define objectives and scope with Customer, SAP Account Executives, and <STRONG>SAP Cloud Architecture & Advisory (CAA)</STRONG>.</LI><LI><STRONG>Data Collection & Pre-Assessment:</STRONG> Customer and partner run sizing reports (e.g., /SDF/HDB_SIZING, <STRONG>SAP Readiness Check</STRONG>) and collect historical performance data.</LI><LI><STRONG>Sizing Analysis:</STRONG> The SAP CAA team analyzes data, maps it to infrastructure (T-shirt or tailored specs), and applies the necessary growth buffer.</LI><LI><STRONG>Technical Assessment Review & Validation:</STRONG> Finalized sizing assumptions are reviewed, aligned on HA/DR/network, documented in the Technical Assessment Report, and signed off by the customer.</LI><LI><STRONG>Handover to Delivery:</STRONG> The infrastructure is provisioned as per the agreed specifications.</LI></OL><H1 id="toc-hId-256218912"><STRONG>Monitoring and Reporting in Cloud ERP, Private</STRONG></H1><P>After provisioning, continuous monitoring is key to validating the sizing and ensuring performance. This is managed through core services provided as part of the SAP Cloud ERP Private offering:</P><UL><LI><STRONG>Capacity Management:</STRONG> This ongoing process ensures the environment meets performance and availability requirements by monitoring utilization, forecasting demand, and dynamically adjusting resource allocation.</LI><LI><STRONG>Problem Management:</STRONG> This function identifies, analyzes, and resolves capacity and performance issues. It links directly back to sizing by investigating if initial assumptions were inaccurate and recommending a necessary <STRONG>resizing</STRONG> or optimization.</LI><LI><STRONG>Performance Benchmarking (Enhanced Operations Services for Large Enterprises – EOS LE):</STRONG> A jointly defined service that measures selected business transactions over time, helping to identify performance trends and proactively mitigate future issues. <BR /><BR />For more information on <STRONG>EOS LE</STRONG> please refer to SAP Cloud ERP, Private <A href="https://www.sap.com/germany/about/agreements/policies/hec-services.html?sort=latest_desc&tag=language%3Aenglish&pdf-asset=a4d9a2da-207f-0010-bca6-c68f7e60039b&page=1" target="_self" rel="noopener noreferrer"><SPAN class="">Service Description</SPAN></A><SPAN> site.</SPAN></LI></UL><P>By diligently performing and validating your sizing assumptions, your organization can ensure that your SAP S/4HANA journey in SAP Cloud ERP Private is built on a foundation of optimal performance, scalability, and cost efficiency.<BR /><BR /></P><H1 id="toc-hId-59705407"><STRONG>Greenfield vs. Brownfield: Sizing Strategies for SAP S/4HANA Success</STRONG></H1><P>When moving to <STRONG>SAP S/4HANA,</STRONG> especially within the <STRONG>SAP Cloud ERP Private</STRONG> environment, the path you choose dictates your sizing strategy. Do you start fresh (greenfield) or convert an existing system (brownfield)?</P><P>While both methods rely on core SAP sizing tools, the inputs, assumptions, and required infrastructure for CPU, RAM, and storage diverge significantly. Understanding these differences is crucial for accurate provisioning and avoiding costly over- or under-sizing.</P><P><STRONG>Sizing Approaches: Greenfield vs. Brownfield at a Glance<BR /><BR /></STRONG></P><TABLE><TBODY><TR><TD><P><STRONG>Aspect</STRONG></P></TD><TD><P><STRONG>Greenfield Sizing</STRONG></P></TD><TD><P><STRONG>Brownfield Sizing</STRONG></P></TD></TR><TR><TD><P><STRONG>Data Volume</STRONG></P></TD><TD><P>New system, usually reduced data footprint (selective migration)</P></TD><TD><P>Full data migration — larger existing database size (full history)</P></TD></TR><TR><TD><P><STRONG>Sizing Approach</STRONG></P></TD><TD><P>Based on projected business requirements (users, transactions, volumes)</P></TD><TD><P>Based on existing system usage and historical performance metrics</P></TD></TR><TR><TD><P><STRONG>Primary Tools</STRONG></P></TD><TD><P><STRONG>SAP Quick Sizer</STRONG>, business blueprints</P></TD><TD><P><STRONG>SAP HANA sizing reports</STRONG> (e.g., /SDF/HDB_SIZING)</P></TD></TR><TR><TD><P><STRONG>Custom Code</STRONG></P></TD><TD><P>Limited or redesigned; minimal impact on sizing</P></TD><TD><P>Custom code retained; requires analysis (Custom Code Analyzer) as it may increase RAM/CPU requirements</P></TD></TR><TR><TD><P><STRONG>Sizing Buffer</STRONG></P></TD><TD><P>Add buffer for uncertainties in new processes (e.g., 20–30%)</P></TD><TD><P>Add buffer for custom code, transition load, and compatibility layers (e.g., 15%)</P></TD></TR></TBODY></TABLE><H2 id="toc-hId--7725379"><STRONG><BR />Greenfield Sizing: Building from the Blueprint</STRONG></H2><P><STRONG>Use Case:</STRONG> A new SAP S/4HANA system deployment, often involving redefined, standardized business processes and a selective data migration.</P><P><STRONG>Key Considerations:</STRONG></P><UL><LI><STRONG>Reliance on SAP Quick Sizer:</STRONG> Since no historical data exists, sizing is purely <STRONG>business-driven</STRONG>. You input future metrics like the number of users by type, sales order volumes, and financial transaction counts. The Quick Sizer outputs estimates for SAP HANA memory, CPU cores, and disk sizes.</LI><LI><STRONG>Reduced Data Footprint:</STRONG> Greenfield often means <STRONG>selective data migration</STRONG> (e.g., only the last 2–3 years of transactional history). This results in a smaller initial database, lower storage requirements, and reduced initial RAM needs.</LI><LI><STRONG>Cleaner Architecture:</STRONG> With fewer customizations and a focus on standard SAP S/4HANA processes, sizing for application performance is more predictable.</LI><LI><STRONG>Add a Growth Buffer:</STRONG> As with any new implementation, add a significant buffer (typically <STRONG>~20–30%</STRONG>) to account for future data growth, unforeseen business process changes, or new functionality adoption.</LI></UL><H2 id="toc-hId-143015473"><STRONG>Brownfield Sizing: Converting the Past to the Future</STRONG></H2><P><STRONG>Use Case:</STRONG> Converting an existing SAP ECC or SAP S/4HANA system to the private cloud, retaining existing processes and full data history.</P><P><STRONG>Key Considerations:</STRONG></P><UL><LI><STRONG>Historical Data Analysis is Key:</STRONG> Sizing is <STRONG>usage-based</STRONG>. You must analyze the current system's historical performance to get an accurate estimate.</LI><UL><LI><STRONG>Workload Analysis:</STRONG> Use <STRONG>ST03N</STRONG> (workload analysis) and <STRONG>ST06</STRONG> (system resources) data, and <STRONG>EarlyWatch Reports</STRONG> to understand CPU and memory utilization patterns.</LI><LI><STRONG>Data Archiving is Best Practice:</STRONG> To optimize your sizing, <STRONG>archive and clean up</STRONG> unnecessary data <EM>before</EM> running the sizing reports.</LI></UL><LI><STRONG>The Crucial Sizing Report:</STRONG> The primary tool is the <STRONG>SAP HANA Sizing Report</STRONG> (/SDF/HDB_SIZING), detailed in <STRONG><A href="https://me.sap.com/notes/1872170" target="_blank" rel="noopener noreferrer">SAP Note 1872170</A></STRONG>. This report runs on your existing system to analyze current database size, compression factors, and transaction volumes, providing a precise estimate of the required SAP HANA memory.</LI><LI><STRONG>Accounting for Custom Code:</STRONG> Custom programs and reports (often numerous in an SAP ECC system) require assessment. The <STRONG>Custom Code Analyzer</STRONG> helps evaluate their impact, as unoptimized custom code can significantly increase required CPU and RAM.</LI><LI><STRONG>Include Conversion Load:</STRONG> Be aware that the migration itself requires a temporary sizing uplift for staging, code remediation, and data transformation activities.</LI></UL><P><STRONG>Example Sizing Comparison Snapshot</STRONG></P><TABLE width="557"><TBODY><TR><TD><P><STRONG>Metric</STRONG></P></TD><TD width="162"><P><STRONG>Greenfield</STRONG></P></TD><TD width="236"><P><STRONG>Brownfield</STRONG></P></TD></TR><TR><TD><P><STRONG>Initial DB Size</STRONG></P></TD><TD width="162"><P>∼500 GB (selected)</P></TD><TD width="236"><P>1.5 TB (full)</P></TD></TR><TR><TD><P><STRONG>SAP HANA Memory Estimate</STRONG></P></TD><TD width="162"><P>∼256 GB</P></TD><TD width="236"><P>∼768 GB</P></TD></TR><TR><TD><P><STRONG>CPU Cores</STRONG></P></TD><TD width="162"><P>∼16–20 cores</P></TD><TD width="236"><P>∼36–40 cores</P></TD></TR></TBODY></TABLE><P> </P><H1 id="toc-hId-239904975"><STRONG>Key Recommendations and Next Steps</STRONG></H1><P>Sizing is a collective responsibility. While SAP and its certified partners provide the tools and expertise, customers must provide validated data and usage assumptions.</P><P><STRONG>Always Validate:</STRONG></P><UL><LI><STRONG>Consult Experts:</STRONG> Always validate your sizing results—especially for complex brownfield conversions—with <STRONG>SAP CAA</STRONG> or a <STRONG>"Size to Scale"</STRONG> expert engagement through SAP Premium Engagement.</LI><LI><STRONG>Compare Results:</STRONG> If you are unsure, run both the Quick Sizer (for a clean slate estimate) and the sizing reports (for historical usage) and compare the outcomes.</LI><LI><STRONG>Documentation is Key:</STRONG> All sizing assumptions, data sources, and final resource estimates must be formally documented in the <STRONG>Technical Assessment Report</STRONG> as part of your SAP Cloud ERP Private onboarding.</LI></UL><P><STRONG>Essential Resources:</STRONG></P><TABLE><TBODY><TR><TD><P><STRONG>Tool / Report</STRONG></P></TD><TD><P><STRONG>Use Case</STRONG></P></TD><TD><P><STRONG>SAP Note / Link</STRONG></P></TD></TR><TR><TD><P><STRONG>SAP Quick Sizer</STRONG></P></TD><TD><P>Greenfield sizing (Business-driven)</P></TD><TD><P><A href="https://www.google.com/search?q=https://www.sap.com/about/cloud-resources/sizing.html" target="_blank" rel="noopener nofollow noreferrer">SAP Sizing Resource</A></P></TD></TR><TR><TD><P><STRONG>/SDF/HDB_SIZING</STRONG></P></TD><TD><P>Brownfield, SAP ECC HANA Sizing</P></TD><TD><P><A href="https://me.sap.com/notes/1872170" target="_blank" rel="noopener noreferrer">SAP Note 1872170</A></P></TD></TR><TR><TD><P><STRONG>SAP Readiness Check</STRONG></P></TD><TD><P>Brownfield Conversion Assessment</P></TD><TD><P><A href="https://www.google.com/search?q=https://me.sap.com/notes/2758146" target="_blank" rel="noopener nofollow noreferrer">SAP Note 2758146</A></P></TD></TR><TR><TD><P><STRONG>Custom Code Analyzer</STRONG></P></TD><TD><P>Brownfield Code Impact Review</P></TD><TD><P><A href="https://www.google.com/search?q=https://me.sap.com/notes/2290622" target="_blank" rel="noopener nofollow noreferrer">SAP Note 2290622</A></P></TD></TR><TR><TD><P><STRONG>SAP Note 2296290</STRONG></P></TD><TD><P>SAP BW/4HANA Sizing Report</P></TD><TD><P><A href="https://me.sap.com/notes/2296290" target="_blank" rel="noopener noreferrer">SAP Note 2296290</A></P></TD></TR></TBODY></TABLE><P>By paying close attention to these greenfield and brownfield distinctions, you ensure your SAP S/4HANA landscape in <STRONG>SAP Cloud ERP Private</STRONG> is built on the right foundation for performance and scalability from day one.<BR /><BR /></P><H1 id="toc-hId-43391470"><STRONG>Key Resources for SAP Sizing & Technical Readiness</STRONG></H1><P>Proper <STRONG>sizing and technical readiness</STRONG> are critical when planning, deploying, or migrating SAP solutions. Whether moving to SAP <STRONG>S/4HANA, SAP BW/4HANA, SAP Datasphere</STRONG>, or deploying on cloud platforms, the right references ensure smooth execution.</P><P><STRONG>SAP Sizing Resources</STRONG></P><UL><LI><A href="https://www.sap.com/about/benchmark/sizing.html" target="_blank" rel="noopener noreferrer">SAP Sizing toolset</A></LI><LI><A href="https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html?sort=latest_desc&tag=agreements:product-use-and-support-terms/service-description-guides" target="_blank" rel="noopener noreferrer"><STRONG>SAP Service Description Guide</STRONG></A> – scope of SAP services</LI><LI><A href="https://me.sap.com/notes/1872170" target="_blank" rel="noopener noreferrer">SAP Note 1872170</A> – ABAP on SAP HANA sizing (SAP S/4HANA, Suite on SAP HANA)</LI><LI><STRONG><A href="https://me.sap.com/notes/2296290" target="_blank" rel="noopener noreferrer">SAP Note 2296290</A></STRONG> – SAP BW/4HANA sizing</LI><LI><STRONG><A href="https://me.sap.com/notes/3599138" target="_blank" rel="noopener noreferrer">SAP Note 3599138</A></STRONG> – SAP Datasphere sizing for non-BW systems</LI></UL><P><STRONG>SAP Readiness Check</STRONG></P><P>A self-service tool for migration planning and risk identification.</P><UL><LI><STRONG><A href="https://me.sap.com/readinesscheck" target="_blank" rel="noopener noreferrer">SAP Readiness Check Landing Page</A> </STRONG>(SAP Support Launchpad)</LI><LI><STRONG><A href="https://me.sap.com/notes/2758146/E" target="_blank" rel="noopener noreferrer">SAP Note 2758146</A></STRONG> – SAP S/4HANA Readiness Check</LI><LI><STRONG><A href="https://me.sap.com/notes/3112362/E" target="_blank" rel="noopener noreferrer">SAP Note 3112362</A></STRONG> – Latest information for Readiness Check</LI><LI><STRONG><A href="https://me.sap.com/notes/2290622/E" target="_blank" rel="noopener noreferrer">SAP Note 2290622</A></STRONG> – Custom Code Analysis</LI></UL><P><STRONG>Hyperscaler References</STRONG></P><P><STRONG>Microsoft Azure</STRONG></P><UL><LI><A href="https://learn.microsoft.com/en-us/azure/virtual-machines/m-series" target="_blank" rel="noopener nofollow noreferrer">M-Series VMs</A></LI><LI><STRONG><A href="https://me.sap.com/notes/1928533/E" target="_blank" rel="noopener noreferrer">SAP Note 1928533</A></STRONG> – SAP Applications on Microsoft Azure: Supported Products and VM Types</LI></UL><P><STRONG>Google Cloud (GCP)</STRONG></P><UL><LI><A href="https://cloud.google.com/solutions/sap/docs/certifications-sap-apps#sap-certified-vms-gen-purpose-m2" target="_blank" rel="noopener nofollow noreferrer">Certified VM Types</A></LI><LI><STRONG><A href="https://me.sap.com/notes/2456432/E" target="_blank" rel="noopener noreferrer">SAP Note 2456432</A></STRONG> – SAP Applications on Google Cloud: Supported Products and Machine Types</LI></UL><P><STRONG>Amazon Web Services (AWS)</STRONG></P><UL><LI><A href="https://docs.aws.amazon.com/sap/latest/general/ec2-instance-types-sap.html" target="_blank" rel="noopener nofollow noreferrer">EC2 Instance Types</A></LI><LI><STRONG><A href="https://me.sap.com/notes/1656099/E" target="_blank" rel="noopener noreferrer">SAP Note 1656099</A></STRONG> – SAP Applications on AWS: Supported DB/OS and EC2 Products</LI></UL><P><STRONG>Certified SAP HANA Hardware</STRONG></P><UL><LI><A href="https://www.sap.com/dmc/exp/2014-09-02-hana-hardware/enEN/#/solutions" target="_blank" rel="noopener noreferrer">SAP Certified Hardware Directory</A></LI></UL><P>Ultimately, using these official SAP and cloud provider resources helps ensure your landscape is <STRONG>right-sized, supported, and future-ready</STRONG>.</P>2025-10-13T08:08:25.486000+02:00https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-sap/sap-landscape-strategy-in-the-era-of-managed-cloud-and-ai/ba-p/14260801SAP Landscape Strategy in the Era of Managed Cloud and AI2025-11-04T22:35:15.671000+01:00Kavunhttps://community.sap.com/t5/user/viewprofilepage/user-id/1663781<P>In today’s digital-first world, enterprises face intense pressure to operate faster, leaner, and smarter. Emerging technologies like cloud computing, AI, and next-generation ERP systems are transforming how businesses run. Amid this change, SAP landscape consolidation presents a complex challenge, requiring close alignment between business and IT. While it can simplify IT environments, reduce costs, and enable intelligent automation, many organizations struggle to find the right approach. This article aims to demystify the topic, offering executives a clear framework to evaluate options, make informed decisions, and maximize value through an effective instance strategy.</P><H2 id="toc-hId-1764533264">The Case for Landscape Consolidation</H2><P>Historically, most organizations have accumulated fragmented SAP landscapes through mergers, acquisitions, and regional growth—each business unit running its own version of “the truth.” These siloed environments inflate total cost of ownership, complicate reporting, and slow decision-making. Consolidation directly addresses this by unifying systems into a single, standardized architecture that delivers agility, transparency, and control. From the 1990s to the 2000s, technological limits—particularly hardware capacity—once made global system consolidation impractical. But today, with exponential advancements in computing power, cloud scalability, and tools like SAP’s Unicode-based Business Suite and Country Versions, technology is no longer the barrier. The question is no longer can we consolidate, but why haven’t we yet?</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_1-1762533817521.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/337394iFD11761C2A3F97DB/image-size/large?v=v2&px=999" role="button" title="Kavun_1-1762533817521.png" alt="Kavun_1-1762533817521.png" /></span></P><P>The financial argument is equally compelling. Organizations that have consolidated SAP landscapes typically achieve measurable cost reductions across key operational areas—around 20% in IT operations, 15% in end-user services, 10% in application development, and 8% in maintenance and administration. These savings compound over time, freeing up capital for innovation and strategic growth. More importantly, a unified system landscape enhances global visibility, and accelerates decision-making at scale. For CIOs and CFOs alike, landscape consolidation is not merely an IT optimization—it’s a business transformation lever that drives sustainable efficiency, competitive advantage, and enterprise-wide value creation.</P><H2 id="toc-hId-1568019759"><SPAN>Beyond Systems: Why Process Harmonization Matters</SPAN></H2><P>System consolidation alone doesn’t guarantee efficiency. Without harmonized business processes, organizations often find that operational inconsistencies persist even after technical consolidation is achieved. In other words, system consolidation without process harmonization is suboptimal from a total cost of ownership (TCO) perspective.</P><P>According to SAP Value Group benchmarks, the typical cost distribution for enterprise systems is approximately 20% hardware, 20% software, 42% development, application support, help desk, and end-user training, 12% system and data management, and 8% other. The largest cost category — development and support — can only be reduced when process variants and customizations are minimized through harmonization and standardization. For this reason, almost all companies that embark on global implementation or consolidation programs also pursue global harmonization of their business processes.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_2-1762533954478.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/337395iBA36E2AADCE586DB/image-size/large?v=v2&px=999" role="button" title="Kavun_2-1762533954478.png" alt="Kavun_2-1762533954478.png" /></span></P><P>However, while IT organizations often recognize the benefits of harmonization and may attempt to implement global templates “behind the scenes,” true process harmonization cannot be successfully driven by IT alone. It is not a one-time technical exercise, but a continuous business-led transformation that requires executive sponsorship, strong governance, and a clear change management strategy. The business must own and drive harmonization initiatives, defining clear objectives that align with organizational strategy. When processes are harmonized, they enable consistent data, standardized workflows, and measurable outcomes — all of which are essential foundations for scaling intelligent automation and realizing the full efficiency potential of system consolidation.</P><P>Ultimately, while IT cost savings from ERP instance consolidation may reach 25%, the true value lies in achieving global visibility, standardized processes, and improved business coordination—benefits attainable only when system consolidation is paired with process harmonization.</P><H2 id="toc-hId-1371506254"><SPAN>How Cloud & AI Have Evolved SAP Landscape Strategy</SPAN></H2><P>SAP has long been at the forefront of enterprise transformation. At the core of this evolution is a shift in how enterprises view their landscapes — not just as technical environments but as strategic enablers. The pyramid structure in the diagram below highlights how harmonization and standardization at the strategic level (vision, strategy, and processes) are driving the reduction of system complexity at the operational level (infrastructure and projects). This reflects SAP’s broader goal: simplifying, standardizing, and automating across every layer of the enterprise stack.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_3-1762534127143.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/337400i1A64396A7202A8E3/image-size/large?v=v2&px=999" role="button" title="Kavun_3-1762534127143.png" alt="Kavun_3-1762534127143.png" /></span></P><P>The right side of the diagram captures how landscape simplification and consolidation have evolved in a cloud-first era. Hyperscalers have made on-premise (non-SAP managed) operations more flexible and efficient; however, the cost advantages of cloud operations are making regional or local systems increasingly attractive. At the same time, geopolitical disruptions and growing requirements for data localization are prompting enterprises to reconsider their global architectures. As business units evolve, organizations need modular IT landscapes that can adapt quickly to changing market dynamics. Finally, ongoing mergers and acquisitions are further challenging global IT solutions to remain agile and responsive.</P><P>While the drivers of change have evolved, the case for landscape consolidation remains strong — especially when considering the transition to SAP S/4HANA as it presents a unique opportunity for enterprises to re-evaluate and modernize their environments. In the new cloud-first era, the key takeaway is that process harmonization alone is not sufficient. True transformation requires a commitment to standardizing on SAP best practices and processes. Only by combining harmonization with standardization can businesses fully realize the benefits of consolidation.</P><H2 id="toc-hId-1174992749"><SPAN>Landscape Options for SAP Process Harmonization</SPAN></H2><P>When consolidating SAP systems, organizations can choose among several landscape options that balance process harmonization with flexibility and deployment complexity. The <SPAN>Single Instance Strategy</SPAN> represents the highest degree of process harmonization, enforcing identical procedures and configurations globally within one system. The <SPAN>Virtual Single Instance Strategy</SPAN>, often called the <SPAN>full template approach</SPAN>, also targets global standardization but allows multiple production systems connected to a common template. This option achieves strong alignment across regions but requires significant upfront effort to harmonize processes and design a robust governance framework to maintain consistency.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_3-1762291188933.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/336277i42C154B199535B3D/image-size/large?v=v2&px=999" role="button" title="Kavun_3-1762291188933.png" alt="Kavun_3-1762291188933.png" /></span></P><P>In contrast, the Template + Multiple Development Systems Strategy (partial template) introduces a global development system for common configurations, while local development systems handle regional adaptations. This approach lowers harmonization effort but increases deployment and maintenance complexity, as changes must be coordinated and synchronized across environments. Finally, the Multiple Development Systems Strategy allows the greatest local flexibility but risks divergence without disciplined governance. Companies without adequate oversight often drift from standardized templates toward independent, inconsistent environments—undermining the benefits of consolidation.</P><P>Strong governance and well-defined change management are essential for success, regardless of the chosen model. SAP recommends establishing detailed governance and leveraging tools like SAP Solution Manager Cross-Landscape Distribution (XLD) to manage common configurations and automate object distribution.</P><H2 id="toc-hId-978479244"><SPAN>Why Template Strategies are so Attractive</SPAN></H2><P>Template strategies are appealing because they balance the competing priorities of standardization and flexibility. While a fully harmonized, single global instance delivers high transparency, operational synergies, and seamless information sharing, it can also demand significant coordination and restrict local agility. Conversely, a highly decentralized landscape with multiple independent systems enables rapid local responses, minimizes coordination overhead, and preserves legacy practices—but often sacrifices integration, efficiency, and visibility. In practice, the optimal point rarely lies at either extreme.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_4-1762291188934.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/336276i0BE7A015ECB18770/image-size/large?v=v2&px=999" role="button" title="Kavun_4-1762291188934.png" alt="Kavun_4-1762291188934.png" /></span></P><P>A well-governed global template represents the “best of both worlds.” It establishes common core processes and configurations across the enterprise, creating a unified baseline for reporting, governance, and automation, while still allowing local adaptations to meet regional or business-specific needs. This balance optimizes net benefits—achieving substantial harmonization without paralyzing flexibility. Organizations adopting this model can scale globally with consistency and efficiency, yet remain agile enough to evolve with market demands and regulatory changes.</P><H2 id="toc-hId-781965739"><SPAN>Driving Alignment and Change Across the Enterprise</SPAN></H2><P>Consolidation initiatives only succeed when the business—not IT alone—owns the vision. CIOs and CFOs must jointly champion the strategy, aligning executive priorities and translating technical goals into tangible business outcomes. Indecision is worse than a decision; leaders must either commit fully to consolidation or abandon it. A half-hearted approach breeds confusion, wasted effort, and political resistance.</P><P>The business must first define why consolidation matters—whether to streamline operations, reduce costs, or enable digital scalability—before any meaningful strategy discussions can occur. The opportunity cost of doing nothing far outweighs the risks of action. Inaction means missed chances for efficiency, growth, and long-term competitiveness. A strategic approach must therefore focus on optimizing performance through technology and process enhancements to achieve sustainable growth and market advantage.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_5-1762291188935.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/336275iB4FBB83556ED0723/image-size/large?v=v2&px=999" role="button" title="Kavun_5-1762291188935.png" alt="Kavun_5-1762291188935.png" /></span></P><P>Every consolidation journey ultimately aligns with one of three business scenarios. In the “Winner Takes It All” model, a larger entity absorbs a smaller one, prioritizing cost avoidance, risk reduction, and speed—often driven by politics rather than process optimization. The “Best of Both Worlds” scenario emerges when merging entities are similar in size, each seeking to retain its systems and approaches, leading to cherry-picking, high complexity, and potential deadlock without decisive executive leadership. Lastly, the “Cluster Selection” approach consolidates around relatively autonomous units, balancing flexibility and structure while reducing political tension. Each model carries trade-offs, but success in any of them depends on clear decision-making, consistent leadership, and an unwavering focus on the business rationale behind consolidation.</P><H2 id="toc-hId-585452234"><SPAN>Decision-Making Framework: From Strategy to Execution</SPAN></H2><P>For complex organizations, making the right consolidation decisions can feel daunting. A structured, business-driven framework ensures that each decision is anchored in strategy, not convenience. Consolidation must begin with clarity on why a new landscape is required. The business must first define its objectives—whether to improve visibility, reduce costs, or enable standardized global operations—and communicate the factors influencing consolidation to the IT organization. These include operational pain points, integration challenges, and the cultural readiness for adopting a global business model. Without this alignment and clear ownership, consolidation efforts risk becoming purely technical exercises detached from business value.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Kavun_6-1762291188935.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/336278i04EABED098216883/image-size/large?v=v2&px=999" role="button" title="Kavun_6-1762291188935.png" alt="Kavun_6-1762291188935.png" /></span></P><P>Once business intent is clear, IT and business leaders should collaboratively translate it into a practical landscape strategy and design. Together, they develop up to four viable landscape scenarios that reflect different balances of harmonization and flexibility. Each scenario is then assessed through an agreed-upon set of evaluation criteria—such as scalability, governance, deployment complexity, total cost of ownership, and change management impact—with weighted importance assigned to both business and operational priorities. A structured decision process, often supported by workshops or governance boards, leads to a collective vote on the final landscape design and instance strategy. From there, a project roadmap can be established to guide execution. By following this disciplined approach, organizations ensure decisions are data-driven, collaborative, and sustainable—laying the foundation for long-term enterprise value creation and true business-IT alignment.</P><H2 id="toc-hId-388938729"><SPAN>Turning Consolidation into Competitive Advantage</SPAN></H2><P>The rise of SAP S/4HANA Cloud (Private and Public Editions), SAP Business Technology Platform (BTP), and Business Data Cloud (BDC) has transformed how organizations approach landscape consolidation. These platforms provide the flexibility to run modern SAP systems across hybrid and multi-cloud environments, supported by AI-driven insights and automation.</P><P>SAP’s Business AI capabilities now automate repetitive tasks, predict trends, and enable intuitive, conversational interactions with business systems. By embedding intelligence directly into processes, organizations gain speed, accuracy, and foresight — shifting their focus from data collection to decision-making.</P><P>SAP landscape consolidation is no longer a technical exercise — it’s a strategic imperative for building an intelligent, agile enterprise. By harmonizing systems and processes, embracing cloud-native tools, and integrating AI, businesses position themselves for operational excellence and continuous innovation. In an era where speed and intelligence define market leaders, the organizations that master landscape consolidation today will define the intelligent enterprises of tomorrow.</P><H2 id="toc-hId-192425224"><SPAN>Consider SAP Customer Advisory</SPAN></H2><P>If your organization is planning or evaluating an SAP instance strategy, our team at SAP Customer Advisory can help. We offer tailored guidance to align your architecture vision with business goals, accelerate transformation, and maximize value creation. <A class="" href="https://www.linkedin.com/in/kavunnuggihalli/" target="_new" rel="noopener nofollow noreferrer">Connect with me on LinkedIn</A> to explore how we can shape your SAP strategy together.</P>2025-11-04T22:35:15.671000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152Solution Order Simulation APIs - OData V42025-11-10T11:10:34.647000+01:00babuganesh1982https://community.sap.com/t5/user/viewprofilepage/user-id/197549<H2 id="toc-hId-1763692545">Table of Contents</H2><P><ul =""><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-1763692545">Table of Contents</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-1567179040">Introduction</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-1370665535">Authentication and Access</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-977638525">Metadata</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-781125020">API Capabilities and Entities</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-388098010">BusinessSolutionOrder – Solution Order Header</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-191584505">BusSolnOrdPartner – Solution Order Header Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId-145811852">BusSolnOrdItmPartner – Solution Order Item Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId--247215158">BusSolnOrdItmPriceElement – Item Price Element</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-simulation-apis-odata-v4/ba-p/14253152#toc-hId--640242168">BusSolnOrdItmBillgReqItem – Item Billing Request Item(Contract Item)</a></li></ul></P><P> </P><H2 id="toc-hId-1567179040">Introduction</H2><P><SPAN>Solution Order is a business transaction in SAP Cloud ERP, used to sell solutions which can be a combination of either physical goods, one time services, recurring services, subscriptions, or projects bundled as one integrated customer offering. With the 2508 release of SAP Cloud ERP, the OData V4 APIs for simulation of solution order is available. Simulation APIs can be used to simulate various entities of solution order without creating a solution order. Various determination logic like partner determination, price determination, billing plan etc can be simulated without creating a solution order. This can be used to provide a quote using a quoting engine outside of SAP Cloud ERP. Such external quoting solutions can benefit from the possibility of quoting a real time price calculated in SAP Cloud ERP using the Solution Order simulation APIs. In this blog, you will find more information about the API, the entities available for consumption and the operations on these entities.</SPAN></P><P> </P><H2 id="toc-hId-1370665535">Authentication and Access</H2><P>The communication arrangement with the Business Solution Order Integration scenario(SAP_COM_0706) needs<BR />to be in place to access the API. You will need to create a communication arrangement for the communication scenario<BR />SAP_COM_0706, A communication system with an inbound user. You can as well configure OAUTH 2.0 if<BR />needed.</P><P>The API supports Basic Authentication(username/password), OAUTH2.0, and X.509 Certificate Authentication</P><H2 id="toc-hId-1174152030"> </H2><H2 id="toc-hId-977638525">Metadata</H2><P>Metadata provides a description of the service, detailing the structure of the data, available entities, their<BR />properties, relationships, and supported operations. It acts as a blueprint that allows both developers and tools<BR />to understand how to interact with the service without needing prior knowledge of its design.<BR />It can be accessed using the below URL<BR />https://<<SERVER>>/sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/api_bussolnordsimulation/0001/$metadata<BR />Below is a screenshot, with a part of the metadata of the Business Solution Order API.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="babuganesh1982_0-1761385625323.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/332344iB2401FBA57A62193/image-size/large?v=v2&px=999" role="button" title="babuganesh1982_0-1761385625323.png" alt="babuganesh1982_0-1761385625323.png" /></span></P><P>In the above partial view of the metadata, you can see the Entity BusinessSolutionOrderItem, it has 2 key fields - BusinessSolutionOrder and BusinessSolutionOrderItem, a set of properties like Product, Quantity, <SPAN>BusSolnOrdItmCategory</SPAN>, etc. it also specifies the type, max length, precision etc of the properties. There are a set of navigational properties(or associations) for the entity. Associations are other entities related to the current entity.</P><P><STRONG> </STRONG></P><H2 id="toc-hId-781125020"><STRONG>API Capabilities and Entities</STRONG></H2><TABLE border="1" width="100%"><TBODY><TR><TD width="25%" height="30px"><STRONG>Entity</STRONG></TD><TD width="25%" height="30px"><STRONG>Supported Operations</STRONG></TD><TD width="25%" height="30px"><STRONG>Description</STRONG></TD><TD width="25%" height="30px"><STRONG>Associations</STRONG></TD></TR><TR><TD width="25%" height="30px"><SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="30px">CREATE (Simulate)</TD><TD width="25%" height="30px"><STRONG>Solution Order Header</STRONG></TD><TD width="25%" height="30px"><P>_Item</P><P>_Partner</P></TD></TR><TR><TD width="25%" height="85px"><SPAN>BusinessSolutionOrderItem</SPAN></TD><TD width="25%" height="85px">CREATE (Simulate) only using deep insert on <SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="85px"><STRONG>Solution Order Item</STRONG></TD><TD width="25%" height="85px"><P><SPAN>_BusinessSolutionOrder</SPAN></P><P><SPAN>_Partner</SPAN></P><P><SPAN>_PriceElement</SPAN></P><P><SPAN>_BillingRequestItem</SPAN></P></TD></TR><TR><TD width="25%" height="85px"><SPAN>BusSolnOrdPartner</SPAN><SPAN><BR /></SPAN></TD><TD width="25%" height="85px">CREATE (Simulate) only using deep insert on <SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="85px"><STRONG>Header Partner</STRONG></TD><TD width="25%" height="85px"><SPAN>_BusinessSolutionOrder</SPAN></TD></TR><TR><TD width="25%" height="85px"><SPAN>BusSolnOrdItmPartner</SPAN><SPAN><BR /></SPAN></TD><TD width="25%" height="85px">CREATE (Simulate) only using deep insert on <SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="85px"><STRONG>Item Partner</STRONG></TD><TD width="25%" height="85px"><P><SPAN>_BusinessSolutionOrder</SPAN></P><P>_Item</P></TD></TR><TR><TD width="25%" height="85px"><SPAN>BusSolnOrdItmPriceElement</SPAN><SPAN><BR /></SPAN></TD><TD width="25%" height="85px">CREATE (Simulate) only using deep insert on <SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="85px"><STRONG>Item Price Element</STRONG></TD><TD width="25%" height="85px"><P><SPAN>_BusinessSolutionOrder</SPAN></P><P>_Item</P></TD></TR><TR><TD width="25%" height="97px"><SPAN>BusSolnOrdItmBillgReqItem</SPAN></TD><TD width="25%" height="97px">CREATE (Simulate) only using deep insert on <SPAN>BusinessSolutionOrder</SPAN></TD><TD width="25%" height="97px"><P><STRONG>Billing Request Line of a Contract Item</STRONG></P></TD><TD width="25%" height="97px"><P><SPAN>_BusinessSolutionOrder</SPAN></P><P>_Item</P></TD></TR></TBODY></TABLE><H2 id="toc-hId-584611515"> </H2><H2 id="toc-hId-581989039" id="toc-hId-388098010"><STRONG>BusinessSolutionOrder – Solution Order Header</STRONG></H2><P><STRONG>Simulate solution order with one item to get header and item entities with simulated net value</STRONG></P><P>You can add any number of items to simulate.</P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation Demo",
"SoldToParty": "17100001",
"PayerParty": "17100001",
"PaymentTerms": "0001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"_Item": [
{
"Product": "TG11",
"Quantity": 1,
"BusSolnOrdItmQtyUnitISOCode": "PCE"
}
]
}</code></pre><P> </P><H2 id="toc-hId-188962029" id="toc-hId-191584505"><STRONG>BusSolnOrdPartner – Solution Order Header Partner</STRONG></H2><P>You can pass an empty _Partner:[] entity in the payload to read the header partners that are determined based on the partner determination procedure assigned to the solution order transaction.</P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation Demo",
"SoldToParty": "17100001",
"PayerParty": "17100001",
"PaymentTerms": "0001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
//Empty Partner association in payload to return the simulated entity in response
"_Partner":[],
"_Item": [
{
"Product": "TG11",
"Quantity": 1,
"BusSolnOrdItmQtyUnitISOCode": "PCE"
}
]
}</code></pre><H2 id="toc-hId--4929000"> </H2><H2 id="toc-hId--7551476" id="toc-hId-145811852"><STRONG>BusSolnOrdItmPartner – Solution Order Item Partner</STRONG></H2><P>Similar to header partner, You can pass an empty _Partner:[] entity in the payload to read the item partners that are determined based on the partner determination procedure assigned to the item category.</P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation Demo",
"SoldToParty": "17100001",
"PayerParty": "17100001",
"PaymentTerms": "0001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"_Item": [
{
"Product": "TG11",
"Quantity": 1,
"BusSolnOrdItmQtyUnitISOCode": "PCE",
//Empty Partner association in payload to return the simulated entity in response
"_Partner": []
}
]
}</code></pre><P>You can also override a partner determined in simulation by passing the updated partner in the payload. This can be useful to for example simulate changes in shipping cost based on the address of a new partner that is passed which is different from the determined partner. </P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation Demo",
"SoldToParty": "17100001",
"PayerParty": "17100001",
"PaymentTerms": "0001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"_Item": [
{
"Product": "TG11",
"Quantity": 1,
"ShipToParty": "17100002",
"BusSolnOrdItmQtyUnitISOCode": "PCE",
"_Partner": [
{
"CustMgmtPartnerFunction": "00000055",
"CustMgmtBusinessPartner": "17100002"
}
]
}
]
}</code></pre><H2 id="toc-hId--50701653"> </H2><H2 id="toc-hId--249837634" id="toc-hId--247215158"><STRONG>BusSolnOrdItmPriceElement – Item Price Element</STRONG></H2><P>Similar to partners, You can pass an empty _PriceElement[] entity in the payload to read the item price elements that are calculated based on the pricing procedure assigned.</P><P>How ever you can also pass a new price element in simulation request like a discount to simulate the solution order with the discount condition</P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation Demo",
"Language": "EN",
"SoldToParty": "17100001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"_Item": [
{
"Product": "TG12",
"Quantity": 1,
"BusSolnOrdItmQtyUnitISOCode": "EA",
//Adding a fixed discount
"_PriceElement": [
{
"ConditionType": "DRV1",
"ConditionRateValue": -10,
"ConditionCurrency": "USD"
}
]
}
]
}</code></pre><H2 id="toc-hId--443728663"> </H2><H2 id="toc-hId-1855151293" id="toc-hId--640242168"><STRONG>BusSolnOrdItmBillgReqItem – Item Billing Request Item(Contract Item)</STRONG></H2><P>Billing Request Line item is relevant for a service contract item of type SOSC(Service Contract Item) and SOPA(Service Contract Item with Price Adaptation). You can simulate the billing plan by providing the billing date and settlement period in the payload and you will see the Billing Request Items accordingly. For example if you provide a settlement period as monthly for a contract running for 1 year, you will see 12 Billing Request Items in the simulation response.</P><pre class="lia-code-sample language-abap"><code>POST <host> /sap/opu/odata4/sap/api_bussolnordsimulation/srvd_a2x/sap/bussolnordersimulation/0001
/BusinessSolutionOrder
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Simulation of BRLs",
"SoldToParty": "17100001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"_Item": [
{
"BusinessSolutionOrderItem": "10",
"Product": "SRV_CONTRACT",
"BusSolnOrdItmCategory": "SOSC",
"Quantity": 1,
"QuantityUnit": "AU",
"BusSolnOrdItmQtyUnitISOCode": "C62",
// Billing date first of the month
"SrvcMgmtBillgPlanBillgDateRule": "BILL0002",
// Settlement period - monthly billing
"SettlementPeriodRule": "BILL0001",
"ServiceContrItemStartDateTime": "2025-08-13T00:00:00Z",
"ServiceContrItemEndDateTime": "2026-08-13T00:00:00Z",
"_BillingRequestItem": [],
"_PriceElement": []
}
]
}</code></pre><P> </P>2025-11-10T11:10:34.647000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082Solution Order APIs - OData V42025-11-11T15:16:58.766000+01:00babuganesh1982https://community.sap.com/t5/user/viewprofilepage/user-id/197549<H1 id="toc-hId-1631987350">Table of Contents</H1><P><ul =""><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1631987350">Table of Contents</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1238960340">Introduction</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1042446835">Authentication and Access</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-845933330">Metadata</a></li><li style="list-style-type:disc; margin-left:0px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-649419825">API Capabilities and Entities</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-581989039">BusinessSolutionOrder – Solution Order Header</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-385475534">BusinessSolutionOrderItem – Solution Order Item</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-188962029">BusSolnOrdPartner – Solution Order Header Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--7551476">BusSolnOrdItmPartner – Solution Order Item Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-143189376">BusSolnOrdPartnerAddress – Address of Header Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--53324129">BusSolnOrdItmPartnerAddr - Address of Item Partner</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--249837634">BusSolnOrdItmPriceElement – Item Price Element</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--446351139">BusSolnOrdItmScheduleLine – Item Schedule Line(Sales Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--642864644">BSOrdItmRateElement – Item Rate Element (Subscription Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--839378149">BSOrdItmSubscrpnParameter – Item Subscription Parameter(Subscription Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1035891654">BSOrdItmSubscrpnPriceAgrmt Item Price Agreement(Subscription Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1232405159">BusSolnOrdItmProduct – Item Product(Contract Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1428918664">BusSolnOrdItmRefObject – Item Reference Object(Service or Contract Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1625432169">BusSolnOrdItemRelationship – Solution Order Item Relationship</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1653761983">BusSolnOrdUserStatus – Header User Status</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--1850275488">BusSolnOrdItmUserStatus – Item User Status</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--2046788993">BusinessSolutionOrderLongText – Header Long Text</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-2051664798">BusSolnOrdItmLongTxt – Item Long Text</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1855151293">BusSolnOrdItmBillgReqItem – Billing Request Item(of a Contract Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1658637788">BSOrdItmBillgReqItmPrcElm – Price element of Billing Request Item (Contract Item)</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1462124283">BusSolnOrdAppointment – Header Appointment</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1265610778">BusSolnOrdItmAppointment – Item Appointment</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-1069097273">BusSolnOrdItmDuration – Item Duration</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-872583768">BusSolnOrdFUPSalesOrder – Follow-up Sales Order</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-844253954">BusSolnOrdFUPSrvcOrd – Follow-up Service Order</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-647740449">BusSolnOrdFUPSrvcContr – Follow-up Service Contract</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-451226944">BusSolnOrdFUPSubscrpn – Follow-up Subscription</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-254713439">BusSolnOrdFUPEntProject – Follow-up Enterprise Project</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId-58199934">BusSolnOrdItmFUPSalesOrder - Follow-up Sales Order Item</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--138313571">BusSolnOrdItmFUPSrvcOrd – Follow-up Service Order Item</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--334827076">BusSolnOrdItmFUPSrvcContr – Follow-up Service Contract Item</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--531340581">BusSolnOrdItmFUPSubscrpn – Follow-up Subscription Item</a></li><li style="list-style-type:disc; margin-left:15px; margin-bottom:1px;"><a href="https://community.sap.com/t5/technology-blog-posts-by-sap/solution-order-apis-odata-v4/ba-p/14228082#toc-hId--727854086">BusSolnOrdItmFUPEntProject - Follow-up Enterprise Project Item</a></li></ul></P><H1 id="toc-hId-1435473845"> </H1><H1 id="toc-hId-1238960340"><STRONG>Introduction</STRONG></H1><P>Solution Order is a business transaction in SAP Cloud ERP, used to sell solutions which can be a combination of either physical goods, one time services, recurring services, subscriptions, or projects bundled as one integrated customer offering. With the 2508 release of SAP Cloud ERP, the OData V4 APIs for solution order is available. In this blog, you will find more information about the API, the entities available for consumption and the operations on these entities and some key differentiators of the V4 API. </P><P> </P><H1 id="toc-hId-1042446835"><STRONG>Authentication and Access</STRONG></H1><P>The communication arrangement with the Business Solution Order Integration scenario(SAP_COM_0706) needs to be in place to access the APIs. You will need to create a communication arrangement for the communication scenario SAP_COM_0706, A Communication System with an inbound user. You can as well configure OAUTH 2.0 if needed.</P><P>The API allows Basic Authentication(Username/password), OAUTH2.0, and X.509 Certificate Authentication</P><P> </P><H1 id="toc-hId-845933330"><STRONG>Metadata</STRONG></H1><P>Metadata provides a description of the service, detailing the structure of the data, available entities, their properties, relationships, and supported operations. It acts as a blueprint that allows both developers and tools to understand how to interact with the service without needing prior knowledge of its design.</P><P>It can be accessed using the below URL</P><P>https://<<SERVER>>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001/$metadata</P><P>Below is a screenshot, with a part of the metadata of the Business Solution Order API.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="babuganesh1982_1-1761284172112.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/331805i58A66F70A28255D2/image-size/large?v=v2&px=999" role="button" title="babuganesh1982_1-1761284172112.png" alt="babuganesh1982_1-1761284172112.png" /></span></P><P>In the above partial view of the metadata, you can see the Entity BusinessSolutionOrder, it has key- BusinessSolutionOrder, and a set of properties like BusinesssSolutionOrder, BusSolnOrdType, BusSolnOrdDescription, etc. it also specifies the type, max length, precision etc of the property. There are a set of navigational properties(or associations) for the entity. Associations are other entities related to the current entity.</P><P><STRONG> </STRONG></P><H1 id="toc-hId-649419825"><STRONG>API Capabilities and Entities</STRONG></H1><TABLE width="95%"><TBODY><TR><TD width="27%"><P><STRONG>Entity</STRONG></P></TD><TD width="16%"><P><STRONG>Supported Operations</STRONG></P></TD><TD width="25%"><P><STRONG>Comments</STRONG></P></TD><TD width="29%"><P><STRONG>Associations</STRONG></P></TD></TR><TR><TD width="27%"><P data-unlink="true">BusinessSolutionOrder </P></TD><TD width="16%"><P>CREATE / READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Solution Order Header</STRONG></P></TD><TD width="29%"><P>_Items</P><P>_Partner</P><P>_Text</P><P>_UserStatus</P><P>_ItemRelationship</P><P>_FUPSalesOrder</P><P>_FUPServiceOrder</P><P>_FUPServiceContr</P><P>_FUPEntProject</P><P>_FUPSubscrpn</P><P>_Appointment</P></TD></TR><TR><TD width="27%"><P>BusinessSolutionOrderItem</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Solution Order Item</STRONG> For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrder</P></TD><TD width="29%"><P>_Partner</P><P>_PriceElement</P><P>_Text</P><P>_ScheduleLine</P><P>_UserStatus</P><P>_Product</P><P>_ReferenceObject</P><P>_BillingRequestItem</P><P>_RateElement</P><P>_SubscriptionParameter</P><P>_SubscriptionPriceAgreement</P><P>_FUPSalesOrderItem</P><P>_FUPServiceOrderItem</P><P>_FUPServiceContrItem</P><P>_FUPEntProjectItem</P><P>_FUPSubscrpnItem</P><P>_Appointment</P><P>_Duration</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdPartner</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Header Partner</STRONG> For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrder</P></TD><TD width="29%"><P>_PartnerAddress</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmPartner</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Item Partner</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_PartnerAddress</P><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdPartnerAddress</P></TD><TD width="16%"><P>READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Header Partner Address</STRONG></P></TD><TD width="29%"><P>_Partner</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmPartnerAddr</P></TD><TD width="16%"><P>READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Item Partner Address</STRONG></P></TD><TD width="29%"><P>_Partner</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmPriceElement</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Item Price Element</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmScheduleLine</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P>Schedule Line of Sales Item</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BSOrdItmRateElement</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Rate Element of a Subscription Item</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BSOrdItmSubscrpnParameter</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Subscription Parameter of a Subscription Item</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BSOrdItmSubscrpnPriceAgrmt</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Price Agreement of Subscription Item</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmProduct</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Item Product</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmRefObject</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Item Reference Object</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItemRelationship</P></TD><TD width="16%"><P>CREATE / READ / DELETE</P></TD><TD width="25%"><P><STRONG>Item Relationship</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdUserStatus</P></TD><TD width="16%"><P>CREATE / READ</P></TD><TD width="25%"><P><STRONG>Header User Status</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrder</P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmUserStatus</P></TD><TD width="16%"><P>CREATE / READ</P></TD><TD width="25%"><P><STRONG>Item User Status</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusinessSolutionOrderLongText</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Header Text</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmLongTxt</P></TD><TD width="16%"><P>CREATE / READ / UPDATE / DELETE</P></TD><TD width="25%"><P><STRONG>Item Text</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusinessSolutionOrderItem</P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmBillgReqItem</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Billing Request Item of a Contract Item</STRONG></P></TD><TD width="29%"><P>_PriceElement</P><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BSOrdItmBillgReqItmPrcElm</P></TD><TD width="16%"><P>CREATE/READ / UPDATE/DELETE</P></TD><TD width="25%"><P><STRONG>Price Element of Billing Request Line</STRONG></P><P>For <STRONG>Create</STRONG> operation, you can only use this entity in association with BusSolnOrdItmBillgReqItem</P></TD><TD width="29%"><P>_BillingRequestItem</P><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdAppointment</P></TD><TD width="16%"><P>CREATE / READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Header Appointments</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrderTP</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmAppointment</P></TD><TD width="16%"><P>CREATE / READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Item Appointments</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmDuration</P></TD><TD width="16%"><P>CREATE / READ / UPDATE</P></TD><TD width="25%"><P><STRONG>Item Duration</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrderTP</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdFUPSalesOrder</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Sales Orders</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdFUPSrvcOrd</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Service Orders</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdFUPSrvcContr</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Service Contracts</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdFUPSubscrpn</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Subscriptions</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdFUPEntProject</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Projects</STRONG></P></TD><TD width="29%"><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmFUPSalesOrder</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Sales Order Items</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmFUPSrvcOrd</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Service Order Items</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmFUPSrvcContr</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Service Contract Items</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmFUPSubscrpn</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Subscription Items</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR><TR><TD width="27%"><P>BusSolnOrdItmFUPEntProject</P></TD><TD width="16%"><P>READ</P></TD><TD width="25%"><P><STRONG>Follow Up Project Items</STRONG></P></TD><TD width="29%"><P>_Item</P><P>_BusinessSolutionOrder</P></TD></TR></TBODY></TABLE><P> </P><H2 id="toc-hId-581989039"><STRONG>BusinessSolutionOrder – Solution Order Header</STRONG></H2><P>With the Solution Order Header entity and its associations, you can create a solution order with the header and one or more of its associated entity(and its associated entities).</P><P>For Example: You can create a solution order by using the BusinessSolutionOrder along with Items, Partner, Item Partner, PriceElement, ItemRelationship, Text, UserStatus etc.</P><P>In the below example you will see creation of a solution order, adding items to the solution orders, creating a header text, and creating an item relationship between two items, all in separate OData calls and also to see how this can be achieved in one deep insert ODATA calls</P><P><STRONG>Create a solution order with just header</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Solution Order",
"Language": "EN",
"SoldToParty": "17100001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"PurchaseOrderByCustomer": "External Reference"
}</code></pre><P><STRONG> </STRONG></P><P><STRONG>Create an Item for an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/_Item
X-CSRF-Token: abc
{
"Product": "TG11",
"BusinessSolutionOrderItem": "10",
"Quantity": 1,
"QuantityUnit": "PC",
"BusSolnOrdItmQtyUnitISOCode": "PCE"
}</code></pre><P> </P><P><STRONG>Create another Item for an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/_Item
X-CSRF-Token: abc
{
"Product": "SRV_01",
"BusinessSolutionOrderItem": "20",
"Quantity": 1,
"SrvcContrDetnIsSpprsd": true,
"QuantityUnit": "HR",
"BusSolnOrdItmQtyUnitISOCode": "HUR"
}</code></pre><P> </P><P><STRONG>Create a Header Text for an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/_Text
X-CSRF-Token: abc
{
"TextObjectType": "0001",
"Language": "EN",
"BusinessSolutionOrderLongText": "This is a Header Note"
}</code></pre><P><STRONG> </STRONG></P><P><STRONG>Create an item relationship between item 10 and item 20 of an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/_ItemRelationship
X-CSRF-Token: abc
{
"BusinessSolutionOrder":"<<SOLUTION_ORDER_ID>>",
"SrvcItemRelshpFromItemNumber": "10",
"SrvcItemRelshpType": "001",
"SrvcItemRelshpToItemNumber": "20"
}</code></pre><P> </P><P>You can also perform all the above in one deep insert OData request by specifying all the related entities in a single request</P><P><STRONG>Create a solution order with deep insert: 2 items, override header partner, override item partner, add a header note and create an item relationship between item 10 and 20</STRONG></P><pre class="lia-code-sample language-abap"><code>POST <host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Solution Order",
"Language": "EN",
"SoldToParty": "17100001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"PurchaseOrderByCustomer": "External Reference",
//Solution Order Item
"_Item": [
{
"Product": "TG11",
"BusinessSolutionOrderItem": "10",
"Quantity": 1,
"QuantityUnit": "PC",
"BusSolnOrdItmQtyUnitISOCode": "PCE",
"_Partner": [
{
"CustMgmtPartnerFunction": "00000055",
"CustMgmtBusinessPartner": "17100003"
}
]
},
{
"Product": "SRV_01",
"BusinessSolutionOrderItem": "20",
"SrvcContrDetnIsSpprsd": true,
"Quantity": 1,
"QuantityUnit": "HR",
"BusSolnOrdItmQtyUnitISOCode": "HUR"
}
],
//Partner at Header
"_Partner": [
{
"CustMgmtPartnerFunction": "00000055",
"CustMgmtBusinessPartner": "17100002"
}
],
//Notes at Header
"_Text": [
{
"TextObjectType": "0001",
"Language": "EN",
"BusinessSolutionOrderLongText": "This is a Header Note"
}
],
//Relationship between Items
"_ItemRelationship": [
{
"SrvcItemRelshpFromItemNumber": "10",
"SrvcItemRelshpType": "001",
"SrvcItemRelshpToItemNumber": "20"
}
]
}</code></pre><P> </P><P><STRONG>Read all the entities of a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003509?$expand=*</code></pre><P> </P><P><STRONG>Read one or more associated entities of a solution order header</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003509?$expand=_Partner,_ItemRelationship</code></pre><P> </P><H2 id="toc-hId-385475534"><STRONG>BusinessSolutionOrderItem – Solution Order Item</STRONG></H2><P>With the Solution Order Item entity, you can create one ore more of its associated entity. However, to create a solution order item, you will have to use the BusinessSolutionOrder along with _Item association.</P><P>For Example: You can create an Item Partner, PriceElement, Text, UserStatus etc for an item using the BusinessSolutionOrderItem along with the respective associations.</P><P>In the below examples you will see creation of a discount price condition, Item Text, Item Product, Reference Object, Item Appointment, Item Duration, Price Agreement for an existing solution order item,</P><P> </P><P><STRONG>Create a discount price element for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/20/_PriceElement
X-CSRF-Token: abc
{
"ConditionType": "DRV1",
"ConditionRateValue": -10
}</code></pre><P> </P><P><STRONG>Create an item text for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/10/_Text
X-CSRF-Token: abc
{
"TextObjectType": "0001",
"Language": "EN",
"BusSolnOrdItmLongText": "This is an Item Note"
}</code></pre><P> </P><P><STRONG>Create an item product for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/30/_Product
X-CSRF-Token: abc
{
"ServiceProductListItem": "1",
"SrvcProductListProduct": "SRV_01"
}</code></pre><P> </P><P><STRONG>Create item reference object for an existing solution order Service item</STRONG></P><P>For a service item, you can create a reference object by passing either the functional location id or the equipment id.</P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/20/_ReferenceObject
X-CSRF-Token: abc
{
"ServiceReferenceEquipment":"10001405"
}</code></pre><P> </P><P><STRONG>Create item reference object for an existing solution order Service item</STRONG></P><P>For a contract item, you can create a reference object by passing either the functional location id or the equipment id or the Reference Product.</P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/20/_ReferenceObject
X-CSRF-Token: abc
{
"ServiceReferenceProduct":"10001405"
}</code></pre><P><STRONG> </STRONG></P><P><STRONG>Create an item appointment for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/50/_Appointment
X-CSRF-Token: abc
{
"SrvcDocAppointmentType":"SUBS_PRIC_DT",
"SrvcDocApptStartDateTime":"2025-09-28T10:00:00Z",
"SrvcDocApptEndDateTime":"2025-09-28T10:00:00Z"
}</code></pre><P>Appointment entities are used to persist various date fields in solution order. </P><P><SPAN>You define the Appointment type using the configuration activity </SPAN><STRONG><SPAN class="">Define Date Types, Duration Types and Date Rules for Service Transactions</SPAN></STRONG><SPAN> in your configuration environment. The system uses the duration, dates types, and date rules that are combined in a specific date profile to display dates in a transaction and to automatically determine them. </SPAN><SPAN>Make sure to assign the date profile to transaction types. </SPAN></P><P> </P><P><STRONG>Create an item duration for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003519/30/_Duration
X-CSRF-Token: abc
{
"SrvcDocDurationType": "CONTDURA",
"SrvcDocDurationValue": 18,
"SrvcDocDurationUnit": "MONTH"
}</code></pre><P>Fields on the UI like Fixed Term, Minimum Term, Minimum Term End, Renewal Term, Withdrawal Period, Withdrawal Period End, Term of Notice, Expected Term, Expected Term End, Expected Term Extension (visible under the Subscription Terms section in the UI), and Contact Validity Period (visible in the Dates Section of a contract item)are available in the Item Duration entity. These are persisted against the duration types below. The subscription terms can be updated in the UI as well as API only if the field “Override Default Terms” is selected (field in API - SubscrpnContrTrmsAreSpecified)</P><P><SPAN>You define the Duration type using the configuration activity </SPAN><STRONG><SPAN class="">Define Date Types, Duration Types and Date Rules for Service Transactions</SPAN></STRONG><SPAN> in your configuration environment. The system uses the duration, dates types, and date rules that are combined in a specific date profile to display dates in a transaction and to automatically determine them. </SPAN><SPAN>Make sure to assign the date profile to transaction types. </SPAN></P><P> </P><P><STRONG>Create an item price agreement for an existing solution order subscription item</STRONG></P><P>Price agreements are originally persisted in the subscription system, however this can be customised in the S/4HANA system. In such cases, the customised values are additionally persisted in S/4HANA systems.</P><P>Under the Price Calculation section you will see the prices that can be customisable. You can customize the price using the POST operation on the BusinessSolutionOrderItem entity using the _SubscriptionPriceAgreement association.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="babuganesh1982_5-1761293565529.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/331924i5AFE2DB68632FF84/image-size/large?v=v2&px=999" role="button" title="babuganesh1982_5-1761293565529.png" alt="babuganesh1982_5-1761293565529.png" /></span></P><P> </P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001 /BusinessSolutionOrderItem/100003519/50/_SubscriptionPriceAgreement
X-CSRF-Token: abc
{
"SubscriptionRateElement": "ONETIME",
"SubscrpnBillgPrcElmntSpec": "OneTimePrice",
"SubscrpnBillgPricingField": "price",
"SubscrpnBillgPricingScaleType": "A",
"SubscrpnBillgCndnCalcType": "B",
"ConditionCurrency": "USD",
"ConditionRateValue": 190,
"SbscrBilgCndnScaleLineIsUnlmtd": false
}</code></pre><P> </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338772i0603A3F9B9244996/image-size/large?v=v2&px=999" role="button" title="image.png" alt="image.png" /></span></P><P>Once the price is updated in S/4HANA it is persisted and you will notice under the customization status as Is Customized.</P><P>Since there is no persistency in the S/4HANA system until it is customised, the first time the customising of the price can be done using a POST operation of the API, and to update the prices again a PATCH operation can be used.</P><P>Multiple Price calculation is not supported. However if you still use the POST again after the initial customising, there will be 2 entries of the price which will be persisted in the table.</P><DIV class=""> </DIV><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="babuganesh1982_7-1761293565538.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/331922i6CA2BF7C2254A50A/image-size/large?v=v2&px=999" role="button" title="babuganesh1982_7-1761293565538.png" alt="babuganesh1982_7-1761293565538.png" /></span></P><P>In such case the entire Price calculation section will become empty and the solution order item will unusable in the UI along with a simulation error. This cannot be corrected from the UI. To correct this, you will have to delete the record using the DELETE operation on the Item Price Agreement entity (BSOrdItmSubscrpnPriceAgrmt).</P><P> </P><H2 id="toc-hId-188962029"><STRONG>BusSolnOrdPartner – Solution Order Header Partner</STRONG></H2><P>Solution Order determines header partners based on the partner determination procedure assigned to the transaction type.</P><P>To override the determined partners, you can pass the partner information either using the partner functions available as properties in the BusinessSolutionOrder entity like ShipToParty, BillToParty, PayerParty, RespEmployeeBusinessPartnerId and ContactPersonBusinessPartnerId or by passing the respective partners in the _Partner association while creating a solution order using deep insert.</P><P>The header partner entity can also be created using the association _Partner of the BusinessSolutionOrder entity but this may result in a too many partner error on the document. So If you use the _Partner association to create a partner at header make sure the entry you are trying to create doesn’t create an additional partner of an existing type.</P><P> </P><P><STRONG>Create a header partner for an existing solution order </STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003561/_Partner
X-CSRF-Token: abc
IF-Match: *
{
"BusinessSolutionOrder":"100003561",
"CustMgmtPartnerFunction":"00000003",
"CustMgmtBusinessPartner":"17100002"
}</code></pre><P> </P><P>If you observe the metadata of the header partner entity, You will notice that both the properties CustMgmtPartnerFunction and CustMgmtBusinessPartner are key properties and hence they cannot be updated via a PATCH call. So to update a header partner, you can use the properties ShipToParty, BillToParty, PayerParty, RespEmployeeBusinessPartnerId and ContactPersonBusinessPartnerId in the BusinessSolutionOrder entity.</P><P>You should not try to update the SoldToPrarty property either at the header or the item.</P><P> </P><P><STRONG>Delete a header partner of an existing solution order </STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdPartner/100003561/00000003/17100001
X-CSRF-Token: abc
IF-Match: *</code></pre><P>Deleting a header partner might result in an error if the partner function is mandatory.</P><P> </P><H2 id="toc-hId--7551476"><STRONG>BusSolnOrdItmPartner – Solution Order Item Partner</STRONG></H2><P>Solution Order determines item partners based on the partner determination procedure assigned to the transaction type and the header partner.</P><P>To override the determined partners, you can pass the partner information either using the partner functions available as properties in the BusinessSolutionOrderItem entity like ShipToParty, BillToParty, PayerParty, RespEmployeeBusinessPartnerId and ContactPersonBusinessPartnerId or by passing the respective partners in the _Partner association while creating a solution order using deep insert.</P><P>The item partner entity can also be created using the association _Partner of the BusinessSolutionOrderItem entity but this may result in a too many partner error on the document. So If you use the _Partner association to create a partner at the item make sure the entry you are trying to create doesn’t create an additional partner of an existing type.</P><P> </P><P><STRONG>Create an item partner for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100003561/10/_Partner
X-CSRF-Token: abc
{
"BusinessSolutionOrder":"100003561",
"BusinessSolutionOrderItem":"10",
"CustMgmtPartnerFunction":"00000003",
"CustMgmtBusinessPartner":"17100002"
}</code></pre><P>If you observe the metadata of the item partner entity, You will notice that both the properties CustMgmtPartnerFunction and CustMgmtBusinessPartner are key properties and hence they cannot be updated via a PATCH call. So to update an item partner, you can use the properties ShipToParty, BillToParty, PayerParty, RespEmployeeBusinessPartnerId and ContactPersonBusinessPartnerId in the BusinessSolutionOrderItem entity. You should not try to update the SoldToPrarty property either at the header or the item.</P><P> </P><P><STRONG>Delete an item partner of an existing solution order item </STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdPartnerItem/100003561/10/00000003/17100001
X-CSRF-Token: abc
IF-Match: *</code></pre><P>Deleting an item partner might result in an error if the partner function is mandatory.</P><P> </P><H2 id="toc-hId-143189376"><STRONG>BusSolnOrdPartnerAddress – Address of Header Partner</STRONG></H2><P>Address of header partner can be read and updated</P><P> </P><P><STRONG>Update address of header partner of an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdPartnerAddress/100004251/00000003/17100001
X-CSRF-Token: abc
IF-Match: *
{
"HouseNumber": "138",
"StreetName": "ITPL Main Road",
"CityName": "Banglaore",
"Country": "IN",
"Region": "KA",
"PostalCode": "560066",
"MobilePhoneCountry": "IN",
"MobileNumber": "9988776655",
"PhoneNumberCountry": "US",
"PhoneNumber": "20204040",
"PhoneExtensionNumber": "1234",
"FaxNumberCountry": "IN",
"FaxAreaCodeSubscriberNumber": "1234567890",
"FaxExtensionNumber": "5678",
"EmailAddress": "newmailaddr@mailbox.com"
}</code></pre><P> </P><P> </P><H2 id="toc-hId--53324129"><STRONG>BusSolnOrdItmPartnerAddr - Address of Item Partner</STRONG></H2><P>Address of item partner can be read and updated</P><P> </P><P><STRONG>Update address of item partner of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmPartnerAddr/100004251/10/00000003/17100001
X-CSRF-Token: abc
IF-Match: *
{
"HouseNumber": "138",
"StreetName": "ITPL Main Road",
"CityName": "Banglaore",
"Country": "IN",
"Region": "KA",
"PostalCode": "560066",
"MobilePhoneCountry": "IN",
"MobileNumber": "9988776655",
"PhoneNumberCountry": "US",
"PhoneNumber": "20204040",
"PhoneExtensionNumber": "1234",
"FaxNumberCountry": "IN",
"FaxAreaCodeSubscriberNumber": "1234567890",
"FaxExtensionNumber": "5678",
"EmailAddress": "newmailaddr@mailbox.com"
}</code></pre><P> </P><H2 id="toc-hId--249837634"><STRONG>BusSolnOrdItmPriceElement – Item Price Element</STRONG></H2><P>Item price element of a solution order item can be created by passing the price element in the _PriceElement association at the item while creating a solution order using deep insert.</P><P>The item price element entity can also be created using the association _ PriceElement of the BusinessSolutionOrderItem entity.</P><P> </P><P><STRONG>Create an item price element for an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/10/_PriceElement
X-CSRF-Token: abc
{
"ConditionType": "DRV1",
"ConditionRateValue": -10
}</code></pre><P>If you create a price element with the same condition type as existing, it will override the existing price element and will mark it inactive and make the new one active. </P><P> </P><P><STRONG>Update item price element of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmPriceElement/100004251/10/240/1
X-CSRF-Token: abc
IF-Match: *
{
"BusinessSolutionOrder": "100004251",
"BusinessSolutionOrderItem": "10",
"PricingProcedureStep": "240",
"PricingProcedureCounter": "1",
"ConditionType": "DRV1",
"ConditionRateValue": -5
}</code></pre><P>The PricingProcedureStep and PricingProcedureCounter needs to be passed in the parameter</P><P> </P><P><STRONG>Delete an item price element of an existing solution order item </STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmPriceElement/100004251/10/240/1
X-CSRF-Token: abc
IF-Match: *</code></pre><P>To Deleting an item price element, PricingProcedureStep and PricingProcedureCounter needs to be passed in the parameter.</P><P> </P><H2 id="toc-hId--446351139"><STRONG>BusSolnOrdItmScheduleLine – Item Schedule Line(Sales Item)</STRONG></H2><P><STRONG>You can only read a schedule line entity and no other operations are supported on this entity, and this is only relevant for a sales item</STRONG></P><P> </P><P><STRONG>Read a schedule line of a sales item of an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmScheduleLine/100004251/10/1</code></pre><P>You can also use the $filter parameter to filter by the solution order you will get all the schedule line entities for the solution order</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmScheduleLine?$filter=BusinessSolutionOrder eq '100004251'</code></pre><P> </P><H2 id="toc-hId--642864644"><STRONG>BSOrdItmRateElement – Item Rate Element (Subscription Item)</STRONG></H2><P>You cannot update a rate element but can read an existing rate element for a solution order subscription item using BSOrdItmRateElement</P><P> By passing the solution order number, item and rate element number. You can also read the rate element when you read a solution order item with an expand=_RateElement</P><P> </P><H2 id="toc-hId--839378149"><STRONG>BSOrdItmSubscrpnParameter – Item Subscription Parameter(Subscription Item)</STRONG></H2><P>You can read a subscription parameter using a GET operation on the BSOrdItmSubscrpnParameter entity by passing the solution order number, item and the subscription parameter sequence number or by reading the solution order item with a $expand = _SubscriptionParameter</P><P><STRONG>Update subscription parameter of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BSOrdItmSubscrpnParameter/100004251/70/1
X-CSRF-Token: abc
IF-Match: *
{
"SubscriptionParameter": "ONETIME_CREDIT",
"SubscrpnParameterIntegerValue": 2
}</code></pre><P>You can update a subscription parameter of a subscription item only if the item is not released or completed already</P><P> </P><P><STRONG>Delete subscription parameter of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BSOrdItmSubscrpnParameter/100004251/70/1
X-CSRF-Token: abc
IF-Match: *</code></pre><P> </P><P>You can delete a subscription parameter of a subscription item only if the item is not released or completed already</P><P> </P><P><STRONG>Create subscription parameter of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/70/_SubscriptionParameter
X-CSRF-Token: abc
IF-Match: *
{
"SubscriptionParameter": "ONETIME_CREDIT",
"SubscrpnParameterIntegerValue": 1
}</code></pre><P>You can create a subscription parameter of a subscription item using the POST operation on BusinessSolutionOrderItem using the association _SubscriptionParameter</P><P> </P><P> </P><H2 id="toc-hId--1035891654"><STRONG>BSOrdItmSubscrpnPriceAgrmt Item Price Agreement(Subscription Item)</STRONG></H2><P>Price agreements are originally persisted in the subscription system, however this can be customised in the S/4HANA system. In such cases, the customised values are additionally persisted in S/4HANA systems.</P><P> </P><P><STRONG>Update subscription price agreement of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BSOrdItmSubscrpnPriceAgrmt(BusinessSolutionOrder='100004251',BusinessSolutionOrderItem='000070',SubscriptionRateElement='ONETIME_CRDT',SubscriptionRateSubElement='',SubscrpnBillgPrcElmntSpec='OneTimePrice',SubscrpnBillgPricingField='price',SubscrpnBillgPrcAgreementLine='900001')
X-CSRF-Token: abc
IF-Match: *
{
"SubscrpnBillgPricingScaleType": "A",
"SubscrpnBillgCndnCalcType": "B",
"ConditionRateValue": 1001,
"ConditionCurrency": "USD"
}</code></pre><P> </P><P><STRONG>Delete subscription price agreement of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BSOrdItmSubscrpnPriceAgrmt(BusinessSolutionOrder='100004251',BusinessSolutionOrderItem='000070',SubscriptionRateElement='ONETIME_CRDT',SubscriptionRateSubElement='',SubscrpnBillgPrcElmntSpec='OneTimePrice',SubscrpnBillgPricingField='price',SubscrpnBillgPrcAgreementLine='900001')
X-CSRF-Token: abc
IF-Match: *</code></pre><P>You can update or delete a subscription price agreement of a subscription item only if the item is not released or completed already. To be sure you pass the mandatory information correctly, you can do a GET operation on the BSOrdItmSubscrpnPriceAgrmt entity for the subscription item you want to update the price Agreement. It is required to pass the scale type and calculation type in the payload even though you do not intend to modify them</P><H2 id="toc-hId--1232405159"><STRONG>BusSolnOrdItmProduct – Item Product(Contract Item)</STRONG></H2><P> </P><P><STRONG>Update item product list of an existing solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmProduct/100004251/100/1
X-CSRF-Token: abc
IF-Match: *
{
"SrvcProductListProduct":"SRV_05"
}</code></pre><P> </P><P><STRONG>Delete subscription price agreement of an existing solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmProduct/100004251/100/1
X-CSRF-Token: abc
IF-Match: *</code></pre><P>You can update or delete an Item Product List of contract item only if the item is not released or completed already.</P><P> </P><H2 id="toc-hId--1428918664"><STRONG>BusSolnOrdItmRefObject – Item Reference Object(Service or Contract Item)</STRONG></H2><P> </P><P><STRONG>Update item reference object list of an existing solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmProduct/100004251/100/1
X-CSRF-Token: abc
IF-Match: *
{
"SrvcProductListProduct":"SRV_05"
}</code></pre><P> </P><P><STRONG>Delete item reference object list of an existing solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmRefObject/100004251/100/1
X-CSRF-Token: abc
IF-Match: *</code></pre><P> </P><P>You can update an Item Reference object of a service item by passing the equipment id or the functional location id in the payload or that of a contract item by passing the reference product id or the equipment id or the functional location id in the payload.</P><P> </P><H2 id="toc-hId--1625432169"><STRONG>BusSolnOrdItemRelationship – Solution Order Item Relationship</STRONG></H2><P> </P><P><STRONG>Get all item relationships in a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItemRelationship?$filter=BusinessSolutionOrder eq '100004251'</code></pre><P> </P><P><STRONG>Delete an item relationship of type 001 (Depends on) between item 10 and 20</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItemRelationship/100004251/10/001/20
X-CSRF-Token: abc
IF-Match: *</code></pre><P> </P><H2 id="toc-hId--1653761983"><STRONG>BusSolnOrdUserStatus – Header User Status</STRONG></H2><P> </P><P><STRONG>Create user status at header for an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/<<SOLO_ID>>/_UserStatus
X-CSRF-Token: abc
{
"BusinessSolutionOrder": "100004251",
"UserStatus": "E0002"
}</code></pre><P> </P><P><STRONG>Create user status at header using deep insert while creating a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder
X-CSRF-Token: abc
{
"BusSolnOrdType": "SOLO",
"BusSolnOrdDescription": "Solution Order with User Status",
"Language": "EN",
"SoldToParty": "17100001",
"SalesOrganization": "1710",
"DistributionChannel": "10",
"Division": "00",
"RespEmployeeBusinessPartnerId": "9980000549",
"PurchaseOrderByCustomer": "External Reference",
"_UserStatus": [
{
"UserStatus": "E0002"
}
]
}</code></pre><P> </P><H2 id="toc-hId--1850275488"><STRONG>BusSolnOrdItmUserStatus – Item User Status</STRONG></H2><P>Prerequisites: Make sure to assign the status profile to which the user status belongs to the respective item category of the solution order item. To do this, using SSCUI, define status profile for User Status and assign the status profile to item categories</P><P><STRONG>Create item user status at item for an existing solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/10/_UserStatus
X-CSRF-Token: abc
{
"UserStatus": "E0002"
}</code></pre><P> </P><P><STRONG>Create item user status using deep insert while creating a solution order item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100004251/_Item
X-CSRF-Token: abc
{
"Product": "TG11",
"Quantity": 1,
"BusSolnOrdItmQtyUnitISOCode": "EA",
"_UserStatus": [
{
"UserStatus": "E0002"
}
]
}</code></pre><P> </P><H2 id="toc-hId--2046788993"><STRONG>BusinessSolutionOrderLongText – Header Long Text</STRONG></H2><P> </P><P><STRONG>Get all header text of a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderLongText?$filter=BusinessSolutionOrder eq '100004251'</code></pre><P> </P><P><STRONG>Get a specific header text of a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderLongText/100004251/0001/EN</code></pre><P><STRONG> </STRONG></P><P><STRONG>Update a header text of a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderLongText/100004251/0001/EN
X-CSRF-Token: abc
IF-Match: *
{
"BusinessSolutionOrderLongText":"Updated Header Text"
}</code></pre><P><STRONG> </STRONG></P><P><STRONG>Delete a header text of a solution order</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderLongText/100004251/0001/EN
X-CSRF-Token: abc
IF-Match: *</code></pre><P> </P><H2 id="toc-hId-2051664798"><STRONG>BusSolnOrdItmLongTxt – Item Long Text</STRONG></H2><P> </P><P><STRONG>Get item text of a solution order item 10</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmLongTxt?$filter=BusinessSolutionOrder eq '100004251'and BusinessSolutionOrderItem eq '10'</code></pre><P> </P><P><STRONG>Update item text of a solution order item 10</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmLongTxt/100004251/10/001/EN
X-CSRF-Token: abc
IF-Match: *
{
"BusSolnOrdItmLongText": "Updated Item Text"
}</code></pre><P> </P><P><STRONG>Delete item text of a solution order item 10</STRONG></P><pre class="lia-code-sample language-abap"><code>DELETE
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmLongTxt/100004251/10/001/EN
X-CSRF-Token: abc
IF-Match: *</code></pre><P> </P><H2 id="toc-hId-1855151293"><STRONG>BusSolnOrdItmBillgReqItem – Billing Request Item(of a Contract Item)</STRONG></H2><P>Only READ operation is supported on the BusSolnOrdItmBillgReqItem entity. This will be available only for service contract item with item category SOSC (Service Contract Item) and SOPA (Service Contract Price Adaptation)</P><P> </P><P><STRONG>Get all Billing Request Items of a solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmBillgReqItem?$filter=BusinessSolutionOrder eq '100004251'</code></pre><P> </P><P><STRONG>Get a specific billing request item of a solution order contract item by id</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmBillgReqItem/100004251/100/800001</code></pre><P> </P><H2 id="toc-hId-1658637788"><STRONG>BSOrdItmBillgReqItmPrcElm – Price element of Billing Request Item (Contract Item)</STRONG></H2><P>You can create a Price Element for a Billing request Item of a Contract item of a solution order using the _PriceElement association of the BusSolnOrdItmBillgReqItem entity.</P><P> </P><P><STRONG>Create a discount price element for a specific billing item a solution order service contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>POST
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmBillgReqItem/100004251/100/800001/_PriceElement
X-CSRF-Token: abc
{
"ConditionType": "DRV1",
"ConditionRateValue": -10,
"ConditionCurrency": "USD"
}</code></pre><P>Above payload will create a price element (Fixed Discount DRV1) for billing item 800001 of the service contract item</P><P> </P><P><STRONG>Read all the price element for a billing request item of a solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmBillgReqItem/100004251/100/800001/_PriceElement</code></pre><P> </P><P><STRONG>Update a price element for a billing request item of a solution order contract item</STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BSOrdItmBillgReqItmPrcElm/100004251/100/800001/90/1
X-CSRF-Token: abc
IF-Match: *
{
"ConditionType": "PSI1",
"ConditionRateValue": 120
}</code></pre><P> </P><H2 id="toc-hId-1462124283"><STRONG>BusSolnOrdAppointment – Header Appointment</STRONG></H2><P>Appointment entities are used to persist various date fields in solution order. </P><P><SPAN>You define the Appointment type using the configuration activity </SPAN><STRONG><SPAN class="">Define Date Types, Duration Types and Date Rules for Service Transactions</SPAN></STRONG><SPAN> in your configuration environment. The system uses the duration, dates types, and date rules that are combined in a specific date profile to display dates in a transaction and to automatically determine them. </SPAN><SPAN>Make sure to assign the date profile to transaction types. </SPAN></P><P> </P><P><STRONG>Update BILL_DATE at solution order header using the Appointment Entity </STRONG></P><P>Billing Date is a single date field and does not have a start and end date, in such case in the payload, the SrvcDocApptStartDateTime needs to be passed.</P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdAppointment/100004251/BILL_DATE
X-CSRF-Token: abc
IF-Match: *
{
"SrvcDocAppointmentType": "BILL_DATE",
"SrvcDocApptStartDateTime": "2025-10-23T00:00:00Z",
}</code></pre><P> </P><P><STRONG>Read BILL_DATE at solution order header using the Appointment Entity </STRONG></P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdAppointment/100004251/BILL_DATE</code></pre><H2 id="toc-hId-1265610778"><STRONG>BusSolnOrdItmAppointment – Item Appointment</STRONG></H2><P>To update subscription end date of a subscription item, use the ServiceContrItemEndDateTime field at the BusinessSolutionOrderItem entity instead of the CONTEND Appointment type.</P><P> </P><P><STRONG>Update Requested delivery date of a sales item of a solution order using the Appointment Entity </STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmAppointment/100004251/10/REQ_DLV_DATE
X-CSRF-Token: abc
IF-Match: *
{
"SrvcDocAppointmentType": "REQ_DLV_DATE",
"SrvcDocApptStartDateTime": "2025-10-28T00:00:00Z"
}</code></pre><P> </P><H2 id="toc-hId-1069097273"><STRONG>BusSolnOrdItmDuration – Item Duration</STRONG></H2><P>Various durations like subscription terms, contract duration, renewal terms, etc are stored as durations in the BusSolnOrdItmDuration entity which has an association with the BusinessSolutionOrderItem entity. The different duration types in solution order are persisted across the duration types specified in the below table.</P><P><SPAN>You define the Duration type using the configuration activity </SPAN><STRONG><SPAN class="">Define Date Types, Duration Types and Date Rules for Service Transactions</SPAN></STRONG><SPAN> in your configuration environment. The system uses the duration, dates types, and date rules that are combined in a specific date profile to display dates in a transaction and to automatically determine them. </SPAN><SPAN>Make sure to assign the date profile to transaction types. </SPAN></P><P> </P><P><STRONG>Update Contract Duration of a contract item of a solution order using the Duration Entity </STRONG></P><pre class="lia-code-sample language-abap"><code>PATCH
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusSolnOrdItmDuration/100004251/100/CONTDURA
X-CSRF-Token: abc
IF-Match: *
{
"SrvcDocDurationType": "CONTDURA",
"SrvcDocDurationValue": 48,
"SrvcDocDurationUnit": "Month"
}</code></pre><P> </P><H2 id="toc-hId-872583768"><STRONG>BusSolnOrdFUPSalesOrder – Follow-up Sales Order</STRONG></H2><P>You can only read the follow up sales order and no other operations are supported on this entity. This will list all the follow-up sales order document for the solution order. Once a sales item is released, the follow up document gets created. This corresponds to the “Transaction History” section on the UI</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003541/_FUPSalesOrder</code></pre><P> </P><H2 id="toc-hId-844253954"><STRONG>BusSolnOrdFUPSrvcOrd – Follow-up Service Order</STRONG></H2><P>You can only read the follow up service order and no other operations are supported on this entity. This will list all the follow-up service order document for the solution order. Once a service item is released, the follow up document gets created. This corresponds to the “Transaction History” section on the UI</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003541/_FUPServiceOrder</code></pre><P> </P><H2 id="toc-hId-647740449"><STRONG>BusSolnOrdFUPSrvcContr – Follow-up Service Contract</STRONG></H2><P>You can only read the follow up service contract and no other operations are supported on this entity. This will list all the follow-up service contract document for the solution order. Once a service contract item is released, the follow up document gets created. This corresponds to the “Transaction History” section on the UI</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003541/_FUPServiceContr</code></pre><P> </P><H2 id="toc-hId-451226944"><STRONG>BusSolnOrdFUPSubscrpn – Follow-up Subscription</STRONG></H2><P>You can only read the follow up subscription and no other operations are supported on this entity. This will list all the follow-up subscription document for the solution order. Once a subscription item is released, the follow up document gets created. This corresponds to the “Transaction History” section on the UI</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003541/_FUPSubscrpn</code></pre><P> </P><P> </P><H2 id="toc-hId-254713439"><STRONG>BusSolnOrdFUPEntProject – Follow-up Enterprise Project</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up project document for the solution order. Once a project item is released, the follow up document gets created. This corresponds to the “Transaction History” section on the UI</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrder/100003541/_FUPEntProject</code></pre><P> </P><H2 id="toc-hId-58199934"><STRONG>BusSolnOrdItmFUPSalesOrder - Follow-up Sales Order Item</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up sales order along with its corresponding item numbers. Once a sales item is released, the follow up document gets created.</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/10/_FUPSalesOrderItem</code></pre><P> </P><H2 id="toc-hId--138313571"><STRONG>BusSolnOrdItmFUPSrvcOrd – Follow-up Service Order Item</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up service order along with its corresponding item numbers. Once a sales item is released, the follow up document gets created.</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/20/_FUPServiceOrderItem</code></pre><P> </P><H2 id="toc-hId--334827076"><STRONG>BusSolnOrdItmFUPSrvcContr – Follow-up Service Contract Item</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up service contract along with its corresponding item numbers. Once a service contract item is released, the follow up document gets created.</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/30/_FUPServiceContrItem</code></pre><P> </P><H2 id="toc-hId--531340581"><STRONG>BusSolnOrdItmFUPSubscrpn – Follow-up Subscription Item</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up subscription. Once a subscription item is released, the follow up document gets created.</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/40/_FUPSubscrpnItem</code></pre><P> </P><H2 id="toc-hId--727854086"><STRONG>BusSolnOrdItmFUPEntProject - Follow-up Enterprise Project Item</STRONG></H2><P>Only read operation is supported on this entity. This will list all the follow-up project document for the solution order. Once a service contract item is released, the follow up document gets created.</P><pre class="lia-code-sample language-abap"><code>GET
<host>/sap/opu/odata4/sap/api_businesssolutionorder/srvd_a2x/sap/businesssolutionorder/0001
/BusinessSolutionOrderItem/100004251/50/_FUPEntProjectItem</code></pre><P> </P>2025-11-11T15:16:58.766000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/cloud-native-with-abap-cloud-the-transactional-outbox-pattern/ba-p/14267118Cloud-Native with ABAP Cloud – The Transactional Outbox Pattern2025-11-12T16:48:29.446000+01:00fabianfellhauerhttps://community.sap.com/t5/user/viewprofilepage/user-id/354017<H1 id="toc-hId-1635652393">Cloud-Native with ABAP Cloud – The Transactional Outbox Pattern</H1><P>Cheers ABAP folks!</P><P class="lia-align-justify" style="text-align : justify;">In modern, distributed system landscapes, ensuring <STRONG>data consistency</STRONG> between a database and a message broker is a common challenge – especially when it comes to the integration of S/4HANA Cloud with Side-by-Side extensions built on the SAP Business Technology Platform (e.g. SAP BTP ABAP Environment, aka. Steampunk) or any other microservice-based architecture.</P><P class="lia-align-justify" style="text-align : justify;">How do you guarantee that a database update (“Order created”) and a corresponding message (like "Request a shipping of the order") are never out of sync? The answer lies in the <STRONG>Transactional Outbox Pattern</STRONG>. This elegant solution ensures that these two critical operations are treated as a single, atomic unit, which is vital for maintaining data integrity and building robust, event-driven architectures atop SAP's core business processes.</P><P> </P><H2 id="toc-hId-1568221607">The Logical Unit of Work</H2><P class="lia-align-justify" style="text-align : justify;">The Logical Unit of Work (LUW) in ABAP represents a series of database operations that are treated as a single, indivisible transaction. All changes made within an LUW, whether updates, insertions, or deletions, must either be <STRONG>committed</STRONG> to the database successfully <STRONG>or rolled back</STRONG> <STRONG>entirely</STRONG> if an error occurs, ensuring transactional consistency. This "all or nothing" principle is managed by the ABAP transaction service, typically involving database commits to finalize the changes. In standard ABAP programming, a database LUW ends when a program executes a COMMIT WORK or ROLLBACK WORK statement, or when a dialog transaction concludes. However, transactional consistency can only be ensured within the same database system. There are plenty of alternatives, when it comes to cloud-native architecture and micro service design. However, a well-established approach is to apply the paradigm of eventual consistency.</P><P> </P><H2 id="toc-hId-1371708102">Eventual Consistency</H2><P class="lia-align-justify" style="text-align : justify;">Eventual consistency is a <STRONG>relaxed consistency model</STRONG> in distributed systems where updates are not instantly propagated, meaning different replicas might temporarily show conflicting data. However, given enough time and the assumption that no further updates occur, the system guarantees that all data will reach a consistent state (soon).</P><P class="lia-align-justify" style="text-align : justify;"> </P><H2 id="toc-hId-1175194597">The Transactional Outbox Pattern</H2><P class="lia-align-justify" style="text-align : justify;">The transactional outbox pattern directly supports eventual consistency by <STRONG>decoupling</STRONG> the <STRONG>primary data write</STRONG> from the <STRONG>external message emission</STRONG>. It ensures the message has been reliably persisted within the same database transaction as the data change, guaranteeing that the required event will <EM>only</EM> be sent and consumed by other services, if the main transaction succeeded. Due to the defer of the message emission the micro service is much more robust against spontaneous outages.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure 1: Unstable microservice design. Depending on the execution sequence, the transactional data or the status reflected to the remote system might be inconsistent, if the microservice is affected by an outage in between." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/339615i02D3C12A1120C068/image-size/large?v=v2&px=999" role="button" title="bgpf-1.png" alt="Figure 1: Unstable microservice design. Depending on the execution sequence, the transactional data or the status reflected to the remote system might be inconsistent, if the microservice is affected by an outage in between." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 1: Unstable microservice design. Depending on the execution sequence, the transactional data or the status reflected to the remote system might be inconsistent, if the microservice is affected by an outage in between.</span></span></P><P><EM><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure 2: More robust microservice design. The message is only emitted, if the transactional data and the outbox, which acts as trigger for the publisher, was successfully committed." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/339616i5B1DAB380CEDD86F/image-size/large?v=v2&px=999" role="button" title="bgpf-2.png" alt="Figure 2: More robust microservice design. The message is only emitted, if the transactional data and the outbox, which acts as trigger for the publisher, was successfully committed." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 2: More robust microservice design. The message is only emitted, if the transactional data and the outbox, which acts as trigger for the publisher, was successfully committed.</span></span></EM></P><P> </P><H2 id="toc-hId-978681092">Implementing a Transactional Outbox in ABAP Cloud</H2><P class="lia-align-justify" style="text-align : justify;">In ABAP Cloud there is the <STRONG>background processing framework</STRONG> (bgPF) available, which can seamlessly be integrated in the transactional processing of an ABAP application built with the RESTful Application Programming model (RAP).</P><P class="lia-align-justify" style="text-align : justify;">The clue: Instead of directly emitting outbound messages in the save sequence of your transaction, a handler can be registered, which is executed asynchronously in the background, once the RAP framework successfully complemented the database commit. This custom handler grants <STRONG>additional flexibility</STRONG> on top of the transactional outbox pattern, allowing the ABAP application to control how a certain message should be handled (emitted to an external system, processed internally, etc.).</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure 3: Implementation of the "Transactional Outbox Pattern" in ABAP Cloud." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/339618iE4B4FAB6592C11DD/image-size/large?v=v2&px=999" role="button" title="bgpf-3.png" alt="Figure 3: Implementation of the "Transactional Outbox Pattern" in ABAP Cloud." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 3: Implementation of the "Transactional Outbox Pattern" in ABAP Cloud.</span></span></P><P>This setup involves only two components, everything else is handled by the RAP runtime out-of-the-box:</P><UL><LI>The definition of a bgPF handler, which implements the actual message (e.g. external system call) emission. The handler needs to implement the interface IF_BGMC_OP_SINGLE.</LI></UL><pre class="lia-code-sample language-abap"><code>class zcl_rap_bgpf_request_shipping definition
public
final
create private.
public section.
class-methods create_instance
importing
is_order type zr_order000
returning
value(ro_instance) type ref to if_bgmc_op_single.
interfaces if_bgmc_op_single.
protected section.
private section.
methods constructor
importing
is_order type zr_order000.
data ms_order type zr_order000.
endclass.
class zcl_rap_bgpf_request_shipping implementation.
method if_bgmc_op_single~execute.
"implement outbound call or system local processing
modify entity zr_shippingrequest
create
set fields auto fill cid
with value #(
( %data = value #(
OrderReference = ms_order-uuid
ShippingStatus = 'Ordered' )
)
)
mapped data(mapped)
failed data(failed)
reported data(reported).
endmethod.
method create_instance.
return new zcl_rap_bgpf_request_shipping( is_order ).
endmethod.
method constructor.
ms_order = is_order.
endmethod.
endclass.
</code></pre><UL><LI>The registration of the handler within the save sequence of the RAP business object.</LI></UL><pre class="lia-code-sample language-abap"><code>method save_modified.
"...
data(lo_factory) = cl_bgmc_process_factory=>get_default( ).
data(lo_process) = lo_factory->create( ).
lo_process->set_name( 'Request shipping' )->set_operation(
zcl_rap_bgpf_request_shipping=>create_instance(
is_order = corresponding #( <ls_order> )
)
).
lo_process->save_for_execution( ).
"...
endmethod.
</code></pre><P class="lia-align-justify" style="text-align : justify;">By that, the RAP runtime ensures that the persisted order data is always in sync with the status reflected to the dependent application. If the main process is affected by an outage, the transactional data, as well as the registration for the message emission will be rolled-back. By that, the actual message will never be emitted.</P><P class="lia-align-justify" style="text-align : justify;"> </P><H2 id="toc-hId-782167587">Process Monitoring</H2><P class="lia-align-justify" style="text-align : justify;">The background processing framework (bgPF) in ABAP Cloud is technically based on bgRFC processes, which can be monitored via the Fiori app “Monitor bgRFC Queues”. The app displays scheduled, running and aborted processes and provides manual restart capabilities. Important to know: bgPF is one of multiple inbound destinations for bgRFC queues. A queue consists again out of multiple processing units – one of those is our registered handler.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Figure 4: Aborted bgPF process (simulated via assert violations) and its restart capabilities." style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/339620i41BA4763A96295F7/image-size/large?v=v2&px=999" role="button" title="Monitor bgRFC Queues.png" alt="Figure 4: Aborted bgPF process (simulated via assert violations) and its restart capabilities." /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Figure 4: Aborted bgPF process (simulated via assert violations) and its restart capabilities.</span></span></P><P> </P><H2 id="toc-hId-585654082">Additional Information</H2><P>Check out some more details on the bgPF in general:<BR /><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-background-processing-framework/ba-p/13579056" target="_blank">https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-background-processing-framework/ba-p/13579056</A></P><P>Official documentation:<BR /><A href="https://help.sap.com/docs/abap-cloud/abap-concepts/background-processing-framework" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/abap-cloud/abap-concepts/background-processing-framework</A></P><P>Complete example in GitHub:<BR /><A href="https://github.com/SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf" target="_blank" rel="noopener nofollow noreferrer">https://github.com/SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf</A></P><P> </P><P><EM>Stay tuned for further cloud native design patterns in ABAP Cloud!</EM></P><P><EM>Cheerio ABAP Folks!</EM></P><P> </P>2025-11-12T16:48:29.446000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/unlocking-scalability-how-apache-kafka-handles-massive-data-streams/ba-p/14212754Unlocking Scalability: How Apache Kafka Handles Massive Data Streams2025-11-17T14:47:05.530000+01:00rishabhdhakarwalhttps://community.sap.com/t5/user/viewprofilepage/user-id/698059<P>In today’s data-driven world, applications must process massive volumes of information with low latency and near-perfect reliability. This is exactly where <STRONG>Apache Kafka</STRONG> shines. Often labeled as “just a message queue,” Kafka is far more powerful. Its architecture is intentionally designed for <STRONG>horizontal scalability</STRONG>, enabling companies like LinkedIn, Netflix, Uber, and Airbnb to process <STRONG>trillions of events every single day</STRONG>.</P><P>This post breaks down <STRONG>how Kafka scales</STRONG>, focusing on three core mechanisms:</P><UL><LI><P><FONT size="3"><STRONG>Topic Partitioning</STRONG></FONT></P></LI><LI><P><FONT size="3"><STRONG>Broker Clusters with Replication</STRONG></FONT></P></LI><LI><P><FONT size="3"><STRONG>Consumer Groups</STRONG></FONT></P></LI></UL><P>Together, these form the foundation of Kafka’s ability to scale seamlessly.</P><H3 id="toc-hId-1889057157">1. The Power of Parallelism: Kafka Topic Partitioning</H3><P>At the core of Kafka’s scalability is its <STRONG>partitioned log</STRONG> architecture.</P><P>A Kafka topic is divided into one or more <STRONG>partitions</STRONG>, and each partition is an ordered, immutable sequence of messages. This simple idea unlocks massive parallelism.</P><H4 id="toc-hId-1821626371"><STRONG>How Partitioning Works</STRONG></H4><UL><LI><P>Producers write to partitions based on a key or round-robin.</P></LI><LI><P>Consumers read partitions independently.</P></LI><LI><P>Kafka guarantees <STRONG>order only within a partition</STRONG>, not across the entire topic.</P></LI></UL><P>This means if you need strict ordering for a particular key (like <CODE>userId</CODE>), that key should always be routed to the same partition.</P><H4 id="toc-hId-1625112866">Why It Matters</H4><P>Partitioning allows Kafka to:</P><UL><LI><P>scale horizontally across multiple brokers</P></LI><LI><P>process data in parallel</P></LI><LI><P>distribute workload efficiently across consumers</P></LI></UL><P>This is the foundational mechanism behind Kafka’s ability to scale linearly.</P><P><STRONG>Visualizing Partitioning:</STRONG></P><P>In <EM>Diagram 1</EM>, the <CODE>user_events</CODE> topic is split into P0, P1, and P2. A producer sends messages based on keys, and a consumer group reads them in parallel—each consumer handling one or more partitions. This parallelism gives Kafka its first—and most important—dimension of scale.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Diagram 1" style="width: 760px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/341908i2DB65235B55A1CB0/image-dimensions/760x752?v=v2" width="760" height="752" role="button" title="Diagram1.png" alt="Diagram 1" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Diagram 1</span></span></P><H3 id="toc-hId-1299516642">2. High Availability & Horizontal Growth: Broker Clusters and Replication<BR /><BR /></H3><P>Kafka clusters are made up of <STRONG>brokers</STRONG>, and each topic partition is stored redundantly across them.</P><H4 id="toc-hId-1232085856"><STRONG>Leader–Follower Model</STRONG></H4><UL><LI><P>Each partition has <STRONG>one leader replica</STRONG></P></LI><LI><P>Other brokers store <STRONG>follower replicas</STRONG></P></LI><LI><P>Producers and consumers communicate only with the leader</P></LI></UL><P>If a leader goes down, Kafka automatically promotes a <STRONG>fully synced follower</STRONG> to leader—usually within milliseconds.</P><H4 id="toc-hId-1035572351"><STRONG>In-Sync Replicas (ISR)</STRONG></H4><P>Replicas that are completely caught up with the leader are added to the ISR set.<BR />Failover only happens within this ISR group, minimizing data loss risk.</P><H4 id="toc-hId-839058846">Why Replication Matters</H4><UL><LI><P>Prevents data loss</P></LI><LI><P>Enables zero-downtime failover</P></LI><LI><P>Helps scale reads</P></LI><LI><P>Adds durability and resiliency</P></LI></UL><P><EM>Diagram 2</EM> shows this setup clearly: multiple brokers, distributed replicas, and seamless failover—resulting in a system that can withstand broker crashes without downtime.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Diagram 2" style="width: 947px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/341934iB450AA8021FF14CF/image-size/large?v=v2&px=999" role="button" title="Diagram 2.png" alt="Diagram 2" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Diagram 2</span></span></P><P> </P><P><SPAN> </SPAN></P><HR /><P> </P><H3 id="toc-hId-513462622">3. Scaling Consumer Throughput with Consumer Groups </H3><P>Partitions decide how data is stored.<BR />Consumer groups decide how data is consumed.</P><P>A consumer group consists of multiple consumers cooperating to consume data from a topic. Kafka’s enforced rule:</P><BLOCKQUOTE><P><STRONG>A partition can be consumed by only one consumer within a group.</STRONG></P></BLOCKQUOTE><P>This sets the upper limit on parallelism.</P><H5 id="toc-hId-575114555"><STRONG>Parallelism Scenarios</STRONG></H5><DIV class=""><DIV class=""><BR /><TABLE><TBODY><TR><TD><FONT face="arial,helvetica,sans-serif">Partitions</FONT></TD><TD><FONT face="arial,helvetica,sans-serif">Consumers</FONT></TD><TD><FONT face="arial,helvetica,sans-serif">Result</FONT></TD></TR><TR><TD>10</TD><TD>1</TD><TD>All data consumed by 1 consumer (slow)</TD></TR><TR><TD>10</TD><TD>10</TD><TD>Perfect parallelism (fast)</TD></TR><TR><TD>10</TD><TD>11</TD><TD>Extra consumer stays idle</TD></TR></TBODY></TABLE></DIV></DIV><P><BR />If you need more throughput, you simply increase partitions OR add consumers—depending on which side is the bottleneck.</P><P><EM>Diagram 3</EM> visually represents this: more partitions → more potential parallelism → more throughput.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Diagram 3" style="width: 821px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/341933i3B6B2DE061D68D35/image-size/large?v=v2&px=999" role="button" title="rishabhdhakarwal_0-1763386847847.png" alt="Diagram 3" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Diagram 3</span></span></P><P> </P><HR /><H3 id="toc-hId-120435612">Real-World Scaling Examples</H3><H4 id="toc-hId--444712269"><U><STRONG>LinkedIn</STRONG></U></H4><BLOCKQUOTE><P>Over 7 trillion messages/day<BR />Uses Kafka for activity logs, real-time analytics, and fraud detection.</P></BLOCKQUOTE><H4 id="toc-hId--641225774"><U><STRONG>Netflix</STRONG></U></H4><P>Processes billions of events/day for:</P><UL><LI><P>device telemetry</P></LI><LI><P>QoS monitoring</P></LI><LI><P>recommender systems</P></LI></UL><H4 id="toc-hId--837739279"><U><STRONG>Uber</STRONG></U></H4><P>Uses Kafka for:</P><UL><LI><P>real-time trip events</P></LI><LI><P>fare calculations</P></LI><LI><P>live map updates</P></LI></UL><P>These systems rely heavily on partitioning, replication, and consumer groups, the same principles discussed above.</P><H3 id="toc-hId--740849777"><BR />Conclusion</H3><P>Kafka’s scalability isn’t an accident—it’s baked into its core architecture. Through <STRONG>partitioning</STRONG>, <STRONG>broker clusters with replication</STRONG>, and <STRONG>consumer groups</STRONG>, Kafka achieves a remarkable blend of high throughput, resilience, and horizontal scalability.</P><P>Whether you're building real-time analytics pipelines, event-driven microservices, or large-scale data streaming platforms, understanding these mechanisms helps you design systems that can grow effortlessly—from thousands to trillions of events per day.</P><H3 id="toc-hId--937363282"><BR />References & Further Reading</H3><OL><LI><P><EM>Apache Kafka Documentation — Architecture & Design</EM><BR /><A target="_new" rel="noopener">https://kafka.apache.org/documentation/#design</A></P></LI><LI><P><EM>Confluent — Kafka Fundamentals & Internals</EM><BR /><A target="_new" rel="noopener">https://developer.confluent.io/learn-kafka/<BR /><BR /></A></P></LI><LI><EM>Spring for Apache Kafka<BR /><A href="https://spring.io/projects/spring-kafka" target="_self" rel="nofollow noopener noreferrer">https://spring.io/projects/spring-kafka</A><BR /><BR /></EM></LI><LI><EM>Baeldung — Kafka Architecture & Components<BR /><A class="" href="https://www.baeldung.com/apache-kafka" target="_new" rel="noopener nofollow noreferrer">https://www.baeldung.com/apache-kafka</A></EM></LI></OL>2025-11-17T14:47:05.530000+01:00https://community.sap.com/t5/frontend-ui5-sap-fiori-blog-posts/harmonizing-ui5-urls-convenient-urls-for-sapui5-openui5-cdn/ba-p/14280931Harmonizing UI5 URLs: Convenient URLs for SAPUI5/OpenUI5 CDN2025-12-01T17:07:45.254000+01:00pmuessighttps://community.sap.com/t5/user/viewprofilepage/user-id/42075<H2 id="toc-hId-1766381360"><SPAN>IMPORTANT UPDATE 2026/01/08</SPAN></H2><P><SPAN><span class="lia-unicode-emoji" title=":double_exclamation_mark:">‼️</span>After receiving severe feedback about Content-Security-Policy (CSP) issues by sending permanent redirects for the runtime resources of OpenUI5 which redirects every resource from <A href="https://openui5.hana.ondemand.com" target="_blank" rel="noopener nofollow noreferrer">https://openui5.hana.ondemand.com</A> to <A href="https://sdk.openui5.org" target="_blank" rel="noopener nofollow noreferrer">https://sdk.openui5.org</A> we decided to stop the redirection of the runtime resources immediately. <span class="lia-unicode-emoji" title=":double_exclamation_mark:">‼️</span></SPAN></P><P><SPAN><span class="lia-unicode-emoji" title=":warning:">⚠️</span>We plan to re-enable the runtime redirects for OpenUI5 again - but there will be a proper communication upfront via this blog post and other channels such as the notifications in the demo kit / linkedin / mailing list. <span class="lia-unicode-emoji" title=":warning:">⚠️</span></SPAN></P><P><SPAN><span class="lia-unicode-emoji" title=":information:">ℹ️</span>Independent from that, all demo kit / documentation related resources from OpenUI5 and SAPUI5 will be redirected to the new domains. As this is not affecting applications using OpenUI5 or SAPUI5, this change is transparent for you! But please update your bookmarks. <span class="lia-unicode-emoji" title=":information:">ℹ️</span> </SPAN></P><H2 id="toc-hId-1569867855"><SPAN>What Do We Do?</SPAN></H2><P><SPAN>To further enhance consistency and ease of access, we are now making the convenient URLs the new default for all Demo Kit resources. The following table shows the previous URLs and their short an convenient URLs:</SPAN></P><TABLE><TBODY><TR><TD width="288"><P><STRONG><SPAN>Previous URLs</SPAN></STRONG></P></TD><TD width="288"><P><STRONG><SPAN>Short and Convenient URLs</SPAN></STRONG></P></TD></TR><TR><TD width="288"><P>openui5nightly.hana.ondemand.com</P></TD><TD width="288"><P>sdk.openui5.org/nightly</P></TD></TR><TR><TD width="288"><P><SPAN>openui5.hana.ondemand.com</SPAN></P></TD><TD width="288"><P><SPAN>sdk.openui5.org</SPAN></P></TD></TR><TR><TD width="288"><P>sapui5.hana.ondemand.com</P></TD><TD width="288"><P>ui5.sap.com</P></TD></TR></TBODY></TABLE><P><SPAN>This follows our initial announcement “<A href="https://community.sap.com/t5/technology-blog-posts-by-sap/short-and-powerful-convenient-urls-for-sapui5-openui5-cdn/ba-p/13525612" target="_blank">Short and Powerful: Convenient URLs for SAPUI5/OpenUI5 CDN</A>”.</SPAN></P><H2 id="toc-hId-1373354350"><SPAN>Why We’re Doing This</SPAN></H2><P><SPAN>One URL for OpenUI5 and one for SAPUI5 improves search engine indexing and discoverability which will lead to better search results. It will simplify the access to our documentation and tools for developers and establishes consistent and future-proof domains which are independent from the platform they are served from. </SPAN></P><H2 id="toc-hId-1176840845"><SPAN>What Will Happen?</SPAN></H2><P><SPAN>To make the transition as easy as possible, we will gradually redirect users to the new URLs. Here’s what you can expect:</SPAN></P><UL><LI><SPAN>Demo Kit Resources (HTML pages) will be automatically redirected to the new URLs starting on:</SPAN><UL><LI><SPAN>OpenUI5: December 8th</SPAN></LI><LI><SPAN>SAPUI5: January 7th<BR /><BR /></SPAN></LI></UL></LI><LI>Runtime Resources (everything else) will be redirected to the new URLs starting on:<UL><LI>OpenUI5: <STRONG>POSTPONED!</STRONG></LI><LI><STRIKE>SAPUI5: ~UI5con Germany 2026</STRIKE></LI></UL></LI></UL><P><SPAN>These steps are designed to give everyone plenty of time to adjust to the new URLs and ensure a seamless experience.</SPAN></P><H2 id="toc-hId-980327340"><SPAN>What You Should Do</SPAN><SPAN> Now</SPAN></H2><P><SPAN>Make use of the short and convenient URLs now by...</SPAN></P><UL><LI><SPAN>...updating your bookmarks to the Demo Kit to use the new domains</SPAN></LI><LI><SPAN>...adopting your applications to bootstrap OpenUI5 or SAPUI5 from the new domains</SPAN></LI><LI><SPAN>...sharing this update with your teams and communities to help us spreading this information (Hint: still the old netweaver.ondemand.com URLs are in use!!)</SPAN></LI></UL><P><SPAN>Although we redirect the existing URLs they are going to continue to work. Once the old URLs will be sunset, we’ll inform you early enough upfront. </SPAN></P><P><SPAN>Note: To bootstrap SAPUI5 in non-cloud scenarios please use the <A href="https://ui5.sap.com/#/topic/91f1f4536f4d1014b6dd926db0e91070" target="_blank" rel="noopener noreferrer">Standard Variant for Bootstrapping</A>. See details on the difference in <A href="https://ui5.sap.com/#/topic/2d3eb2f322ea4a82983c1c62a33ec4ae" target="_blank" rel="noopener noreferrer">Docu: Bootstrapping from Content Delivery Network</A> and in <A href="https://launchpad.support.sap.com/#/notes/2943781" target="_blank" rel="noopener noreferrer">note 2943781</A>.</SPAN></P><P><SPAN>Another note on Tracking Prevention when using these URLs: Please mind the respective information in "Browser and Platform Support" for <A href="https://ui5.sap.com/#/topic/74b59efa0eef48988d3b716bd0ecc933" target="_blank" rel="noopener noreferrer">SAPUI5</A> / <A href="https://sdk.openui5.org/topic/74b59efa0eef48988d3b716bd0ecc933" target="_blank" rel="noopener nofollow noreferrer">OpenUI5</A> and note <A href="https://me.sap.com/notes/3216225" target="_blank" rel="noopener noreferrer">3216225</A> on how to handle it.</SPAN></P>2025-12-01T17:07:45.254000+01:00https://community.sap.com/t5/casablanca-blog-posts/comment-sap-mm-peut-transformer-le-processus-d-achats-dans-une-entreprise/ba-p/14283245Comment SAP MM peut transformer le processus d’achats dans une entreprise2025-12-05T10:02:11.080000+01:00imanedrhttps://community.sap.com/t5/user/viewprofilepage/user-id/865861<P> </P><P>Le module SAP MM (Materials Management) est l’un des piliers des systèmes SAP pour la gestion des achats et des stocks. Une bonne utilisation de SAP MM peut <STRONG>révolutionner le processus d’approvisionnement</STRONG>, en le rendant plus rapide, plus précis et plus efficace.</P><HR /><H2 id="toc-hId-1766464041"><STRONG> Automatisation des achats </STRONG>SAP MM permet de générer automatiquement les <STRONG>demandes d’achat</STRONG>, les <STRONG>commandes </STRONG></H2><H2 id="toc-hId-1569950536"><STRONG>fournisseurs</STRONG> et les <STRONG>bons de réception</STRONG>, en réduisant les erreurs humaines et en accélérant le cycle P2P (Procure-to-Pay).</H2><HR /><H2 id="toc-hId-1373437031"><STRONG>Meilleure gestion des fournisseurs</STRONG></H2><P>Le module centralise toutes les informations sur les fournisseurs : données de contact, conditions d’achat, historique de commandes, performances, etc. Cela facilite la <STRONG>sélection des meilleurs fournisseurs</STRONG> et le suivi des KPI.</P><HR /><H2 id="toc-hId-1176923526"><STRONG>Optimisation des stocks</STRONG></H2><P>SAP MM permet de suivre <STRONG>en temps réel</STRONG> les stocks disponibles, les mouvements de matériel, et les niveaux de réapprovisionnement. Cela réduit les <STRONG>ruptures de stock</STRONG> et les <STRONG>surstocks</STRONG>, améliorant la gestion du capital.</P><HR /><H2 id="toc-hId-980410021"><STRONG> Intégration avec les autres modules SAP</STRONG></H2><P>Grâce à l’intégration avec <STRONG>SAP FI (finance)</STRONG> et <STRONG>SAP SD (ventes)</STRONG>, SAP MM garantit que toutes les transactions d’achats ont un impact direct sur la comptabilité et la chaîne logistique. Cela offre une <STRONG>visibilité complète et un contrôle précis</STRONG> des coûts.</P><HR /><H2 id="toc-hId-783896516"><STRONG>Analyses et reporting avancés</STRONG></H2><P>SAP MM fournit des <STRONG>rapports détaillés et des tableaux de bord</STRONG> pour suivre les performances des achats, analyser les écarts de prix et anticiper les besoins futurs. Les décisions deviennent plus rapides et basées sur des données fiables.</P><HR /><P>En adoptant SAP MM, une entreprise peut transformer son processus d’approvisionnement :plus de rapidité et d’efficacité,</P><UL><LI><P>moins d’erreurs,</P></LI><LI><P>meilleure visibilité sur les stocks et les fournisseurs,</P></LI><LI><P>décisions basées sur des données précises.</P></LI></UL><P>SAP MM n’est pas seulement un outil informatique, c’est <STRONG>un véritable levier stratégique pour la performance des achats</STRONG>.</P><P><a href="https://community.sap.com/t5/c-khhcw49343/SAP+ERP/pd-p/01200615320800000659" class="lia-product-mention" data-product="581-1">SAP ERP</a> <a href="https://community.sap.com/t5/c-khhcw49343/Cloud/pd-p/431932400353955532628433796433200" class="lia-product-mention" data-product="1133-1">Cloud</a> <a href="https://community.sap.com/t5/c-khhcw49343/SAP+S%25252F4HANA+Cloud+Public+Edition+Sourcing+and+Procurement/pd-p/a906d110-8210-4641-9e54-4744b42f06d0" class="lia-product-mention" data-product="239-1">SAP S/4HANA Cloud Public Edition Sourcing and Procurement</a> </P>2025-12-05T10:02:11.080000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/from-on-premise-to-cloud-making-the-right-sap-erp-move/ba-p/14256072From On-Premise to Cloud: Making the Right SAP ERP Move2025-12-10T08:19:08.342000+01:00nLyngfeldthttps://community.sap.com/t5/user/viewprofilepage/user-id/1689927<H1 id="toc-hId-1634698300"><SPAN>A comparative representation of SAP Cloud ERP deployment variants</SPAN></H1><P><SPAN>This article presents an overview of SAP’s ERP solutions, outlining available deployment models and providing a comparative representation of the variants. It is designed to support customers in navigating and evaluating options that align with their organization’s digital transformation goals, operational requirements, and existing technology investments. The attention is given to SAP’s private cloud offerings, highlighting the flexibility, scalability, and relevance for enterprise-grade modernization initiatives.</SPAN></P><H1 id="toc-hId-1438184795">SAP ERP On-Premise</H1><P>Historically, SAP operated as a software provider focused on licensing and support, while customers and partners took on the challenge of designing, building and running highly customized implementations. This approach offered maximum flexibility but came at a cost - fragmented landscapes, version sprawl, and operational complexity. Additionally, as SAP simultaneously support more than 20 software versions of ERP and countless release variations - it increased the burden of maintenance, made it harder to adopt new features, and slowed innovation. Today, SAP is shifting toward standardized, cloud-based solutions that streamline operations and accelerate the transformation and adoption of change.</P><P>Whether you run your SAP ERP systems in your own data center, with a hosting provider or directly with a Hyperscaler, it is considered an on-premise deployment. Moving from here to an SAP Cloud ERP deployment is equally relevant and the strategic direction of SAP.</P><H1 id="toc-hId-1241671290">SAP Cloud ERP</H1><P>SAP delivers a diverse portfolio of ERP solutions tailored to meet the needs of organizations across industries and geographies, addressing increasing demands for security, compliance, and operational control. While SAP continues to drive standardization and scalable adoption, it recognizes that transitioning to a unified cloud-based ERP is a phased journey for many enterprises. To support this evolution, SAP offers a range of strategic pathways that enable customers to embrace SAP Cloud at their own pace - preserving existing investments, leveraging the latest innovations, and maintaining a flexible operating model aligned with their business priorities.</P><P>SAP Cloud ERP sits at the center of SAP’s strategic architecture, serving as a foundational layer for enabling accelerated adoption of AI-driven services and continuous innovation. Its integration with key architectural components - including SAP Business Technology Platform, SAP Business Data Cloud, line-of-business applications, and AI agents - is essential for designing future-ready business processes and operating models. This architectural alignment ensures cohesive data flow, scalable automation, and a unified platform for digital transformation across the enterprise.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAP's Strategic Architecture Model" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350170i371CC4087BD4D883/image-size/large?v=v2&px=999" role="button" title="Figure 1.png" alt="SAP's Strategic Architecture Model" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP's Strategic Architecture Model</span></span></P><P><SPAN>Over the years, SAP has been transitioning to a cloud company. SAP Business ByDesign was launched in 2007, and multiple private cloud offerings were launched starting in 2013. SAP’s cloud services have matured continuously ever since, and SAP Cloud ERP is now at the center of SAP’s strategy. The consumption model is modular and scalable. Businesses can start with essential modules and expand as needed.</SPAN></P><P><SPAN>SAP Cloud ERP is a modern, cloud-based ERP solution that helps businesses manage core operations using intelligent technologies like AI, machine learning, and automation. It’s designed for speed, scalability, and continuous innovation - all while running under SAP’s strong security framework.</SPAN></P><P><SPAN>Adoption is now more important than ever. There is little to gain if innovation is held back due to technical difficulties, unsupported software and a lack of strong governance in the daily operation. This is one of the reasons SAP has invested heavily in cloud services and adoption programs. Now offering a modern commercial model with user- and metric-based subscription, which is accelerating the architecture design process with modular building blocks, and adoption programs helping customers to a modern ERP through “RISE with SAP” and “GROW with SAP”, focusing on accelerating the digital transformation of customers.</SPAN></P><P><STRONG>GROW with SAP </STRONG></P><UL><LI>GROW with SAP is a program to rapidly implement SAP Business Suite using a standardised framework, tools, and guidance. It is designed for new SAP ERP customers and enables a greenfield/new implementation of SAP Business Suite in SAP Public Cloud.</LI></UL><P><STRONG>RISE with SAP</STRONG></P><UL><LI>RISE with SAP is a program that helps on-premise SAP ERP customers tailor their transformation to modernise their business with Business Suite. It is designed for existing SAP ERP customers, focused on modernising their existing SAP ERP systems in SAP Private Cloud.</LI></UL><P>Both journeys lead to the same destination, <STRONG>full SAP Business Suite capabilities</STRONG>, but are tailored to the customer’s starting point.</P><H2 id="toc-hId-1174240504">Public or Private Cloud</H2><P>SAP has two cloud ERP solutions to choose from:</P><UL><LI>SAP Cloud ERP (Public): <STRONG>Ready-to-run</STRONG> cloud ERP managed by SAP</LI><LI>SAP Cloud ERP Private: <STRONG>Tailored-to-fit</STRONG> cloud ERP that adapts to your unique business needs while enabling the migration of your on-premises ERP investment from SAP</LI></UL><P>The first assessment customers need to make is whether their requirements can be met in SAP Public Cloud or if SAP Private Cloud deployment is needed. There are fundamental differences between the two cloud options, which often make the first choice simple:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Comparison Between SAP Public and Private Cloud" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350079iEBFBBFD6021F6050/image-size/large?v=v2&px=999" role="button" title="Figure 2.png" alt="Comparison Between SAP Public and Private Cloud" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Comparison Between SAP Public and Private Cloud</span></span></P><P>This simple table reveals significant differences. The public cloud doesn’t yet offer the full scope of ERP functionalities, and if that doesn’t cover the customer’s requirements, the private cloud is the only alternative.</P><P>The SAP code can’t be modified in public cloud and while the SAP recommendation has always been not to modify the SAP standard code, there are certain situations where it can’t be avoided, or changes have already been made in on-premise systems and must be kept. In this case the only possible destination is private cloud.</P><P><EM>(*) Direct modification of SAP-delivered standard code is not permitted as a <U>standard practice</U>. The environment is designed to maintain a "clean core," and customers are expected to use supported extensibility options (such as in-app extensions, BAdIs, or side-by-side development on SAP BTP) rather than altering SAP standard objects. Exceptions to this rule are rare and require formal SAP approval, with the customer assuming full responsibility and risk for any such modifications.</EM></P><P>In public cloud, mandatory software releases and updates are pushed out by SAP and the changes must be adopted within a limited time period. In private cloud, the updates are included in the service, but the implementation is a customer choice. SAP will not install software updates without consent from the customer.</P><P>Finally, the very nature of a SaaS solution can be restricted by some customers or deployment options might be needed, which are not available in public cloud. Typical examples could be stronger segregation of data, the need for a private code base, increased business continuity concepts and distinct security and compliance requirements.</P><H2 id="toc-hId-977726999">SAP Cloud ERP Public</H2><P>SAP Cloud ERP Public is a pure Software-as-a-Service (SaaS) cloud delivery model, and it is the preferred deployment model for all customers opting for a fresh new-implementation (greenfield) of SAP ERP and whenever functional, integration, and localisation requirements can be addressed.</P><P>Being a SaaS offering, the deployment options are limited, by design, compared to private cloud, and as the focus of this article is private cloud, this deployment model is not described further.</P><H2 id="toc-hId-781213494">SAP Cloud ERP Private</H2><P>SAP Cloud ERP Private is a deployment option of SAP ERP software installed specifically for the customer in a private cloud environment.</P><P>SAP Private Cloud is <SPAN>technically SAP-managed services and software licenses running in a <STRONG>single-tenant, virtual private cloud</STRONG> environment on subscription. </SPAN><SPAN>Customer systems run in a dedicated cloud tenant with dedicated capacity and is completely isolated from other customer accounts</SPAN><SPAN>. </SPAN><SPAN>SAP is providing managed infrastructure, technical managed services and operations, security, and lifecycle management. Customers access their systems via secure, private network connections (not public internet), retain control over business processes and configurations.</SPAN></P><P>It offers enhanced control, security, and customization compared to public cloud solutions. Private cloud deployments typically offer more robust security measures and compliance capabilities, making them suitable for industries with stringent data protection requirements.</P><P>Private cloud deployments are more appropriate for existing on-premise customers who require more customization, whose functional needs can’t be addressed with the public cloud option, or if the investments made in existing on-premise systems need to be retained.</P><P>SAP aims to transition all customers using SAP ERP to SAP S/4HANA by 2027. Before the introduction of RISE with SAP in 2021, SAP did not fully meet the needs of customers seeking cloud-based ERP solutions. The primary option available was SAP S/4HANA Cloud Public Edition, which required a new implementation. This was not a viable option for many existing SAP ERP customers who wanted to retain their investment in their current systems, leverage existing data, and carry forward customizations and modifications.</P><P>To address this gap, SAP introduced SAP Cloud ERP Private solutions with the launch of RISE with SAP. These single-tenant solutions offer each customer their own dedicated instance of SAP software, hosted on separate infrastructure within a data center operated by one of the major hyperscalers or SAP itself. Existing SAP ERP customers can choose to either lift-and-shift their SAP ERP systems or transition to SAP Cloud ERP Private using a system conversion, selective data transition, or a new implementation approach. SAP Cloud ERP Private comes in two offerings: Packaged and Tailored.</P><P><STRONG>Packaged Option (Private Cloud Edition, “PCE”)</STRONG></P><UL><LI>SAP Cloud ERP Private is a packaged deployment option that is fixed, <STRONG>template-based</STRONG>, and uses SAP Reference Architecture. It focuses on <STRONG>core ERP</STRONG> functionality delivered in modular packages for standardised and rapid consumption. Infrastructure sizes and changes are delivered in T-shirt size models via a catalogue-based list of services that covers the user software license, infrastructure, and technical managed services required to run SAP.</LI><LI>This is the strategic choice for providing innovation and cloud value while customers retain investments by converting existing systems.</LI><LI>Standardisation is strict</LI></UL><P><STRONG>Tailored Option (Private Cloud Edition, Tailored Option, “PTO”)</STRONG></P><UL><LI>The SAP Cloud ERP Private, tailored deployment option is a flexible, <STRONG>individually configured</STRONG> using SAP Reference Architecture and covers the <STRONG>full ERP</STRONG> scope, covering nearly any SAP on-premise product still in maintenance with SAP technical support.</LI><LI>This is the strategic choice for complex architecture, large data volumes, customer-specific requirements, compliance and flexibility.</LI><LI>Standardisation is strict, while offering more flexibility</LI></UL><P>Both SAP Cloud ERP Private, Packaged and Tailored options can be deployed in different ways, but not all deployment options are available for both types.</P><H3 id="toc-hId-713782708">Deployment Options</H3><P>In SAP Cloud ERP Private, customers select their deployment option and specify the data center to use. Each option has its own distinct delivery model designed to cover different needs. Regardless of which option they choose, customers are responsible for the application layer (such as functional configuration, business process design, company authorization concept), and SAP is responsible for the technical managed service, infrastructure management, governance, security & compliance framework, and software and support.</P><P>Regardless of which private cloud deployment option is used, customers are in control of functional changes. Some changes are fully managed by customers, like custom code/extension and integration, business consistency and correctness, and SAP transport management. Other changes are initiated by customers and managed by SAP, like release upgrades and patch updates on SAP applications and the database. While updates to the software are included, SAP will not upgrade these components without customer approval.</P><P>The technical layers are managed differently, and the responsibilities vary as illustrated below. SAP has overall ownership, provides a generic architecture framework with common tools and a service delivery model, and remains agnostic about which deployment option to use. The end-user experience is designed to be the same regardless of which option is used.</P><P class="">SAP offers the following delivery options:</P><P><STRONG>Hyperscaler</STRONG></P><UL><LI>Deployed on Hyperscaler Infrastructure-as-a-Service (IaaS) under SAP's account</LI><LI>The default deployment model with global coverage, enterprise-grade scalability capabilities and the latest features</LI><LI>Often an advantage for customers who already have an active account with the same hyperscaler. Advantages like improved network latency, re-use of existing connections between customer premises and the hyperscaler, pre-approved by the customer’s security department</LI></UL><P><STRONG>SAP Data Center</STRONG></P><UL><LI>SAP operated data centres in Germany and options in Europe, APJ and North America</LI><LI>Compared to Hyperscaler, the scalability capability is limited and generally reserved for moderate workloads</LI><LI>This option is typically chosen for customers with strict regulatory, security, or technical requirements that cannot be met by Hyperscalers</LI></UL><P><STRONG>Customer Data Center</STRONG></P><UL><LI>Allows SAP to deliver and operate its managed cloud services directly within a data centre facility owned or leased by the customer</LI><LI>SAP manages the full stack remotely, while the customer retains control over the physical facility and network perimeter</LI><LI>Designed for organisations with strict data residency, regulatory, or integration requirements, but with certain features that may be limited</LI><LI>The data centre facilities must adhere to SAP’s reference architecture principles and security & compliance framework which must be approved by the hardware partner and SAP</LI></UL><P><STRONG>Premium Supplier </STRONG></P><UL><LI>A delivery framework where selected strategic partners, Premium Suppliers, are responsible for the technical infrastructure build, operation, and day-to-day services</LI><LI>While the Premium Suppliers manage the technical run and operations, SAP retains overall contractual responsibility, governance, and customer engagement</LI><LI>The infrastructure and some operational services are delivered by the Premium Supplier, either in their own data centres or in Hyperscaler environments managed by them</LI><LI>The model has specific rules for technical validation and operational responsibilities, which differ from the other SAP-delivered deployment options</LI></UL><H2 id="toc-hId-388186484"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="RACI for SAP Cloud ERP Private Deployment Options" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350172iFE04BD8525BFA704/image-size/large?v=v2&px=999" role="button" title="Figure 3.png" alt="RACI for SAP Cloud ERP Private Deployment Options" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">RACI for SAP Cloud ERP Private Deployment Options</span></span></H2><H3 id="toc-hId-320755698"><SPAN>Security, Data Protection and Compliance</SPAN></H3><P>The packaged and tailored options both share many characteristics and principles as they both run according to SAP’s global Private Cloud concept, Reference Architecture and Cybersecurity and Compliance Frameworks.</P><P>The table below shows some of the security, data protection and compliance options available in Cloud ERP Private for the different deployment options. Some are available in both Cloud ERP Private offerings, while others are available for either the packaged offering (core ERP) or the tailored offering (full ERP). This leads to many combinations of options available <SPAN>to meet the requirements of customers, and each option has conditions that need to be assessed individually in collaboration with SAP. </SPAN></P><H1 id="toc-hId--133923245"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Security & Compliance Capabilities for SAP Cloud ERP Private Deployment Options" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350274iB6BC93AF3193787C/image-size/large?v=v2&px=999" role="button" title="Figure 4.png" alt="Security & Compliance Capabilities for SAP Cloud ERP Private Deployment Options" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Security & Compliance Capabilities for SAP Cloud ERP Private Deployment Options</span></span></H1><H2 id="toc-hId-145900326"><SPAN>SAP Sovereign Cloud</SPAN></H2><P>SAP Sovereign Cloud can be categorized as a Cloud ERP Private deployment option. However, in essence, this is a separate offering with distinct features covering both private and public ERP cloud offerings from SAP. This is the strategic choice for increased country-specific sovereignty requirements. All data is stored and operated to maintain compliance with heightened local data protection regulations.</P><P>The sovereignty extends beyond the technical infrastructure and must also be operated by security-cleared personnel from government-accredited, security-cleared facilities, according to country-specific data residency regulations and specific audit and regulatory standards.</P><P>SAP Sovereign Cloud is relevant if there is a specific need for increased sovereignty that SAP Cloud ERP and SAP Cloud ERP Private cannot otherwise provide. Like SAP Cloud ERP Private, different deployment options are available to cover different requirements across geographies and industries.</P><H3 id="toc-hId--344016186">Deployment Options</H3><P>Like SAP Cloud ERP Private, there are choices between which data centres to use, each option with its own distinct delivery model designed to cover different needs. Equal for all is that customers are responsible for the application layer (like functional configuration, business process design, company authorisation concept) and SAP is responsible for the governance, security & compliance framework and the global standard architecture framework.</P><P>There are differences in the remaining layers, however, SAP has overall ownership, provides a generic architecture framework with common tools and service delivery model and remains agnostic. The end-user experience is the same regardless of which option is used.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Deployment Options for SAP Sovereign Cloud" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350174iFCE5CB0492E7D6C7/image-size/large?v=v2&px=999" role="button" title="Figure 5.png" alt="Deployment Options for SAP Sovereign Cloud" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Deployment Options for SAP Sovereign Cloud</span></span></P><H1 id="toc-hId-46276323">Make the right strategic choice</H1><P class="">When evaluating cloud deployment options, the many available options SAP provides are often overlooked, perhaps inadvertently ruled out prematurely or not even known as valid deployment options.</P><P class="">The reality is that through the wide range of deployment options, SAP offers the ability to support most industry requirements and regulatory demands for deployment in the cloud:</P><P><STRONG>Cloud ERP – preferred option when:</STRONG></P><UL><LI>New or existing customers planning a new (greenfield) implementation from scratch and whenever functional, integration, and localisation requirements can be addressed</LI><LI>Multi-tenancy is a suitable cloud deployment model for your organisation</LI><LI>Your organisation can adhere to a mandatory software lifecycle management process governed by SAP</LI></UL><P><STRONG>Cloud ERP Private – preferred option when:</STRONG></P><UL><LI>Existing SAP customers looking for innovation and cloud value while retaining investments by converting existing systems</LI><LI>Standardisation and agility are a priority</LI><LI>Standard migration scenarios of your existing systems into SAP cloud are sufficient</LI><LI>Functional requirements can be addressed</LI><LI>Standard Business Continuity and network capabilities are sufficient</LI></UL><P><STRONG>Cloud ERP Private, tailored option – preferred option when:</STRONG></P><UL><LI>Full functional SAP ERP scope is required</LI><LI>Flexibility in the configuration of the infrastructure</LI><LI>Complex migration scenarios of your existing systems into SAP Cloud are needed</LI><LI>Enhanced Business Continuity and network capabilities are required</LI><LI>Advanced features and capabilities are required</LI><LI>Very large data volumes</LI></UL><P><STRONG>SAP Cloud ERP Private, SAP Data Center - preferred option when:</STRONG></P><UL><LI>There is a specific need to have SAP as data center owner or controller</LI><LI>Cloud workloads must run according to country-specific data residency regulations</LI><LI>Small to moderate workload</LI></UL><P><STRONG>SAP Cloud ERP Private, Customer Data Center - preferred option when:</STRONG></P><UL><LI>There is a specific need to have the customer as data center owner or controller</LI><LI>Cloud workloads must run according to country-specific data residency regulations</LI><LI>Customer can provide data centers that are suitable for running SAP Cloud ERP Private</LI><LI>The customer want to manage the physical data center premises</LI><LI>Typically, most relevant for high workload</LI></UL><P><STRONG>Sovereign Cloud – preferred option when:</STRONG></P><UL><LI>There is a specific need for increased sovereignty that SAP Cloud ERP cannot otherwise provide</LI><LI>Must be operated by security-cleared personnel</LI><LI>Must run from government-accredited, security-cleared facilities</LI><LI>Must run according to country-specific data residency regulations and specific audit and regulatory standards</LI></UL><P><STRONG>On-premise / Native Hyperscaler – legacy option when:</STRONG></P><UL><LI>Upgrade to a supported version is impossible</LI><LI>The existing system is planned to be decommissioned within a short time frame</LI><LI>Other reasons preventing customers from moving to the cloud. SAP will support with a detailed assessment of the available pathways</LI></UL><P>A closer examination reveals a wide range of options and combinations that <STRONG>can only be fully evaluated in collaboration with SAP through the mandatory Technical Assessment process</STRONG>. The table below aims to illustrate the wide range of options available to customers that SAP provides to support customers in transitioning to the optimal cloud deployment model.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Comparison of SAP ERP Offerings" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/350102iA7249B8659B00045/image-size/large?v=v2&px=999" role="button" title="Figure 6.png" alt="Comparison of SAP ERP Offerings" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Comparison of SAP ERP Offerings</span></span></P><H2 id="toc-hId--443640189">Secure your SAP Cloud ERP deployment through a Technical Assessment</H2><P>The Technical Assessment is a process designed to ensure that customer requirements are met when transitioning to SAP Cloud ERP Private, and to support a successful move to the cloud. This service is included in every engagement and is delivered by SAP Global Cloud Operations (GCO) - the business unit in SAP that is responsible for design, build and operate of Cloud ERP Private. GCO also oversees the service engineering of the included services (<A title="Understanding the Distinct Scope of SAP Cloud ERP Private" href="https://community.sap.com/t5/technology-blog-posts-by-sap/understanding-the-distinct-scope-of-sap-cloud-erp-private/ba-p/14219721" target="_blank">read more about that here</A>), and the customer advisory for evaluating cloud deployment options and ensuring successful onboarding to SAP Cloud ERP Private.</P><P>Technical Assessment Scope:</P><UL><LI>SAP Cloud ERP Private Deployment</LI><LI>Technical Architecture</LI><LI>Network & Connectivity</LI><LI>Security & Compliance</LI><LI>Services & Operations</LI><LI>Cloud Onboarding.</LI></UL><P>The Technical Assessment is defined and led by the SAP Cloud Architecture & Advisory team within SAP Global Cloud Operations. We guide customers through the necessary steps at a pace aligned with each customer’s readiness and transformation journey. Your designated Cloud Architect & Advisor (CAA) is available to guide you through a deeper assessment of the cloud deployment options outlined in this article.</P>2025-12-10T08:19:08.342000+01:00https://community.sap.com/t5/enterprise-resource-planning-blog-posts-by-members/choosing-the-right-path-to-cloud-erp/ba-p/14289151Choosing the right path to Cloud ERP2025-12-12T05:22:51.264000+01:00Scott_McKenzie77https://community.sap.com/t5/user/viewprofilepage/user-id/2250006<P>For many SAP-using organizations, moving to Cloud ERP is not a question of if but how. And businesses are feeling the pressure. End-of-support for ECC is fast approaching and many of SAP’s newest innovations are offered only in the Cloud.</P><P>Despite the urgency, more than half of SAP users have yet to begin their migration. One of the biggest hurdles is choosing the right path to Cloud ERP.</P><P>At first, this might seem like a simple decision between Public Cloud ERP and Private Cloud ERP. Yet, the choice is far more complex. It requires careful consideration of your business priorities, regulatory requirements, and landscape complexity.</P><P><STRONG>Public vs Private</STRONG></P><P>It’s tempting to view Public Cloud ERP as a one-size-fits-all solution, with limited flexibility. Public Cloud ERP is often described as a standardized, SAP-managed solution with a Clean Core – where most customizations move to external platforms like BTP. Private Cloud ERP is seen as the more flexible alternative, particularly for organizations needing to retain legacy customizations.</P><P>While there is some truth to that distinction, it oversimplifies the reality for businesses considering shifting to the Cloud. The real difference is less about whether you can customize, but where and how.</P><P>In Public Cloud, extensions and customizations, mostly occur outside the core ERP system. Unlike Public Cloud, Private Cloud permits more change to the core ERP system and offers more options that address end-user requirements such as hosting preferences and underlying technology.</P><P><STRONG>The Many Variations of Private Cloud </STRONG></P><P>For larger enterprises, Private Cloud is the likely choice. Yet, that choice is anything but straightforward. Over time, SAP has expanded beyond a single core offering of Private Cloud ERP (formerly RISE), offering numerous options designed to meet distinct needs, whether infrastructure preferences, regulatory compliance, or phased migration timelines.</P><P> </P><P>Some examples of Private Cloud include:</P><UL><LI>SAP Cloud ERP Private Edition: Classic RISE with SAP option and the right choice for many enterprises</LI><LI>SAP Cloud ERP Private Edition Tailored: Contracted options are customized per unique customer requirements. May include contracted coverage for many responsibilities considered customer concerns in the base offering.</LI><LI>SAP Cloud ERP Private Sovereign Cloud: Keeps all data and processing within a particular jurisdiction or geography. It’s ideal when technical or regulatory requirements make traditional off-site hosting infeasible.</LI><LI>SAP Cloud ERP Hyperscaler: Runs on the customer’s preferred hyperscaler, often leveraging an existing relationship.</LI><LI>SAP Cloud ERP Hyperscaler Tailored: Modified version of Cloud ERP running on the customer’s existing hyperscaler environment. Offers additional flexibility for deployment architecture and may be more suitable for migrating highly integrated or complex existing on-premises implementations.</LI><LI>SAP ERP Customer Datacenter Edition: Brings Cloud architecture into a company’s datacentre when external hosting isn’t feasible.</LI><LI>SAP Cloud ERP Private Edition Transition Option: A commercial offering enabling enterprises to commit to Cloud ERP while keeping ECC supported past 2027 and through 2033.</LI></UL><P>The number of Cloud ERP options can be overwhelming. Yet, it also means you can choose an offering closely aligned with your strategic goals.</P><P><STRONG>Key considerations for your Cloud journey</STRONG></P><P>There are more options available than many SAP-using organizations realize. The best outcomes come from asking the right questions and focusing on what matters most to your business.</P><UL><LI><STRONG>Customization:</STRONG> Do we have significant existing customizations? How critical are these customizations? Is code going to be retained or modernized? Where does redevelopment or customization take place?</LI><LI><STRONG>Compliance:</STRONG> What compliance or jurisdictional requirements govern where data can reside?</LI><LI><STRONG>Cloud partnership</STRONG>: How important is leveraging an existing hyperscaler contract or infrastructure investment?</LI><LI><STRONG>Timeline:</STRONG><SPAN> Do we anticipate maintaining ECC beyond standard support timelines, and if so, what transition paths exist?</SPAN></LI></UL><P>Look beyond Public and Private and focus on business realities. In this way, you can identify an option that balances flexibility, control, and long-term viability. It means businesses can avoid putting operations and compliance at risk as they migrate to the Cloud.</P><P><STRONG>The Bottom Line</STRONG></P><P>The journey to Cloud ERP is rarely straightforward. No two organizations have the same requirements and goals. What’s clear is that there is no universal answer. Public Cloud offers speed, standardization, lower total cost of ownership, automatic SAP updates, and scalability. Private Cloud provides flexibility, with choices built to address distinct business challenges.</P><P>The right choice depends on aligning your migration strategy with business outcomes. Focus on your requirements and chart a course that ensures your ERP landscape remains a foundation for growth, innovation, and resilience today and in the future.</P><P> </P><P> </P><P> </P><P> </P>2025-12-12T05:22:51.264000+01:00https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-conway-s-law/ba-p/14304471Digital Transformation. View of an Enterprise Architect - Conway's Law2026-01-13T13:07:27.255000+01:00VolkerHechthttps://community.sap.com/t5/user/viewprofilepage/user-id/1481969<P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ivory_tower.jpg" style="width: 908px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359861iE6267C61C2161123/image-dimensions/908x472?v=v2" width="908" height="472" role="button" title="ivory_tower.jpg" alt="ivory_tower.jpg" /></span></P><P class="lia-align-center" style="text-align: center;"> <SPAN>#GenerativeArt</SPAN></P><P class="lia-align-center" style="text-align: center;"> </P><P><FONT size="4"><SPAN><STRONG>Out of the Ivory Tower: Architecture, Organization, and the Reality of SAP Transformations</STRONG></SPAN></FONT></P><P><SPAN>Many SAP transformations today do not fail because of technology. SAP S/4HANA, cloud architectures, and modern integration platforms are mature and powerful. Yet in practice, end-to-end processes often remain slow and inefficient.</SPAN></P><P><SPAN>The root cause is frequently not the system itself, but the organization that designs, operates, and evolves it.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><SPAN><STRONG>When SAP Architecture Meets Organizational Silos</STRONG></SPAN></FONT></P><P><SPAN>In many enterprises, SAP organizations have historically been structured around technical modules such as SD, MM, or FI.<BR />While these modules are technically connected through document flows, they are often organizationally separated.</SPAN></P><P><SPAN>This leads to familiar challenges:</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>high coordination effort across team boundaries</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>fragmented ownership along end-to-end processes</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>long lead times despite modern platforms</SPAN></P><P><SPAN>As a result, architecture becomes a reflection of organizational reality.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><SPAN><STRONG>Conway’s Law: Relevant in Everyday Practice</STRONG></SPAN></FONT></P><P><SPAN>This pattern can be explained by Conway’s Law:<BR />Systems inevitably mirror the communication and decision structures of the organizations that design them.</SPAN></P><P><SPAN>For SAP customers, this means that as long as organizations are aligned around technical components, architectures will follow the same structure—regardless of how advanced the underlying technology is. Agile methods alone do not change this as long as structural dependencies remain.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><STRONG>A Realistic Perspective on Organizational Change</STRONG></FONT></P><P><SPAN>Especially in large, established SAP organizations, one thing is clear:<BR />Breaking down organizational silos is difficult and often not fully achievable.</SPAN></P><P><SPAN>Governance models, reporting lines, and historically grown responsibilities impose real constraints. A radical organizational redesign is therefore rarely feasible in the short term.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><SPAN><STRONG>Why Awareness Still Makes a Difference</STRONG></SPAN></FONT></P><P><SPAN>The key benefit already starts with awareness of the relationship between organization and architecture:</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>dependencies become visible earlier</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>architectural decisions are assessed more realistically</SPAN></P><P><SPAN>·</SPAN><SPAN> </SPAN><SPAN>interfaces are understood as organizational, not just technical, challenges</SPAN></P><P><SPAN>Even without major reorganization, this awareness enables targeted improvements—for example, clearer end-to-end ownership for critical initiatives or more deliberate team setups where it matters most.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><SPAN><STRONG>Conclusion</STRONG></SPAN></FONT></P><P><SPAN>SAP architecture does not emerge in an ivory tower. It is always shaped by the organizational context in which it is created.<BR />Those who understand and consider Conway’s Law make better architectural decisions—even when organizational silos cannot be fully removed.</SPAN></P><P><SPAN>Architecture is organizational design.</SPAN></P><P><SPAN> </SPAN></P><P><FONT size="4"><SPAN><STRONG>What Does This Mean for Your SAP Transformation?</STRONG></SPAN></FONT></P><P><SPAN>Taking a conscious look at organizational structures, responsibilities, and communication paths can significantly improve the effectiveness of architectural decisions. Not every organization needs to be redesigned—but every transformation benefits from thinking about architecture and organization together.</SPAN></P><P><SPAN> </SPAN></P><P><SPAN>Common thread of this blog series:</SPAN></P><P><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-introduction/ba-p/13761908" target="_blank">Introduction </A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-tasks-of-an-ea/ba-p/13762324" target="_blank">Tasks of an Enterprise Architect </A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-a-enterprise-architect-success-factors/ba-p/13763281" target="_blank">Success Factors for Digital Transformation Projects </A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-help/ba-p/13763527" target="_blank">Help of an Enterprise-Architecture-Framework </A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-steps-and-tips/ba-p/13764300" target="_blank">Steps and Tips </A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-artificial/ba-p/13970240" target="_blank">Artificial Intelligence Meets Enterprise Architecture</A><BR /><A href="https://community.sap.com/t5/enterprise-architecture-blog-posts/digital-transformation-view-of-an-enterprise-architect-conway-s-law/ba-p/14304471" target="_blank">Conway’s Law</A></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P><P><SPAN>References</SPAN></P><P><SPAN>Hohmann, M.; Wagner, D.: <I>Architecture Is Organizational Design</I>, iX – Magazine for Professional Information Technology, Issue 1/2026.</SPAN></P><P><SPAN> </SPAN></P><P><SPAN> </SPAN></P>2026-01-13T13:07:27.255000+01:00https://community.sap.com/t5/sap-training-and-change-management-blog-posts/success-pl%C3%A4ne-der-neue-support-ansatz-von-sap-f%C3%BCr-die-cloud/ba-p/14322103Success Pläne - Der neue Support-Ansatz von SAP für die Cloud2026-02-05T11:26:32.459000+01:00ThomasJeneweinhttps://community.sap.com/t5/user/viewprofilepage/user-id/594<P>SAP führt im März 2026 ein neues Support-Modell ein, das die Zusammenarbeit mit Kunden vereinfachen soll. In einer Session im Rahmen der IT Online Konferenz erklärten Dr. Stephanie Lockemann (<SPAN>Head of Premium Engagements and Customer Innovation Services</SPAN>) und Simone Ruprechter (Head of Solution Sales Business Development and Go-to-Market Services) die Neuerungen in einem Interview. Anbei eine Zusammenfassung.</P><H2 id="toc-hId-1789521188"><STRONG>Warum werden die Success Pläne als ein neues Support-Modell benötigt?</STRONG></H2><H3 id="toc-hId-1722090402"><STRONG>Veränderte Marktbedingungen</STRONG></H3><P>Die Rahmenbedingungen für Unternehmen haben sich gewandelt. Märkte folgen nicht mehr vertrauten Mustern, sondern verändern sich in kürzeren Zyklen. Wachstumsphasen, Inflation und Rezession wechseln sich schneller ab. Lieferketten geraten ins Stocken, Fachkräfte fehlen, und geopolitische Entwicklungen ändern sich im Tagesrhythmus.</P><P>Gleichzeitig entstehen neue Chancen: Daten liefern Erkenntnisse in Echtzeit, künstliche Intelligenz steigert die Produktivität, und neue Geschäftsmodelle werden möglich. Entscheidend ist nicht mehr die Unternehmensgröße, sondern Geschwindigkeit, Transparenz und Anpassungsfähigkeit.</P><H3 id="toc-hId-1525576897"><STRONG>Kundenfeedback als Treiber</STRONG></H3><P>Neben den Marktbedingungen war das Kundenfeedback zentral für die Neuausrichtung. Kunden erwarten SAP in einer beratenden Rolle über den gesamten Lebenszyklus ihrer Lösung - nicht nur bei der Implementierung. Sie brauchen vorausschauende Guidance, Unterstützung bei neuen Releases und kontinuierliche Beratung, um den Return on Investment zu maximieren und TCO zu senken.</P><H2 id="toc-hId-1199980673"><STRONG>Die drei Success Pläne von SAP im Überblick</STRONG></H2><P>Das neue Modell besteht aus drei aufeinander aufbauenden Success Plänen:</P><H2 id="toc-hId-1003467168"><STRONG>Foundational Success Plan</STRONG></H2><P>Der Foundational Success Plan erweitert das bestehende SAP Enterprise Support Angebot und richtet sich an Kunden mit standardnahen Systemen und geringeren Support-Anforderungen. Alle SAP‑Cloud-Kunden erhalten ihn automatisch. Er bietet:</P><UL><LI>24/7 Support entlang Service Level Agreements</LI><LI>Managed Services für den Cloud-Betrieb</LI><LI>Self-Service-Inhalte für Onboarding und Launch</LI><LI>Begleitung bei der Transformation mit SAP Cloud ALM</LI><LI>Learning Journeys für Schulungen</LI></UL><H2 id="toc-hId-806953663"><STRONG>Advanced Success Plan</STRONG></H2><P>Der Advanced Success Plan baut darauf auf und löst SAP Preferred Success sowie SAP Preferred Success expanded edition ab. Er bietet u.a,:</P><UL><LI>Verbesserte Service Level Agreements</LI><LI>Innovation and Adoption Guidance für neue Releases und Features</LI><LI>KI-basiertes Systemmonitoring mit automatisierten Empfehlungen</LI><LI>Activation and Optimization Services (Microservices mit 8-16 Stunden)</LI><LI>Einen remote Success Expert, der einen Serviceplan erstellt</LI><LI>Kunden können alle Entitlements unbegrenzt nutzen</LI></UL><H2 id="toc-hId-610440158"><STRONG>Max Success Plan</STRONG></H2><P>Der Max Success Plan ermöglicht eine strategische Partnerschaft mit SAP. Er kombiniert alle Leistungen aus Foundational und Advanced und ergänzt sie um:</P><UL><LI>Einen dedizierter Success Plan Manager</LI><LI>Zugriff auf das Premium Engagement Service Portfolio</LI><LI>Services für Business Process Improvement, Complex Transformation und Safeguarding</LI><LI>Maßgeschneiderte, individuelle Services incl. Prototyping</LI><LI>Enhanced Case Management mit dediziertem Ansprechpartner</LI><LI>Vor-Ort-Unterstützung bei Bedarf</LI></UL><P>Der Max Success Plan integriert das bisherige Premium Engagement Services Angebot.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SPGrafik.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369136i75285943D00C439B/image-size/large?v=v2&px=999" role="button" title="SPGrafik.jpg" alt="SPGrafik.jpg" /></span></P><H2 id="toc-hId-413926653"><STRONG>Was sind Praxisbeispiele der Success Pläne von SAP? </STRONG></H2><H2 id="toc-hId-217413148"><STRONG>SAP Business AI Nutzung</STRONG></H2><P>Bei SAP Business AI sieht es wie folgt aus:</P><P><STRONG>Foundational:</STRONG> Zugriff auf Lösungsdokumentation über help.sap.com, Learning Journeys, Aktivierung von Joule über Self-Services</P><P><STRONG>Advanced:</STRONG> Zusätzliche Leistungen zur Identifikation des Business AI Potenzials, strategische Aktivierung von Anwendungsfällen, fortlaufende Produktberatung, Guidance und Optimierungsempfehlungen</P><P><STRONG>Max:</STRONG> Definition der KI-Strategie, Erstellung einer Daten- und Architektur-Roadmap, Entwicklung von Prototypen für maßgeschneiderte KI-Anwendungsfälle</P><H2 id="toc-hId-20899643"><STRONG>Business Data Cloud (BDC) - Neues Release</STRONG></H2><DIV><P><SPAN>Ein konkretes Szenario bei einem neuen BDC-Release zeigt die Flexibilität durch die Kombination verschiedener Layer:</SPAN></P></DIV><DIV><STRONG>Foundational:</STRONG><SPAN> Zugriff auf Lösungsdokumentation über help.sap.com, neue Lerninhalte über Learning Journeys </SPAN></DIV><DIV><STRONG>Advanced </STRONG>bietet:</DIV><DIV><UL><LI><SPAN>Release Guidance für Überblick über neue Funktionen</SPAN></LI><LI><SPAN>Key Feature Advisory für interessante Features</SPAN></LI><LI><SPAN>Best Practice Advisory für Einsatzszenarien</SPAN></LI><LI><SPAN>Aktivierung des Features zum Testen</SPAN></LI><LI><SPAN>Transformation Advisory für die Implementierungs-Roadmap</SPAN></LI><LI><SPAN>Kontinuierliches KPI-Monitoring und Optimierungsvorschläge</SPAN></LI></UL></DIV><DIV><STRONG>Max </STRONG>bietet:</DIV><DIV><UL><LI><SPAN>Proof of Concept bei großflächigem Rollout</SPAN></LI><LI><SPAN>Begleitung der Implementierung</SPAN></LI><LI><SPAN>Safeguarding der Implementierung</SPAN></LI></UL></DIV><H2 id="toc-hId-171640495"><STRONG>Was sind Kernprinzipien der Success Pläne von SAP? </STRONG></H2><P><STRONG>Design Prinzipien sind die Folgenden</STRONG></P><UL><LI>Umfassendes, maßgeschneidertes Serviceportfolio für alle Phasen</LI><LI>Einheitliches Front Office und eine Governance</LI><LI>Ein Ansprechpartner über alle Lösungen hinweg</LI><LI>End-to-End Betrachtung der Lösungslandschaft</LI><LI>Individueller Serviceplan je nach Situation</LI></UL><H2 id="toc-hId--24873010"><STRONG>Welche Vorteile bieten SAPs Success Pläne? </STRONG></H2><UL><LI><STRONG>Flexibilität:</STRONG> Unlimitierter Abruf von Entitlements ermöglicht schnelles Ausprobieren neuer Features ohne Approval-Prozesse oder separate Angebote</LI><LI><STRONG>Agilität:</STRONG> Schnellere Innovation durch unkomplizierte Service-Nutzung aus verschiedenen Ebenen</LI><LI><STRONG>Integrated Delivery:</STRONG> Ein einheitliches Governance‑Modell sorgt für eine optimale Lieferung - unabhängig davon, aus welchem Level oder Portfolioelement die Services kommen</LI><LI><STRONG>Individualisierung:</STRONG> Lösungsspezifische Wahl des passenden Plans - verschiedene SAP-Systeme können unterschiedliche Success Plans nutzen</LI><LI><STRONG>Ressourceneffizienz:</STRONG> Einsparung interner Ressourcen und externer Beratung durch SAP-Services</LI></UL><H2 id="toc-hId--221386515"><STRONG>Fragen und Antworten zu SAPs Success Plänen</STRONG></H2><P><STRONG>Für wen ist welcher Plan geeignet?<BR /></STRONG>Die Success Pläne eignen sich für alle Kundengruppen. Durch die drei aufeinander aufbauenden Ebenen findet jeder Kunde das passende Modell - abhängig von Komplexität, Bedarf und strategischer Bedeutung der jeweiligen Lösung.</P><P><STRONG>Wie ist die Verfügbarkeit? </STRONG>Das neue Support-Modell startet am 3. März 2026.</P><P><STRONG>Wie ist der Übergang von bestehenden Verträgen? <BR /></STRONG>Laufende Premium Engagement und SAP Preferred Success Verträge bleiben bestehen und laufen über die gesamte Vertragslaufzeit. Nach Vertragsende erfolgt die Überführung in das neue Modell gemeinsam mit dem Kunden. Ein früherer Wechsel ist nach Absprache mit den bekannten Ansprechpartnern möglich.</P><P><STRONG>Gilt das neue Modell nur für Cloud-Kunden?</STRONG> Ja, die Success Pläne sind für Cloud-Lösungen konzipiert. On-Premise-Kunden können weiterhin Premium Engagement Services in einem revidierten Modell nutzen.</P><P><STRONG>Was passiert mit laufenden SAP Preferred Success oder Premium Engagement Verträgen?</STRONG> Bestehende Verträge laufen über die vereinbarte Vertragslaufzeit. Die Überführung ins neue Modell erfolgt nach Vertragsende oder bei Bedarf früher in Abstimmung mit dem Kunden.</P><P><STRONG>Kann man verschiedene Success Pläne für unterschiedliche Lösungen wählen?</STRONG> Ja, Kunden haben volle Flexibilität. Für jede SAP-Lösung kann der passende Plan gewählt werden. Der Max Success Plan stellt dabei die End-to-End-Beratung über alle Lösungen sicher.</P><P><STRONG>Wann sind Kosten und Preise verfügbar?</STRONG> Aussagen dazu sind ab März 2026 möglich.</P><P><STRONG>Für welche Kundengruppen sind die Success Pläne geeignet?</STRONG> Für alle Kundengruppen. Die drei aufeinander aufbauenden Level bieten für jeden Bedarf das passende Modell.</P><P><STRONG>Wo finden sich weiterführende Informationen? </STRONG>Nach dem Launch im März folgt eine dreiteilige Webcast-Reihe in Deutsch und Englisch mit den Schwerpunkten: Überblick über die Success Pläne/ Deep Dive Advanced Success Plan / Deep Dive Max Success Plan. <A href="https://events.sap.com/eur-webcasts-success-plans/en_us/home.html" target="_blank" rel="noopener noreferrer">Die Anmeldung ist bereits hier möglich.</A></P><P><STRONG>Was sind Tipps für die Praxis? </STRONG>Hierzu wurden folgende Punkte genannt:</P><OL><LI><STRONG>Frühzeitig klassifizieren:</STRONG> Bewerten Sie Ihre SAP-Lösungen nach strategischer Bedeutung, Komplexität und Standardnähe, um den passenden Plan zu identifizieren.</LI><LI><STRONG>Ansprechpartner kontaktieren:</STRONG> Nutzen Sie bestehende SAP-Kontakte für eine individuelle Bewertung und Empfehlung.</LI><LI><STRONG>Flexibilität nutzen:</STRONG> Denken Sie lösungsspezifisch - nicht jede Lösung benötigt denselben Support-Level.</LI><LI><STRONG>Entitlements ausschöpfen:</STRONG> Im Advanced und Max Plan sind Services unlimitiert abrufbar. Nutzen Sie diese Flexibilität für schnelle Innovation.</LI><LI><STRONG>End-to-End betrachten:</STRONG> Lassen Sie sich vom Success Plan Manager oder Expert einen ganzheitlichen Serviceplan erstellen.</LI><LI><STRONG>Learning Journeys einplanen:</STRONG> Nutzen Sie die integrierten Schulungsangebote für eine erfolgreiche Adoption.</LI><LI><STRONG>Webcast-Reihe besuchen:</STRONG> Die geplanten Deep Dives bieten detaillierte Einblicke in Advanced und Max Pläne.</LI></OL><H2 id="toc-hId--417900020"><STRONG>Zusammenfassung</STRONG></H2><P>SAP reagiert mit den neuen Success Plänen auf veränderte Marktbedingungen und Kundenbedürfnisse. Das dreistufige Modell - Foundational, Advanced und Max - bietet von Self-Service bis zur strategischen Partnerschaft das passende Engagement für jeden Bedarf. </P><P>Kernelemente sind Flexibilität, integrierte Delivery mit einer Governance und die Möglichkeit, für unterschiedliche Lösungen verschiedene Pläne zu wählen. Bestehende Verträge bleiben selbstverständlich weiter gültig. Die Success Pläne bündeln SAPs Cloud‑Support‑Kompetenz in einem klar strukturierten Modell, das Stabilität, Innovationstempo und strategische Beratung vereint.</P><P>So begleitet SAP Unternehmen durch den gesamten Lebenszyklus ihrer Softwarelösungen. Mehr Infos gibt es <A href="https://events.sap.com/eur-webcasts-success-plans/en_us/home.html" target="_blank" rel="noopener noreferrer">hier</A> in den Webinaren. </P>2026-02-05T11:26:32.459000+01:00https://community.sap.com/t5/artificial-intelligence-learning-group-blog-posts/accelerate-your-transformation-to-the-cloud-with-sap-business-ai-live/ba-p/14323293Accelerate your transformation to the Cloud with SAP Business AI: Live Session March 5, 20262026-02-06T20:38:23.731000+01:00Geoffrey_Fuhttps://community.sap.com/t5/user/viewprofilepage/user-id/2062381<P><STRONG>Unlock Faster, Smarter Cloud Migration with SAP Business AI</STRONG><SPAN> Are you ready to transform your business with AI-driven efficiency? Join our 45-minute live session on </SPAN><STRONG>March 5, 2026</STRONG><SPAN>, and explore how SAP’s intelligent toolchain simplifies migration, integrates seamlessly with tools like Signavio and Cloud ALM, and delivers measurable results. Whether you're a project manager, developer, or architect, this session will show you how to accelerate your cloud journey with confidence.</SPAN></P><P><STRONG>Key Takeaways:</STRONG></P><UL><LI><STRONG>Unified Platform:</STRONG><SPAN> </SPAN>Replace disjointed tools with an AI-powered solution for seamless workflows.</LI><LI><STRONG>Live Demos:</STRONG><SPAN> </SPAN>See how Signavio, LeanIX, and Cloud ALM integrate for measurable results.</LI><LI><STRONG>Get Started Today:</STRONG><SPAN> </SPAN>Learn practical steps to begin your transformation with confidence.</LI></UL><P><STRONG>Who Should Attend?</STRONG><SPAN> </SPAN>Project managers, developers, consultants, and architects looking to accelerate cloud adoption with AI.</P><P><SPAN> </SPAN><A href="https://learning.sap.com/live-sessions/accelerate-your-transformation-to-the-cloud-with-sap-business-ai" target="_blank" rel="noopener noreferrer"><STRONG>Register now</STRONG></A></P>2026-02-06T20:38:23.731000+01:00https://community.sap.com/t5/artificial-intelligence-learning-group-blog-posts/leading-ai-driven-transformation-a-new-sap-enterprise-architect-course/ba-p/14330502Leading AI-Driven Transformation – A New SAP Enterprise Architect Course2026-02-18T00:05:31.303000+01:00Geoffrey_Fuhttps://community.sap.com/t5/user/viewprofilepage/user-id/2062381<P>Our new course,<SPAN> </SPAN><STRONG>Leading AI-Driven Transformation as an SAP Enterprise Architect</STRONG>, empowers you to master SAP’s latest Business AI strategies and tools. Designed for enterprise architects, this course equips you to drive technology change, shape AI-enabled landscapes, and position SAP solutions confidently to customers.</P><P>You will gain practical knowledge on SAP’s Business AI strategy, AI reference architectures, hybrid design patterns, and effective ways to support customers through their AI transformation journey. Don’t miss the chance to upgrade your skills for the future of enterprise IT.</P><H4 id="toc-hId-2048554408">What You’ll Learn</H4><UL><LI>Understand how SAP’s Business AI strategy shapes the enterprise architect’s evolving responsibilities and opportunities.</LI><LI>Use SAP tools to guide AI exploration, architecture design, and early-stage assessments across SAP landscapes.</LI><LI>Recognize common challenges and blockers in AI adoption, and how to overcome them.</LI><LI>Explore hybrid architectures and best practices for integrating AI into existing SAP and third-party environments.</LI><LI>Learn to position AI value to customers and support their end-to-end transformation journey.</LI></UL><P><A href="https://community.sap.com/source-Ids-list" target="1_o2w36d8y" rel="nofollow noopener noreferrer"> </A></P><P>Upgrade your skills and lead with confidence—<A href="https://learning.sap.com/courses/leading-ai-driven-transformation-as-an-sap-enterprise-architect?searchId=8a8cfcd3-921b-4a18-92e7-899a87af418a&listPosition=1" target="_blank" rel="noopener noreferrer">register today for “Leading AI-Driven Transformation as an SAP Enterprise Architect.”</A></P><P> </P>2026-02-18T00:05:31.303000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/the-path-to-sap-cloud-erp-private-technical-assessment/ba-p/14335402The Path to SAP Cloud ERP Private –Technical Assessment2026-02-25T07:08:34.797000+01:00Jose_Salguero1https://community.sap.com/t5/user/viewprofilepage/user-id/1725070<P>With SAP Cloud ERP Private, SAP removes the complexity of designing, building, and operating SAP software for customers by offering a user- or metric-based subscription that bundles software and tooling licenses, infrastructure, and technical managed services—everything needed to run an SAP solution. Read more about this here: <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/understanding-the-distinct-scope-of-sap-cloud-erp-private/ba-p/14219721" target="_blank">Understanding the Distinct Scope of SAP Cloud ERP Private</A></P><P>To ensure a smooth transition to the cloud, SAP collaborates with each customer and partner on all design, build, and operational topics relevant to SAP Cloud ERP Private, assessing the technical feasibility of each customer’s requirements and handing them over to the business unit within SAP that is responsible for designing, building and operating SAP Cloud ERP Private.</P><P>Moving to a cloud subscription service either from an on-premise datacenter or indeed from public cloud IaaS is not a trivial task. It requires due diligence to ensure that all technical and operational requirements are met, and where deviations exist, a solution is achieved to deliver the same business outcome.</P><P>To support our customers’ transition to the private cloud, SAP offers a safeguarding process which covers all the technical and operational requirements. This process, which we call Technical Assessment, is delivered by a unit within Global Cloud Operations called Cloud Architecture & Advisory (CAA).</P><P>This document explains the role and value of the Technical Assessment process in the journey to SAP Cloud ERP Private. It outlines how SAP works with customers and partners to achieve the following:</P><UL><LI>Advise on suitable private cloud options and high-level architecture choices</LI><LI>Assess technical requirements and align expectations across stakeholders</LI><LI>Transition the agreed outcomes into a clear and feasible target architecture before delivery</LI></UL><P>By providing an overview of the assessment domains, decision points, and outcomes, this document aims to give stakeholders a clear understanding of how the Technical Assessment helps ensure a secure, scalable, and successful transition to SAP Cloud ERP Private.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Jose_Salguero1_0-1771931642795.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/376319i8A2881A471BA18B6/image-size/medium?v=v2&px=400" role="button" title="Jose_Salguero1_0-1771931642795.png" alt="Jose_Salguero1_0-1771931642795.png" /></span></P><P class="lia-align-center" style="text-align: center;"><SPAN>Figure1 : Technical Assessment Flywheel</SPAN></P><P><STRONG>Advise the customer on the private cloud offerings within the SAP GCO portfolio</STRONG></P><P>A key factor to ensure a successful transition to SAP’s Private Cloud is to understand the private cloud offering and the details of each technical domain such as:</P><P> </P><TABLE width="664px"><TBODY><TR><TD width="286.688px" height="50px"><P><STRONG>Technical Domain</STRONG></P></TD><TD width="376.513px" height="50px"><P><STRONG>Expected customer’s stakeholder</STRONG></P></TD></TR><TR><TD width="286.688px" height="50px"><P><STRONG>SAP Cloud ERP Private Overview</STRONG></P></TD><TD width="376.513px" height="50px"><P>All key stakeholders</P></TD></TR><TR><TD width="286.688px" height="77px"><P><STRONG>Cloud Technical Architecture</STRONG></P></TD><TD width="376.513px" height="77px"><P>Infrastructure, application, basis, and network stakeholders</P></TD></TR><TR><TD width="286.688px" height="50px"><P><STRONG>Network and Integration</STRONG></P></TD><TD width="376.513px" height="50px"><P>Infrastructure, network, and security stakeholders</P></TD></TR><TR><TD width="286.688px" height="77px"><P><STRONG>Cybersecurity and Compliance</STRONG></P></TD><TD width="376.513px" height="77px"><P>Security, network, infrastructure, application, and basis stakeholders</P></TD></TR><TR><TD width="286.688px" height="77px"><P><STRONG>Cloud Managed Services and Operating Model</STRONG></P></TD><TD width="376.513px" height="77px"><P>All key stakeholders</P></TD></TR><TR><TD width="286.688px" height="77px"><P><STRONG>Customer Onboarding</STRONG></P></TD><TD width="376.513px" height="77px"><P>Infrastructure, application, basis, and network stakeholders</P></TD></TR></TBODY></TABLE><P class="lia-align-left" style="text-align : left;">Table 1: Technical Domains and expected participants</P><P>These domains provide a structured lens to assess customer needs and requirements as well as position the right GCO services. Depending on the complexity of the requirements, some topics will require deep‑dive workshops to reach a shared understanding and robust solution options. This collaborative approach enables tailored architectures and operating models that align to the customer’s objectives and proactively address potential challenges during the move to SAP Cloud ERP Private.</P><P><STRONG>Assess the technical feasibility of the customer’s requirements</STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Jose_Salguero1_1-1771931642800.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/376320i2A6BD24DF0F60022/image-size/medium?v=v2&px=400" role="button" title="Jose_Salguero1_1-1771931642800.png" alt="Jose_Salguero1_1-1771931642800.png" /></span></P><P class="lia-align-center" style="text-align: center;"><SPAN>Figure2: Technical Assessment aspects</SPAN></P><P>Aligning the customer’s current and target (“to‑be”) state is essential to define a clear path for their cloud journey. This assessment ensures both sides share the same expectations on scope, timelines, and responsibilities.</P><P>Throughout this process, SAP validates that the customer’s business and operational requirements can be implemented within SAP’s private cloud delivery standards. It also confirms that the solution follows GCO best practices for business continuity, operations, and cybersecurity.</P><P>Some aspects to be covered during the assessment are the following:</P><TABLE width="652px"><TBODY><TR><TD width="206.775px" height="50px"><P><STRONG>Aspect</STRONG></P></TD><TD width="206.75px" height="50px"><P><STRONG>Topics to be discussed</STRONG></P></TD><TD width="237.675px" height="50px"><P><STRONG>Decisions to be taken</STRONG></P></TD></TR><TR><TD width="206.775px" height="598px"><P><STRONG>Deployment option, platform, and region</STRONG></P></TD><TD width="206.75px" height="598px"><P>As described in the blog <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/from-on-premise-to-cloud-making-the-right-sap-erp-move/ba-p/14256072" target="_blank">From On-Premise to Cloud: Making the Right SAP ERP Move</A>, SAP offers several deployment options for SAP Cloud ERP Private, such as hyperscaler, SAP data center, customer data center, and premium suppliers – each available on different platforms and in multiple regions. It is the customer’s responsibility to choose the deployment model and select the platform and target regions, with support from the SAP CAA team to align with requirements, synergies, and the customer’s cloud strategy.</P></TD><TD width="237.675px" height="598px"><UL class="lia-list-style-type-circle"><LI>Deployment option (hyperscaler, SAP data center, customer data center, premium supplier)</LI><LI>Cloud provider or hyperscaler for the deployment</LI><LI>Regions (main and disaster recovery)</LI></UL></TD></TR><TR><TD width="206.775px" height="434px"><P><STRONG>Network and communication infrastructure</STRONG></P></TD><TD width="206.75px" height="434px"><P>Each platform provides different private and internet-facing connectivity options. Based on the chosen deployment option, platform, region, and performance needs, the customer must decide how to connect to SAP Cloud ERP Private, including any requirements for network segregation and DNS integration that should be clarified during the Technical Assessment.</P></TD><TD width="237.675px" height="434px"><UL class="lia-list-style-type-circle"><LI>Connectivity options for private and public access</LI><LI>Bandwidth required</LI><LI>DNS integration method (zone transfer, conditional forwarding, etc.)</LI><LI>Load balancing requirements</LI></UL></TD></TR><TR><TD width="206.775px" height="324px"><P><STRONG>Application platform and integrations</STRONG></P></TD><TD width="206.75px" height="324px"><P>It’s crucial to clarify which bill of materials, applications, and solutions are in scope for the private cloud, how they are offered in the GCO portfolio (for example, high availability, disaster recovery, and SLAs), and how they will integrate with SAP and non‑SAP systems.</P></TD><TD width="237.675px" height="324px"><UL class="lia-list-style-type-circle"><LI>Bill of material and solution’s versions</LI><LI>Business continuity options and SLAs</LI><LI>Technical elements required for integration with SAP and non-SAP systems</LI></UL></TD></TR><TR><TD width="206.775px" height="379px"><P><STRONG>Solution sizing</STRONG></P></TD><TD width="206.75px" height="379px"><P>Solution sizing from the customer or partner must be translated into cloud technical sizing (for example, database and storage), since accurate sizing is key for a smooth transition and optimal performance.The blog <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/sizing-your-success-a-guide-to-sap-cloud-erp-private/ba-p/14222599" target="_blank">Sizing Your Success: A Guide to SAP Cloud ERP Private</A> is a recommended reference for this activity.</P></TD><TD width="237.675px" height="379px"><UL class="lia-list-style-type-circle"><LI>Target sizing of the different solutions and tiers</LI><LI>Expected growth during the contract’s runtime</LI></UL></TD></TR><TR><TD width="206.775px" height="790px"><P><STRONG>Security and regulatory requirements</STRONG></P></TD><TD width="206.75px" height="790px"><P>As explained in the blog <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/rise-with-sap-comparing-the-security-of-sap-s-4hana-cloud-private-edition/ba-p/13568823" target="_blank">RISE with SAP: Comparing the Security of SAP S/4HANA Cloud, private edition Vs SAP S/4HANA Cloud, public edition</A>, SAP applies a multilayered security strategy and a zero‑trust approach across its cloud services, with controls such as encryption, access control, auditing, compliance, logging, monitoring, and secure operations governed by SAP standards and policies. This underpins the SAP Cloud ERP Private security and regulatory framework. Each organization also has its own security and regulatory needs, and where specific requirements go beyond the standard framework, SAP reviews them and designs appropriate measures.</P></TD><TD width="237.675px" height="790px"><UL class="lia-list-style-type-circle"><LI>Confirm that SAP’s security framework meets the customer’s requirement in terms of cybersecurity and regulation.</LI><LI>Identify any special requirement and find a solution for it.</LI></UL></TD></TR><TR><TD width="206.775px" height="351px"><P><STRONG>Best practices and operational model</STRONG></P></TD><TD width="206.75px" height="351px"><P>SAP Cloud ERP Private provides several operating models and SLA levels to suit different customer sizes and requirements. This includes defining backup expectations and reviewing roles and responsibilities (for example, via a RACI matrix) to identify and close any gaps. This blog <A href="https://www.sap.com/sea/blogs/erp-cloud-without-surprises" target="_blank" rel="noopener noreferrer">https://www.sap.com/sea/blogs/erp-cloud-without-surprises</A> explains who really does what is SAP Clud ERP Private.</P></TD><TD width="237.675px" height="351px"><UL class="lia-list-style-type-circle"><LI>Operational model</LI><LI>Availability SLAs for solutions</LI><LI>Customer’s specific backup SLA</LI><LI>Review of roles and responsibilities RACI matrix to identify potential gaps</LI></UL></TD></TR></TBODY></TABLE><P class="lia-align-left" style="text-align : left;">Table 2: Technical aspects to be assessed</P><P>The outcome of the technical domain sessions and the customer landscape assessment is a clear and accurate “to‑be” picture of the customer environment, including the transformation strategy. This serves as the blueprint to design and build the final landscape in SAP Cloud ERP Private.</P><P><STRONG>Transition the customer’s requirements to GCO for delivery</STRONG></P><P>SAP Cloud ERP Private is a managed private cloud service delivered by Global Cloud Operations (GCO), requiring a structured handover of customer requirements to SAP.</P><P>Early transition planning: Although the formal transition begins after the Cloud ERP Private agreement is signed, preparation should start early to avoid deployment delays that could jeopardize the project timeline.</P><P>Support process: The Cloud Architect and Advisory (CAA) team guides customers and partners through this process by collecting onboarding information, coordinating milestones, and ensuring smooth delivery to SAP teams.</P><P>The following outlines typical onboarding information to be collected:</P><TABLE width="641px"><TBODY><TR><TD width="320.112px" height="50px"><P><STRONG>Type of Input</STRONG></P></TD><TD width="320.087px" height="50px"><P><STRONG>Input Needed</STRONG></P></TD></TR><TR><TD width="320.112px" height="125px"><P><STRONG>Operational</STRONG></P><BR /><P><STRONG> </STRONG></P></TD><TD width="320.087px" height="125px"><UL class="lia-list-style-type-circle"><LI>Support user (S-user)<BR />Type of deployment (greenfield or brownfield)</LI><LI>Planned downtime<BR />SAP Best Practices activation</LI><LI>Financial relevance</LI><LI>Customer contact information</LI><LI>Regulatory requirements – GxP, HIPPA, data sovereignty</LI><LI>Cybersecurity requirements</LI></UL></TD></TR><TR><TD width="320.112px" height="125px"><P><STRONG>SAP-specific</STRONG></P><BR /><P> </P></TD><TD width="320.087px" height="125px"><UL class="lia-list-style-type-circle"><LI>System parameters (SIDs, clients, languages, etc.)</LI><LI>Target versions</LI></UL></TD></TR><TR><TD width="320.112px" height="50px"><P><STRONG>Network and DNS</STRONG></P></TD><TD width="320.087px" height="50px"><UL class="lia-list-style-type-circle"><LI>Connectivity method</LI><LI>Connectivity data</LI><LI>Private IP addresses ranges</LI><LI>DNS information</LI></UL></TD></TR></TBODY></TABLE><P class="lia-align-left" style="text-align : left;">Table 3: Onboarding information</P><P><STRONG>Outcome of Technical Assessment: baseline and working document</STRONG></P><P>The Technical Assessment process produces the Technical Assessment Report, summarizing all sessions and workshops, the proposed to‑be architecture for SAP Cloud ERP Private, and any assumptions or exceptions from discussions.</P><P>This report is shared with the customer for review and sign-off. It serves as the baseline for the commercial contract, delivery onboarding and is a living document throughout the contract lifecycle.</P><P><STRONG>Innovate and grow in SAP Cloud ERP Private</STRONG></P><P>Everything described above represents continuous engagement throughout the entire contract lifecycle, not a one-time effort.</P><P>For new customer requirements, the GCO team supports the customer and partner through a renewed technical assessment process. Depending on the requirement, relevant assessment domains and onboarding details will vary, but GCO provides full guidance—advising on goals and value drivers, identifying innovation opportunities, and extending the Cloud ERP Private scope via the change request process.</P>2026-02-25T07:08:34.797000+01:00https://community.sap.com/t5/technology-blog-posts-by-sap/iac-for-sap-btp-automating-environment-management-with-terraform-and-ci-cd/ba-p/14330408IaC for SAP BTP: Automating Environment Management with Terraform and CI/CD2026-02-27T06:03:58.154000+01:00Alexander_Teslyahttps://community.sap.com/t5/user/viewprofilepage/user-id/1385165<DIV class=""><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Alexander_Teslya_1-1771358820394.png" style="width: 809px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373623iC9493530D1CE1DF5/image-dimensions/809x540?v=v2" width="809" height="540" role="button" title="Alexander_Teslya_1-1771358820394.png" alt="Alexander_Teslya_1-1771358820394.png" /></span></DIV><DIV class=""> </DIV><H2 id="toc-hId-1790388015">Introduction</H2><P>In our previous blogs, we introduced the concept of Infrastructure as Code (IaC) for SAP BTP using Terraform, and how it can help organizations manage their environments in a consistent, repeatable, and automated way.</P><P>For Cloud Engineers working outside the SAP ecosystem, this approach is already well established. Running Terraform through CI/CD pipelines, managing remote state, and promoting changes across DEV, QA, and PROD environments is a common DevOps pattern in modern cloud-native architectures.</P><P>With SAP BTP, the same principles can now be applied consistently within the SAP landscape. This opens up new possibilities for:</P><UL><LI>Cloud engineers who are new to SAP and want to apply familiar DevOps and IaC practices.</LI><LI>Experienced SAP administrators who are modernizing their landscape management using Infrastructure as Code and CI/CD automation.</LI></UL><P>While this article demonstrates the approach using a classic 3-tier landscape (DEV, QA, PROD), the architecture is by no means limited to that scenario. In fact, it becomes even more valuable when applied to medium and large enterprise landscapes, where multiple subaccounts, regions, teams, and services must be provisioned and maintained in a consistent and governed way. Automating these environments through CI/CD significantly reduces operational overhead and improves scalability.</P><P>There are multiple options when it comes to integrating Terraform into your automation workflows. For example:</P><UL><LI>CI/CD platforms to execute: Jenkins, GitLab CI, GitHub Actions, Azure DevOps.</LI><LI>Store state of managed landscape: SAP BTP Object Store, HashiCorp Vault, AWS S3, and more.</LI></UL><P>In this article, we will focus on a concrete implementation: Jenkins as the CI/CD platform and SAP BTP Object Store as the remote store for the Terraform state file. I'll also demonstrate how to structure the pipeline for a multi-environment landscape (DEV, QA, PROD).</P><H2 id="toc-hId-1593874510">Why This Matters: Key Use Cases</H2><H3 id="toc-hId-1526443724">1. Consistent Landscape Provisioning</H3><P>Organizations often need to provision and update identical landscapes (for example, DEV, QA, and PROD) for multiple development teams or applications. Doing this manually is time-consuming, error-prone, and not scalable.</P><P>Certainly, Cloud Engineers and BTP Admins can execute Terraform commands ona local machine or laptop, as we discussed in a previous blog. But of course, in the real world, such operations need to be automated via CI/CD pipelines and embedded in processes.</P><P>With CI/CD and Terraform, we can:</P><UL><LI>Deploy and update environments automatically and consistently.</LI><LI>Manage infrastructure from an external system, not manually.</LI><LI>Enforce corporate policies and naming conventions.</LI><LI>Minimize the workload for Ops teams.</LI><LI>Scale quickly when new teams or projects need their own BTP environments.</LI><LI>Ensure full transparency and auditability through the pipeline.</LI></UL><H3 id="toc-hId-1329930219">2. Automated BTP Landscape Management</H3><P>Beyond provisioning, enterprises need centralized, automated control of SAP BTP environments. This includes:</P><UL><LI>Provisioning subaccounts, service instances, entitlements, and roles.</LI><LI>Enabling self-service deployments for development teams.</LI><LI>Enforcing governance and segregation of duties across environments.</LI><LI>Reducing time-to-market for new services and solutions.</LI><LI>Integrating seamlessly with existing DevOps processes.</LI></UL><P>Provisioning of new and updating of existing subaccounts should be a part of the new application deployment, mainly to have a consistent environment across landscape.</P><H2 id="toc-hId-1004333995">Architecture Overview</H2><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alexander_Teslya_0-1771352963956.png" style="width: 881px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373599i6C16C721D8A0E21E/image-dimensions/881x459?v=v2" width="881" height="459" role="button" title="Alexander_Teslya_0-1771352963956.png" alt="Alexander_Teslya_0-1771352963956.png" /></span></P><P>In our scenario, we would like to automate the provisioning of a 3-tier landscape, with a similar configuration inside, follow the naming convention, and also save the states of our subaccounts in an external S3 bucket. At the moment, via CI/CD pipeline, without governance(I will cover it in the next blog).</P><P>The setup described here is based on:</P><UL><LI>GitHub repository to store our Terraform configuration files.</LI><LI>We will use Terraform providers from SAP to manage SAP BTP resources.</LI><LI>Jenkins CI/CD platform for pipeline orchestration.</LI><LI>SAP BTP Object Store for storing the Terraform state (terraform.tfstate file).</LI><LI>Multiple environments (DEV, QA, PROD) managed via dedicated state files.</LI></UL><P>A high-level flow looks like this:</P><OL><LI>Cloud Engineer/Basis Admin commits Terraform configuration to Git.</LI><LI>Jenkins triggers pipeline execution. Basically, it can be triggered by GitHub webhook, or run by schedule, via API from an external system, or manually.</LI><LI>The state file is stored in SAP BTP Object Store.</LI><LI>Depending on the selected parameters (apply, show, destroy), a different subset of operations will be executed. </LI><LI>Changes are applied to the targeted environment (DEV, QA, or PROD), also based on the input parameters for pipeline execution.</LI></OL><HR /><H2 id="toc-hId-807820490">Remote State Management</H2><P>Terraform uses the state file (<SPAN>terraform.tfstate</SPAN>) to track the current infrastructure, and calculate changes in case of update or destroy. For multi-team, multi-environment setups, storing this state remotely is critical.</P><P>In our case, I'll use SAP BTP Object Store as the store for state files separated per subaccount:</P><UL><LI>Each environment (DEV, QA, PROD) has its own path and state file.</LI><LI>Remote state ensures collaboration without conflicts.</LI><LI>Access is controlled through Object Store policies and Jenkins credentials.</LI></UL><P>This provides consistency, security, and scalability when our Jenkins pipeline interacts with multiple BTP subaccounts.</P><H2 id="toc-hId-611306985">Multi-Environment Strategy</H2><P>There are two common approaches to managing multiple environments:</P><UL><LI>Terraform workspaces</LI><LI>Separate state files per environment (our case).</LI></UL><P>In our setup, Jenkins pipelines are parameterized by environment.</P><UL><LI>A pipeline may run for Dev, QA and Prod.</LI><LI>Each environment has its own state stored in Object Store.</LI><LI>Promotion of changes follows the lifecycle DEV → QA → PROD, ensuring controlled rollout.</LI></UL><H2 id="toc-hId-414793480">CI/CD Pipeline with Jenkins</H2><P>Our pipeline for provisioning and manage BTP landscape in Jenkins includes the following steps:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alexander_Teslya_0-1771469946074.png" style="width: 806px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/374084i9CF326FFCF26EB51/image-dimensions/806x145?v=v2" width="806" height="145" role="button" title="Alexander_Teslya_0-1771469946074.png" alt="Alexander_Teslya_0-1771469946074.png" /></span></P><P> </P><OL><LI>Terraform Init. Basically, pipeline pulls data from GitHub and initialize terraform config, dowload providers and etc.</LI><LI>- Terraform plan. On this step, Terraform(in a container, I described this part in the previous blog) calculates what should be done based on the tfstate file(in case of update or destroy), or the deployment plan in case of a new deployment.</LI><LI>Terraform apply. Deployment execution based on the calculated plan.</LI><LI>Terraform destroy. Destroy the subaccount in case of decommissioning. Would be more relevant for the temporary subaccount deployed for test purposes</LI><LI>Send Request to SAP CALM(I'll skip this step in this blog.)</LI></OL><P>An important note.</P><UL><LI>Terraform init.<UL class="lia-list-style-type-circle"><LI>Configure Terraform to use SAP BTP Object Store as the store for tfstate files and provide a naming convention for tfstate files.</LI></UL></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alexander_Teslya_2-1771356308759.png" style="width: 629px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373613i36AF6CA7689E0E46/image-dimensions/629x386?v=v2" width="629" height="386" role="button" title="Alexander_Teslya_2-1771356308759.png" alt="Alexander_Teslya_2-1771356308759.png" /></span></P><P>Based on the configuration of my pipeline in Jenkinsfile, when we run the Jenkins pipeline manually, we can see the input window where we can choose what and where we want to execute.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alexander_Teslya_5-1771357229720.png" style="width: 693px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373617i2B37133CFD590FDB/image-dimensions/693x402?v=v2" width="693" height="402" role="button" title="Alexander_Teslya_5-1771357229720.png" alt="Alexander_Teslya_5-1771357229720.png" /></span></P><UL><LI>Uses Jenkins parameters to choose the environment. In the future, we will automatically pass these parameters via API</LI><LI>Loads credentials securely.</LI><LI>Runs the full Terraform cycle from init to apply/destroy.</LI><LI>Stores the state file with information of provisioned/updated landscape in BTP Object Store bucket.</LI></UL><P>Below result of execution with the log of what was provisioned.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Alexander_Teslya_4-1771357164423.png" style="width: 856px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/373616i5F8B9B869A239205/image-dimensions/856x536?v=v2" width="856" height="536" role="button" title="Alexander_Teslya_4-1771357164423.png" alt="Alexander_Teslya_4-1771357164423.png" /></span></P><H2 id="toc-hId-218279975">Conclusion</H2><P>By combining Terraform, Jenkins, and SAP BTP Object Store, organizations can build a scalable and repeatable automation framework for managing SAP BTP environments.</P><P>This approach enables:</P><UL><LI>Faster and more reliable provisioning of landscapes.</LI><LI>Reduced manual effort and operational risks.</LI><LI>Clear separation of environments with controlled promotion paths.</LI><LI>Integration into broader DevOps and compliance processes.</LI></UL><P>In the next blog, we will explore how to integrate Terraform-driven automation with SAP Cloud ALM, extending Infrastructure as Code to the operational lifecycle of BTP landscapes.</P>2026-02-27T06:03:58.154000+01:00https://community.sap.com/t5/human-capital-management-blog-posts-by-sap/let-s-talk-transformation-webinar-series/ba-p/14364933Let's Talk: Transformation (Webinar Series)2026-04-03T11:04:03.873000+02:00kaiadohttps://community.sap.com/t5/user/viewprofilepage/user-id/2286793<P class="lia-align-left" style="text-align : left;">We invite you to participate in these engaging roundtable sessions. It’s your chance to:</P><P class="lia-align-left" style="text-align : left;">- Share your organization’s experiences and learn from industry peers.</P><P class="lia-align-left" style="text-align : left;">- Explore best practices in transformation programs.</P><P class="lia-align-left" style="text-align : left;">- Gain actionable insights to propel your organization forward.</P><P class="lia-align-left" style="text-align : left;">Together, let’s drive impactful changes and ensure your journey with cloud solutions is both rewarding and successful.</P><P class="lia-align-left" style="text-align : left;"> </P><H1 id="toc-hId-1664199916">Let's Talk Transformation - Session Calendar 2026</H1><P>Virtual roundtable sessions for H1 2026 (HR Connect in-person events excluded). All sessions are live via Teams/Zoom.</P><TABLE width="624"><TBODY><TR><TD width="189"><P><STRONG>Session Title</STRONG></P></TD><TD width="100"><P><STRONG>Date</STRONG></P></TD><TD width="121"><P><STRONG>Time</STRONG></P></TD><TD width="87"><P><STRONG>Region</STRONG></P></TD><TD width="126"><P><STRONG>Registration Link</STRONG></P></TD></TR><TR><TD width="189"><P>Sustaining your Cloud Solution</P></TD><TD width="100"><P>April 9, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/276787b2-817f-446b-b4dc-038671de796e@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>April 15, 2026</P></TD><TD width="121"><P>7:00 PM UTC / Apr 16 2:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/7f84bc0f-4d1e-48a3-9d72-42f25ed88a5a@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Modelo de Gobierno / Governance Model</P></TD><TD width="100"><P>April 21, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/4611fdb9-4bff-428a-aaea-05d078fefb4c@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sustaining your Cloud Solution</P></TD><TD width="100"><P>April 21, 2026</P></TD><TD width="121"><P>7:00 PM UTC / Apr 22 2:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/b7cd3892-80d5-45d9-af13-0ae61cd4079a@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Efficient Data Management</P></TD><TD width="100"><P>April 22, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/ebb73ee2-6527-4f8d-8525-e943df298030@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>April 23, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/be1a7fc4-f0f0-4519-9060-3d49f9d9b746@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Gestion de Partners / Partner Management</P></TD><TD width="100"><P>April 27, 2026</P></TD><TD width="121"><P>9:00 AM UTC / 11:00 AM MEX / 4:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/d101c417-dd13-4e1e-bb75-69819cc8096f@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Efficient Data Management</P></TD><TD width="100"><P>April 28, 2026</P></TD><TD width="121"><P>8:00 PM UTC / Apr 29 3:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/0334c7b8-ecea-47f7-91a4-e5bb147a13b6@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sostenimiento de la Solucion de Nube / Sustaining your Cloud Solution</P></TD><TD width="100"><P>April 29, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/e0f1d7fe-2ac2-49a1-853e-4ccd0ca0706b@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>May 6, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/3ce6738b-915b-4f18-9d2f-feae96c0fe06@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Transforming HR with AI</P></TD><TD width="100"><P>May 7, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/2c288647-5232-4d91-8723-7d6dd6481854@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>May 11, 2026</P></TD><TD width="121"><P>7:00 PM UTC / May 12 2:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/e996f22c-2fdf-4889-9b46-5da75650be01@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Transformando RH con IA / Transforming HR with AI</P></TD><TD width="100"><P>May 12, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/893431d2-4196-434e-ac3f-13234adfb776@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>How Future to Present Focused HR is Shaping Cultures</P></TD><TD width="100"><P>May 14, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/40496333-ece2-445c-99d9-8305cd973751@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>How HR is Future to Present is Shaping Mindsets</P></TD><TD width="100"><P>May 18, 2026</P></TD><TD width="121"><P>8:00 PM UTC / May 19 3:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/c11c6d51-d1e2-4d57-a80f-24a43b11ea46@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Gestion de Partners / Partner Management</P></TD><TD width="100"><P>May 19, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/9f64abc2-47ea-486d-9c2c-7464ab5d5019@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Efficient Data Management</P></TD><TD width="100"><P>May 20, 2026</P></TD><TD width="121"><P>8:00 PM UTC / May 21 3:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/5a4b3406-b98d-428d-a558-f70b165fa31b@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Value Management</P></TD><TD width="100"><P>May 21, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/99e8fc35-0700-4f9b-8305-e643cfcd25eb@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Transforming HR with AI</P></TD><TD width="100"><P>May 24, 2026</P></TD><TD width="121"><P>6:00 PM UTC / May 25 1:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/0334c7b8-ecea-47f7-91a4-e5bb147a13b6@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sustaining your Cloud Solution</P></TD><TD width="100"><P>May 26, 2026</P></TD><TD width="121"><P>7:30 PM UTC / May 27 2:30 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/f7c2e840-b3be-4aa1-9aa0-5bbc10d9df66@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Modelo de Gobierno / Governance Model</P></TD><TD width="100"><P>June 2, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/b0803916-5c12-466d-905c-054f3de92ec9@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Efficient Data Management</P></TD><TD width="100"><P>June 2, 2026</P></TD><TD width="121"><P>8:00 PM UTC / Jun 3 3:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/9987f39d-9a7d-4284-8e2f-07f38897e4eb@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sostenimiento de la Solucion de Nube / Sustaining your Cloud Solution</P></TD><TD width="100"><P>June 9, 2026</P></TD><TD width="121"><P>8:00 AM UTC / 10:00 AM MEX / 3:00 PM CHILE</P></TD><TD width="87"><P>LATAM</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/cb42bd48-a920-405b-9ba8-f9ae0945c4e7@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>June 9, 2026</P></TD><TD width="121"><P>7:00 PM UTC / Jun 10 2:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/02954ca5-032c-4773-97f3-82f84eb94ecb@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sustaining your Cloud Solution</P></TD><TD width="100"><P>June 11, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/cd690b4e-350a-4263-b949-0476b01d0695@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Sustaining your Cloud Solution</P></TD><TD width="100"><P>June 16, 2026</P></TD><TD width="121"><P>7:30 PM UTC / Jun 17 2:30 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/ab87a449-9451-4fde-8835-33a6f0984bc5@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Efficient Data Management</P></TD><TD width="100"><P>June 18, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/81ee3bb1-ceef-4b26-b806-945a6b378f5e@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Transforming HR with AI</P></TD><TD width="100"><P>June 23, 2026</P></TD><TD width="121"><P>6:00 PM UTC / Jun 24 1:00 AM AEST</P></TD><TD width="87"><P>APJ</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/3f11ded7-e68a-4057-b1fe-7191c02cacc4@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Managing Continuous Change</P></TD><TD width="100"><P>June 25, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/0a5c6c46-afed-4985-a239-6362ebeefef0@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR><TR><TD width="189"><P>Transforming HR with AI</P></TD><TD width="100"><P>July 2, 2026</P></TD><TD width="121"><P>7:00 AM UTC / 9:00 AM CT / 2:00 PM CET</P></TD><TD width="87"><P>EMEA/NoAm</P></TD><TD width="126"><P><A href="https://events.teams.microsoft.com/event/daaa73a4-e8c5-4d43-8777-d23e9f5b86fe@42f7676c-f455-423c-82f6-dc2d99791af7" target="_blank" rel="noopener nofollow noreferrer">Register Here</A></P></TD></TR></TBODY></TABLE><P> </P><P><BR /><BR /></P>2026-04-03T11:04:03.873000+02:00https://community.sap.com/t5/blog-posts-about-sap-websites/introducing-architecture-switching-in-sap-solution-scout/ba-p/14356755Introducing Architecture Switching in SAP Solution Scout2026-04-08T18:00:00.021000+02:00joerg_ferchowhttps://community.sap.com/t5/user/viewprofilepage/user-id/189708<P><STRONG>See the Right Solutions with Ease</STRONG></P><P><STRONG>Cloud Architecture:</STRONG> Dynamically showcase public cloud solutions centred around “SAP S/4HANA Cloud Public Edition,” for unmatched scalability and speed.</P><P><STRONG>Hybrid Architecture:</STRONG> Effortlessly explore a blend of public cloud components with private cloud or on-premises elements via “SAP S/4HANA Cloud Private Edition,” or “SAP S/4HANA.”</P><P><STRONG>Unlock These Benefits</STRONG></P><UL><LI><STRONG>Precision Filtering</STRONG> - See only the most relevant solutions based on your chosen architecture.</LI><LI><STRONG>Faster Decisions</STRONG> - Save time by focusing on the best-fit options for your specific needs.</LI><LI><STRONG>Strategic Readiness</STRONG> - Ensure your chosen solutions align with your long-term business goals.</LI></UL><P>Empower your digital transformation journey with <A href="https://solutionscout.sap.com/welcome" target="_self" rel="noopener noreferrer">SAP Solution Scout’s</A> enhanced flexibility, making it easier than ever to find the perfect solutions tailored just for you.</P><P>Start Navigating Your Ideal Solutions with <A href="https://solutionscout.sap.com/welcome" target="_self" rel="noopener noreferrer">SAP Solution Scout</A> Today!</P>2026-04-08T18:00:00.021000+02:00https://community.sap.com/t5/technology-blog-posts-by-members/build-btp-cap-app-with-fiori-integration-part-2-implementing-end-to-end-app/ba-p/14369248Build BTP CAP App with Fiori Integration – Part 2: Implementing End to End App2026-04-09T10:05:19.668000+02:00SuryaRameshhttps://community.sap.com/t5/user/viewprofilepage/user-id/2066090<P><STRONG>A quick Recall -</STRONG> So far we have completed the Pre-Requisites and set up the BTP Environment for creating/Deploying CAP Application. BTP Trail Account has been created and within Trail sub-account necessary cloud related roles have been assigned. Post that SAP HANA Cloud instance has been created and BAS Set up has been done. </P><P>PART 1 Link - <A href="https://community.sap.com/t5/technology-blog-posts-by-members/building-a-cap-app-with-fiori-integration-part-1-environment-amp-hana-cloud/ba-p/14367752" target="_blank">Building a CAP App with Fiori Integration – Part 1: Environment & HANA Cloud Setup</A> </P><P>As a part of second episode in this CAP Application blog series, we are about to develop an end to end CAP Application with layers of validation of security in a detailed way. This blog helps beginner to build end to end CAP Application.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Flowchart giving overview for complete Process" style="width: 615px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/394975i29745BCA6E347BCA/image-dimensions/615x374?v=v2" width="615" height="374" role="button" title="Untitled Diagram.drawio (1).png" alt="Flowchart giving overview for complete Process" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Flowchart giving overview for complete Process</span></span></P><P>Ever struggled to deploy a CAP app with HANA + XSUAA + App router?.</P><P>I did. After multiple failures, here is a complete working guide <span class="lia-unicode-emoji" title=":backhand_index_pointing_down:">👇</span></P><P><STRONG>BACKEND BUILD :</STRONG></P><P>1. Navigate to BAS->Dev Space and Create new project from Template.</P><P><STRONG>After creating CAP Project Run these Below terminal Commands which has unique operation.</STRONG></P><P>a. This below terminal command to be added which will <SPAN>prepare the CAP project for a real-world cloud environment i.e. SAP BTP. <STRONG>add hana</STRONG> will switch database from SQLITE to HANA Cloud & <STRONG>add xsuaa</STRONG> will enable authorization for the project. Also When we ran the command cds add xsuaa --for production then CAP automatically generates the security folder <STRONG>xs-security.json.</STRONG></SPAN></P><pre class="lia-code-sample language-bash"><code>cds add hana,xsuaa --for production</code></pre><P>b. Below terminal command will add blueprint for deployment.</P><pre class="lia-code-sample language-bash"><code>cds add mta</code></pre><P>c. Below terminal command will install libraries.</P><pre class="lia-code-sample language-bash"><code>npm install</code></pre><P>2. Select CAP Project Option and name the project and select options as below. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img1.png" style="width: 619px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395054i00E3D3335B1C2DA3/image-dimensions/619x260?v=v2" width="619" height="260" role="button" title="CAP Part2_img1.png" alt="CAP Part2_img1.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img2.png" style="width: 606px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395055i6229D457CCEC1DA3/image-dimensions/606x390?v=v2" width="606" height="390" role="button" title="CAP Part2_img2.png" alt="CAP Part2_img2.png" /></span></P><P>3. Click on Finish after selecting all the options.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img3.png" style="width: 603px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395056i296FCBF32198A255/image-dimensions/603x406?v=v2" width="603" height="406" role="button" title="CAP Part2_img3.png" alt="CAP Part2_img3.png" /></span></P><P>4. Once Project is created it will be available in the Workspace.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img4.png" style="width: 337px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395062i57B24532ED4A8507/image-dimensions/337x412?v=v2" width="337" height="412" role="button" title="CAP Part2_img4.png" alt="CAP Part2_img4.png" /></span></P><P>5. We can view the path of the project created using below Terminal command. ( <STRONG>Note : </STRONG>Use <STRONG>Ctrl + ~</STRONG> to open terminal ).</P><pre class="lia-code-sample language-bash"><code>user: CRUDApp $ pwd</code></pre><P>Once this Terminal command is entered the response will come as <STRONG>/home/user/projects/CRUDApp. </STRONG></P><P>6. Now the Project is created. The Aim is to create service instance in Cloud Foundry space <STRONG>dev </STRONG>which I shown in <STRONG><A href="https://community.sap.com/t5/technology-blog-posts-by-members/building-a-cap-app-with-fiori-integration-part-1-environment-amp-hana-cloud/ba-p/14367752" target="_blank">PART 1</A> </STRONG> and through the service instance the linkage to HANA Cloud central DB Instance will be triggered with runtime HDI Container created. Through this HDI Container the Deployment data will be mapped to runtime DB. </P><P>Before getting into next point. Let me give a quick overview on different folder paths/ files in CAP Project that has been created. ( Refer to the workspace image from Point 4. )</P><P>a) <STRONG>db/</STRONG> - This is <STRONG>database schema </STRONG>where we will create CDS Entities/tables and it's relationships. It’s is the source of data structure.</P><P>b) <STRONG>app/</STRONG> - In this folder the front end Fiori Generator App will be mapped which has further navigations to Controllers and views. From here only we will write front end logic.</P><P>c) <STRONG>srv/</STRONG> - This is service folder where <STRONG>api services</STRONG> will be created from backend and if required custom logic can be enabled using node js in js file. </P><P>d) <STRONG>.vscode</STRONG> - <SPAN>This is a hidden folder containing configurations specific to </SPAN><STRONG>Visual Studio Code </STRONG>or BAS<SPAN>. It stores things like your launch configuration and recommended extensions for the project.</SPAN></P><P>e) <STRONG>mta.yaml</STRONG> -<SPAN> Multi-Target Application file is the provides <STRONG>instruction to cloud</STRONG></SPAN><SPAN>. It tells SAP BTP how to package and deploy your app, which database to create, which security services to bind, and how much memory to use.</SPAN></P><P>f)<STRONG> package.json</STRONG> - This is the Project Meta data which holds <STRONG>libraries to run project. </STRONG></P><P>Now let's continue with further steps from Backend.</P><P>7. Create a file <STRONG>schema.cds </STRONG>as below to <STRONG>/db </STRONG>folder and create Entity bookshop. This Entity is designed to store Book details. The same will be created as table in SAP HANA Cloud.</P><pre class="lia-code-sample language-abap"><code>namespace my.bookshop;
entity Books {
key ID : Integer;
title : String;
stock : Integer;
author : String;
}</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img5.png" style="width: 348px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395125iCF0B544B6286CFB1/image-dimensions/348x188?v=v2" width="348" height="188" role="button" title="CAP Part2_img5.png" alt="CAP Part2_img5.png" /></span></P><P>8. Create a file <STRONG>schema.cds </STRONG>as below to <STRONG>/srv </STRONG>folder. In this Service folder we are adding annotation <STRONG>@requires: 'Admin'</STRONG> which indicates Role required for Authorization.</P><pre class="lia-code-sample language-abap"><code>using { my.bookshop as my } from '../db/schema';
service CatalogService {
@requires: 'Admin' // XSUAA Role Required
entity Books as projection on my.Books;
}</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img6.png" style="width: 311px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395165iDEE4A9D4ACF73953/image-dimensions/311x434?v=v2" width="311" height="434" role="button" title="CAP Part2_img6.png" alt="CAP Part2_img6.png" /></span></P><P><STRONG>FRONT END BUILD:</STRONG></P><P>1. Click Ctrl + Shift + P and select Open Fiori App Generator as shown below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img11.png" style="width: 584px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395188i61EEA414AFBEB3F4/image-dimensions/584x219?v=v2" width="584" height="219" role="button" title="CAP Part2_img11.png" alt="CAP Part2_img11.png" /></span></P><P>2. Since this is a basic app and henceforth Select <STRONG>List Report Template</STRONG> as below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img12.png" style="width: 462px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395192i09AA94CA979F9DF4/image-dimensions/462x304?v=v2" width="462" height="304" role="button" title="CAP Part2_img12.png" alt="CAP Part2_img12.png" /></span></P><P>3. Now select Data source as <STRONG>Local CAP Project </STRONG>and select CAP Project and OData service. After this select on<STRONG> Next</STRONG> button. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img13.png" style="width: 453px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395193i31D9EA7BDD46D718/image-dimensions/453x370?v=v2" width="453" height="370" role="button" title="CAP Part2_img13.png" alt="CAP Part2_img13.png" /></span></P><P>4. Give Name to App and Module.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img14.png" style="width: 427px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395196i32AE2E1D11E017A8/image-dimensions/427x343?v=v2" width="427" height="343" role="button" title="CAP Part2_img14.png" alt="CAP Part2_img14.png" /></span></P><P>5. Then <STRONG>Deployment configuration </STRONG>should be auto-picked as cloud foundry and If required fill Destination. For this app Im not creating Destination and henceforth selection the option as<STRONG> None.</STRONG> After this select Finish option which will create Fiori App in Project Folder. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img15.png" style="width: 385px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395197iE9668120201220E8/image-dimensions/385x405?v=v2" width="385" height="405" role="button" title="CAP Part2_img15.png" alt="CAP Part2_img15.png" /></span></P><P> </P><P><STRONG>VALIDATION :</STRONG></P><P>1. Create a file <STRONG>cat-service.js</STRONG><STRONG> </STRONG>as below to <STRONG>/srv </STRONG>folder. </P><pre class="lia-code-sample language-javascript"><code>const cds = require('@sap/cds')
module.exports = cds.service.impl(async function() {
const { Books } = this.entities;
// Logic: Validation BEFORE creating a record
this.before('CREATE', 'Books', req => {
const { title } = req.data;
if (!title || title.length < 3) {
// This is like an 'E' message in ABAP
req.error(400, 'Title is too short! Minimum 3 characters required.');
}
})
})</code></pre><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img7.png" style="width: 416px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395168i17C6780FFCD1A41F/image-dimensions/416x402?v=v2" width="416" height="402" role="button" title="CAP Part2_img7.png" alt="CAP Part2_img7.png" /></span></P><P>2. As per above logic, we are adding some validation before SAVE using Node JS Function. As per this validation if Title length is less than 3 then error will be thrown. Similarly we can use other functions as well to perform business operation which triggers during save, After save etc. </P><P><STRONG>SECURITY:</STRONG></P><P>1. When the Environment was set up in <STRONG>BACKEND BUILD->1.a), </STRONG>we ran the command <STRONG>cds add xsuaa --for production </STRONG>which in turn created the folder <STRONG>xs-security.json. </STRONG></P><P>2. Now the aim is to deploy the app to production and create HTML5 App in BTP. So here we are adding a security layer which tells only Authorized user can access the data. While defining the service in <STRONG>BACKEND BUILD->8. </STRONG>where <STRONG>Admin</STRONG> role is annotated to <STRONG>books</STRONG> entity. </P><P>3. Lets create Approuter now and configure JSON to add necessary roles. </P><P>4. There are two options for adding Approuters.</P><P>a. Right click on <STRONG>mta.yaml </STRONG>file and select <STRONG>Create </STRONG><STRONG><SPAN>MTA Module From Template </SPAN></STRONG><SPAN>and then select <STRONG>Managed Approuter. </STRONG></SPAN></P><P><STRONG><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img8.png" style="width: 342px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395179i9C9DD6A360B12134/image-dimensions/342x365?v=v2" width="342" height="365" role="button" title="CAP Part2_img8.png" alt="CAP Part2_img8.png" /></span></SPAN></STRONG></P><P><STRONG><SPAN>b.</SPAN></STRONG> If Managed Approuter option is not showing, then below terminal command is a reliable 'Reset' button. It cleans up the MTA configuration and sets up a standalone router that works independently of external BTP subscriptions. </P><pre class="lia-code-sample language-bash"><code>cds add approuter</code></pre><P>5. Currently Im going with 4.b) with manual terminal command for adding Approuter. Once that is done then approuter will be added as below in <STRONG>app/ </STRONG>folder. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img10.png" style="width: 320px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395187i4544B6FB50CE602F/image-dimensions/320x287?v=v2" width="320" height="287" role="button" title="CAP Part2_img10.png" alt="CAP Part2_img10.png" /></span></P><P>6. Add below JSON to folder <STRONG>xs-security.json</STRONG> in project which will define the role which is binded in <STRONG>service</STRONG> and <STRONG>yaml</STRONG>. </P><pre class="lia-code-sample language-json"><code>{
"xsappname": "my-bookshop",
"scopes": [
{
"name": "$XSAPPNAME.Admin",
"description": "Admin"
}
],
"role-templates": [
{
"name": "AdminRole",
"scope-references": [ "$XSAPPNAME.Admin" ]
}
],
"attributes": [],
"authorities-inheritance": false
}</code></pre><P><STRONG>DEPLOYMENT:</STRONG></P><P>1. So till now we have built this CAP Application in<SPAN> "Vertical Stack" (Database → Logic → Security → Routing → UI).</SPAN></P><P>2. Now before final deployment lets test the things done till now is correct. Use below terminal command. If everything is fine then<SPAN class=""> You see your database schema, custom logic, approuter config, and Fiori manifest listed.</SPAN></P><DIV class=""> </DIV><pre class="lia-code-sample language-bash"><code>ls -R | grep -E "schema.cds|cat-service.js|xs-app.json|manifest.json"</code></pre><P>3. Now compile all the files to check if any error occurs. Use below terminal commands.</P><pre class="lia-code-sample language-bash"><code>cds compile db/
cds compile srv/
cds compile srv/ --to xsuaa</code></pre><P> Note: All these commands should not throw error to proceed with next steps.</P><P>4. After Sanity checks, run below command to login to terminal. <STRONG>Note: </STRONG>It will ask for Api Endpoint for first time during login. It can be found from BTP Cockpit -> Overview -> Cloud Foundry Environment -> API End Point.</P><pre class="lia-code-sample language-bash"><code>cf login</code></pre><P>5. Now run Deployment command in terminal. This is done to test the app locally. Once testing is completed the app needs to be deployed to Production.</P><pre class="lia-code-sample language-bash"><code>cds deploy --to hana --profile hybrid</code></pre><P>6. If cds deploy is not working properly then define step by step process of creating service instance, HDI Containers etc. through terminal commands below. Note: cds deploy will create everything by default so dont use these in combination. use these terminal commands <STRONG>only if cds deploy is not working. </STRONG></P><pre class="lia-code-sample language-bash"><code>cf create-service hana hdi-shared my-cap-app
cds bind --to my-cap-app
cds env get requires.db --profile hybrid
cds deploy --to hana --profile hybrid</code></pre><P>7. Run below commands to deploy the app to production. </P><P> </P><pre class="lia-code-sample language-abap"><code>mbt build</code></pre><P> </P><P>8. <SPAN>When finished, a new folder named <STRONG>mta_archives/</STRONG></SPAN><SPAN> will appear as below containing Project file. </SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img24.png" style="width: 255px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395224i5F82399B1F44D6C6/image-dimensions/255x297?v=v2" width="255" height="297" role="button" title="CAP Part2_img24.png" alt="CAP Part2_img24.png" /></span></SPAN></P><P><SPAN>9. Now do a login again with below command. Give appropriate API Key and user details.</SPAN></P><pre class="lia-code-sample language-bash"><code>cf login</code></pre><P><SPAN>10. Run below command to <STRONG>Complete final HTML5 App deployment. </STRONG></SPAN></P><pre class="lia-code-sample language-bash"><code>cf deploy mta_archives/CRUDApp_1.0.0.mtar</code></pre><P><STRONG>Note</STRONG>: Sometimes Deployment will fail. <SPAN>To avoid these common pitfalls, </SPAN><STRONG>"Only include essential resources (HANA, XSUAA, Destination, and HTML5) in your<SPAN> </SPAN><CODE>mta.yaml</CODE><SPAN> </SPAN>and ensure your<SPAN> </SPAN><CODE>xsappname</CODE><SPAN> </SPAN>in<SPAN> </SPAN><CODE>xs-security.json</CODE><SPAN> </SPAN>is consistent throughout the project to prevent service plan unavailability and identity mismatch errors on Trial accounts." </STRONG>If something fails, make these changes and delete the service and redeploy. After redeployment dont forgot to add role collections again to make sure Approuters will not cause auth errors. </P><P><STRONG>TESTING</STRONG></P><P>1. Run below Terminal command to test the app locally.</P><pre class="lia-code-sample language-abap"><code>cds watch --profile hybrid</code></pre><P> 2. After this the app will open in next screen to test it from web level. Note: Make sure your HANA DB Instance is running in HANA Cloud Central which will create entry in DB Level. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img16.png" style="width: 557px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395203i298B8BEFB7DE51AA/image-dimensions/557x228?v=v2" width="557" height="228" role="button" title="CAP Part2_img16.png" alt="CAP Part2_img16.png" /></span></P><P>3. Now while testing this app we can see the user login screen which will ask for mail and password for login. This is happening due to XSUAA and Approuter. While trying to make entry to the app it will show error <STRONG>forbidden </STRONG>as below. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img17.png" style="width: 504px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395204i638E84AE38C7AF68/image-dimensions/504x230?v=v2" width="504" height="230" role="button" title="CAP Part2_img17.png" alt="CAP Part2_img17.png" /></span></P><P>4. Now run this command below to create service Instance first. Even after cds deploy this is required because cds deploy only talks to the Database (HANA). It does not talk to the Security Service (XSUAA). In SAP BTP, the database (CRUDApp-db) and the security (XSUAA) are two completely separate buildings. This terminal logic is required to enable link. </P><pre class="lia-code-sample language-bash"><code>cf create-service xsuaa application CRUDApp-auth -c xs-security.json</code></pre><P> 5. Post this navigate to <STRONG>BTP Cockpit -> SubAccount -> Security -> Role Collections </STRONG>and click on <STRONG>Create </STRONG>Button as below. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img18.png" style="width: 536px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395205i4EE2BA9A2A973F06/image-dimensions/536x279?v=v2" width="536" height="279" role="button" title="CAP Part2_img18.png" alt="CAP Part2_img18.png" /></span></P><P>6. Create Role collection <STRONG>Bookshop_Admin_Group </STRONG>with its Description as below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img19.png" style="width: 552px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395206i955B3A6F307FB712/image-dimensions/552x216?v=v2" width="552" height="216" role="button" title="CAP Part2_img19.png" alt="CAP Part2_img19.png" /></span></P><P>7. Now Navigate to the Role collection <STRONG>Bookshop_Admin_Group </STRONG>and click on Edit. Open value help of Role and select the App name from <STRONG>Application Identifier </STRONG>dropdown. After selecting Role Admin which enables Authorization, click save. Follow below images sequentially. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img20.png" style="width: 556px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395219iC0048E562FA6F219/image-dimensions/556x183?v=v2" width="556" height="183" role="button" title="CAP Part2_img20.png" alt="CAP Part2_img20.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img21.png" style="width: 566px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395220i3EC4506F7B97D04C/image-dimensions/566x241?v=v2" width="566" height="241" role="button" title="CAP Part2_img21.png" alt="CAP Part2_img21.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img22.png" style="width: 554px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395221i39B220AB640360F1/image-dimensions/554x240?v=v2" width="554" height="240" role="button" title="CAP Part2_img22.png" alt="CAP Part2_img22.png" /></span></P><P>8. After saving, the role will be available in Role collection as below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP Part2_img23.png" style="width: 618px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395222i8B98AA7D8F87E44F/image-dimensions/618x170?v=v2" width="618" height="170" role="button" title="CAP Part2_img23.png" alt="CAP Part2_img23.png" /></span></P><P>9. Now refresh the app and try running, It will work !. Note: Sometimes Auth error will still occur if you test locally. In that case assign your URL to user <STRONG>Alice</STRONG> or deploy and test the app. </P><P>10. Also once deployed to HTML5 Apps or Dev space, the app can be directly tested from there as well. </P><P><STRONG>FINAL APP EXECUTION<span class="lia-unicode-emoji" title=":fire:">🔥</span>:</STRONG></P><P>1. Now, lets open the app as below.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-01-EXE.png" style="width: 811px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395317iFFBA4BF36E7DE08D/image-dimensions/811x138?v=v2" width="811" height="138" role="button" title="CAP-01-EXE.png" alt="CAP-01-EXE.png" /></span></P><P>2. Lets create some incorrect entries as below. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-06-EXE.png" style="width: 788px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395326iA8CA3F8B887F69B1/image-dimensions/788x109?v=v2" width="788" height="109" role="button" title="CAP-06-EXE.png" alt="CAP-06-EXE.png" /></span></P><P>3. Validation Error occurs as per Node js logic for incorrect inputs. </P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-05-EXE.png" style="width: 601px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395328iE12F7C8BB2A732FC/image-dimensions/601x302?v=v2" width="601" height="302" role="button" title="CAP-05-EXE.png" alt="CAP-05-EXE.png" /></span></P><P>4. While creating valid records, Data gets created as below without any auth error/Forbidden as the custom role collection created and mapped to Admin Role. <STRONG>Note: </STRONG>Unique UUID will be generated for each record as per CAP Entity definition made. The UUID can be viewed in Cloud DB.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-07-EXE.png" style="width: 696px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395332i2F6CE96231751F53/image-dimensions/696x172?v=v2" width="696" height="172" role="button" title="CAP-07-EXE.png" alt="CAP-07-EXE.png" /></span></P><P>5. Now navigate to SAP HANA Cloud and click on ... dots. select option "<STRONG>OPEN IN SAP HANA Database Explorer".</STRONG></P><P><STRONG><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-02-EXE.png" style="width: 678px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395319iC64DFC8C4059D7AD/image-dimensions/678x344?v=v2" width="678" height="344" role="button" title="CAP-02-EXE.png" alt="CAP-02-EXE.png" /></span></STRONG></P><P>4. Once SAP HANA Database Explorer opens then login to cloud foundry Environment from there.</P><P>5. Now select the "+" icon and select HDI Containers options and then select app container specific to app name.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-03-EXE.png" style="width: 747px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395338i7D6BF0F6A07C6BDA/image-dimensions/747x220?v=v2" width="747" height="220" role="button" title="CAP-03-EXE.png" alt="CAP-03-EXE.png" /></span></P><P>7. From <STRONG>CRUDAPP-db</STRONG> HDI Container, Navigate to <STRONG>Tables</STRONG> and select <STRONG>open data</STRONG>.</P><P>8. The Data created from Fiori App is available in Cloud Table as below along with UUID auto-generated.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="CAP-04-EXE.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/395342i80ACAD6BA808949C/image-size/large?v=v2&px=999" role="button" title="CAP-04-EXE.png" alt="CAP-04-EXE.png" /></span></P><P><STRONG>CONCLUSION:</STRONG></P><P>Hence the overall flow looks as below.</P><P>Fiori UI<BR />↓<BR />App router<BR />↓<BR />CAP Service<BR />↓<BR />HANA DB (HDI Container)</P><P>With this blog series we learned how to set up environment, enable cloud instance, create end to end CAP Full stack application which has capability to communicate with SAP HANA Cloud instance and create entries over there, enable App routers to CAP App and Enable validation while creating entries. </P><P>I hope this blog will be helpful for enthusiasts who are learning CAP !. In future I will create add-on series with steps to deploy this app to SAP Build work zone. </P>2026-04-09T10:05:19.668000+02:00