Normal view

There are new articles available, click to refresh the page.
Before yesterdaySAP BTP - Business Technology Platform

SAP BTP CAPM Application Development and Deployment – Part 2

In Part 2 of our SAP BTP CAPM (Cloud Application Programming Model) series, we move from theory to practice by building a fully functional CAPM application and integrating its services into a UI5 freestyle basic application.
This guide is designed for beginners who want to understand the CAPM development workflow in SAP Business Application Studio (BAS) from setting up the development space, creating database entities, and exposing them as services, to consuming these services in a UI5 application with basic Create, Read, Update, and Delete (CRUD) operations.

By following this step-by-step walkthrough, you’ll gain hands-on experience in:

  • Setting up a Full-Stack Cloud Application Dev Space in BAS with required SAP extensions
  • Creating a CAPM project with database models and service definitions
  • Loading sample data into your application
  • Building and previewing the application in Fiori Preview
  • Developing a custom UI5 freestyle app to consume CAPM services
  • Implementing Create and Delete operations directly from the UI

This part serves as the practical foundation for future installments, where we’ll connect CAPM to SAP HANA Cloud DB and explore low-code/no-code development in BAS.

NEW INSTRUCTOR LED LIVE TRAINING ANNOUNCEMENT

Course Break up – A to Z of SAP CPI with BTP Integration Suite
Enrollment Link – A to Z of SAP CPI with BTP Integration Suite


Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 35 groups and more than 1850 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 35 groups from different topics like Generative AI, SAP Joule, CAPM, BTP, RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Join ZAPYard’s WhatsApp Community – Ask, Answer, Propose & Defend SAP Topics

Lets start with creating a basic CAPM application for a beginner and use the CAPM service in a UI5 freestyle basic application

Perquisites:

  1. You have a BTP Trial account created.
  2. You have subscribed to SAP Business Application Studio

Step 1: Setting Up Project in Development Space on BAS for CAPM Full Stack UI5 Development

Open the Business Application Studio from your SAP BTP Trial account.

Create a new Dev Space, make sure you select Full-Stack Cloud Application and check the additional SAP Extensions:

  1. SAP HANA Calculation View Editor
  2. SAP HANA Performance Tools
  3. SAP HANA Tools
  4. SAP HANA XS Advanced Tools
  5. SAP HANA Smart Data Integration Tools

The Dev Space is always in stopped space; you can think of it as a Virtual Machine. When it’s not in use it automatically stops & you will have to start the same to get going. Click on the play to start your Development Space

It will go to the running phase again.

Finally, it opened, you can bookmark this as well to directly access your Specific Development Space.

Now let’s navigate to Project Work Space. Click on file & choose Open Workspace from the drop-down list.

You will get the below screen. Choose projects & click open.

Now we are in the project workspace. Let’s open a terminal and proceed further. Click on Terminal & choose New Terminal.

You will get the below terminal screen. Now copy the below command & run it in your terminal. This will create a Project with the name: cap_tutorial.
You can put the command like: mkdir cap_tutorial

You will see that a new project folder is created with the name cap_tutorial. You the below command to navigate to this new folder in the terminal.

cd cap_tutorial

You will be switched to the created project folder cap_tutorial. Copy the below command to create the CAPM project.

cds init

The creation will start in our project folder & let’s wait for the build.

Cool, now you have your project ready. The structure should be like the below screen.

As you can see, we have 3 major folders

  • db
  • srv
  • app

Here the db is the database where you can define any data models, and the data model will be exposed as a service in the srv folder and then the service can be consumed in the application generated in the app folder.

Step 2: Creating Database Entities for CAPM

Let’s start with the DB Folder: It contains the Database Entity which is based on CDS Model. The design-time artefacts declared in this file will be converted to run-time, physical artefacts in the database. In this example, the entities will become tables.
Right Click on db folder & create a New File.

Name the file as data-model.cds

data-model.cds


Now, let’s create an entity, you can copy the below code and paste it into the created file.

Step 3: Creating a Service for CAPM using the Data-Model

Now go to the srv folder. We will be declaring services to expose the database entities we declared in the previous step.
Create a new file in srv folder by right-clicking on the same.

Name the file as cat-service.cds

cat-service.cds

Copy & Paste the below code in the created file.

Let’s build the project now once. For that do cds build

cds build

Now, let’s finally see what we have built. Let’s do cds watch it will run your project built till now.

cds watch

You will a server is running with a localhost port 4004, and you have click on Open in a New Tab

You can click the $metadata to find the all the fields and the entity set.

Now click on the Products Service, you will see it loaded with no values.

So, you got an idea how to create a very simple data model and expose that into a service.
Now let’s a new data-model and do the same steps again for a Sales Order Scenario.

Step 4: Adding a new Entity in the CAPM application Data-Model

Go to the cat-service.cds file add the below code.

Step 5: Modify the Service file with the new data-model

Now ae we added a new entity in the data model, we have to modify the service file as well.
The whole service file looks like the below:

Now, let’s do again cds build and then cds watch.

You can see the both the end points are available. Similarly, you can test the metadata and the service.

Step 6: Create sample date to load in the service.

So, let’s create a folder in db folder. Right-click on db folder and select New Folder

Name your folder as data.

Now create a new file in the created data folder.

Name your file as cap_tutorial-SalesOrders.csv. Here cap_tutorial is

the namespace – SalesOrders is our entity. It’s a nomenclature that needs to be followed for mapping the data.

cap_tutorial-SalesOrders.csv

Now, it’s time to create actual data. So, in CAPM we use .csv files to create local data. You can easily create them in Excel or Libre or even in Notepad. For now, you can copy-paste it from below.

Your final Project Structure should look something like this:

First let’s save everything and then we will proceed.

We will have to do a cds build.

Now let’s do cds watch, this time when we navigate to the Entity SalesOrders.

We will be able to see the added data.

Now you can click on Fiori preview.

You will see the below screen, with No Data. No need to worry, just click on Setting Icon.

Choose all the columns for which you want to see the data and click OK.

We can see the Data is populated now in our fiori preview.

Fiori Preview is a fully you can get a feel of the final Integration here. Like we can also use the Filter Feature.

In this part of our SAP BTP CAPM series, we walked through the process of setting up a full-stack CAPM project in SAP Business Application Studio, defining database entities, and exposing them as services. You now have a working backend with sample data that can be accessed and tested in Fiori Preview—a solid foundation for building real-world applications.

But a backend service alone isn’t enough—applications become truly powerful when their data is accessible and manageable through a user-friendly interface.

📢 Coming up next in Part 3– We’ll take this CAPM service you just built and integrate it into a UI5 freestyle application. You’ll learn how to connect to your CAPM service, display live data in a table, and implement Create and Delete operations directly from the UI. This will bring your application to life and set the stage for more advanced features in the later parts of the series.

If you found this guide useful, share your thoughts, challenges, or success stories in the comments. Your feedback helps us create more targeted and valuable content for your ABAP on Cloud and CAPM learning journey.

Please note: This CAPM Series is the learning material from our ZAPcademy.com Instructor Led Live Online Training on the topic SAP BTP CAPM – Basic to Advanced. You may avail the recordings, notes and assignments of this training from here.

𝑃𝑙𝑒𝑎𝑠𝑒 𝐺𝑖𝑣𝑒 🕊𝐖𝐢𝐧𝐠𝐬🕊 𝑡𝑜 𝑡ℎ𝑖𝑠 𝐅𝐑𝐄𝐄 𝐶𝑜𝑛𝑡𝑒𝑛𝑡 𝑤𝑖𝑡ℎ 𝑎 𝗥𝗲𝗣𝗢𝗦𝗧 ❤❤

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter & Instagram.

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Do join ZAPYard’s Learning Community.

A to Z of SAP BTP CAPM Learning Series

By: Asha_03
25 August 2025 at 04:45

Mastering SAP BTP Technical Interview Guide Part – 2

Mastering SAP BTP Technical Interview Guide Part – 2 continues where the first part left off, diving deeper into the essential concepts of SAP Business Technology Platform (SAP BTP), offering advanced insights and preparation for technical interviews. In today’s rapidly evolving technology landscape, SAP BTP has become an essential solution for businesses looking to integrate and extend their SAP applications. Whether you’re an aspiring SAP professional or looking to enhance your existing skills, this article is designed to help you prepare effectively for SAP BTP interviews by exploring advanced questions, hands-on scenarios, and real-world challenges.

Check HereThe first 10 Questions on SAP Business Technology Platform Interview Guide

Q11: How does SAP BTP facilitate application development and deployment?

SAP BTP facilitates application development and deployment through tools like SAP Business Application Studio (BAS), SAP Build, SAP Build Code which streamline the creation of applications. Additionally, the BTP ABAP environment allows developers to use ABAP in the cloud for building custom extensions while leveraging existing ABAP skills. This combination of tools supports rapid development, integration, and deployment, enabling businesses to innovate quickly while maintaining stability in their SAP landscapes. For instance, a logistics company can quickly build a custom app to track shipments in real-time, integrating it seamlessly with their existing SAP systems.


Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 32 groups and more than 1300 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 32 groups from different topics like RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Join ZAPYard’s WhatsApp Community

Now, lets move on to the next question.

Q12: Can you explain the concept of microservices in SAP BTP?

Microservices in SAP BTP involve breaking down applications into small, independent services that handle specific functions. Each microservice can be developed, deployed, and scaled individually. For example, an online retailer might have separate microservices for inventory management, payment processing, and customer reviews, allowing each to be updated independently without disrupting the entire system. This architecture enhances flexibility, scalability, and resilience.

Q13: What is the SAP BTP SDK for iOS, and what are its use cases?

The SAP BTP SDK for iOS is a software development kit that allows developers to create native iOS applications integrated with SAP systems. It provides pre-built components, libraries, and tools to streamline the development of mobile apps that can access SAP data and services. Use cases include creating custom mobile apps for field service management, sales order processing, or employee self-service, where users need to interact with SAP data on their iPhones or iPads.

Q14: How does SAP BTP handle data privacy and compliance?

SAP BTP ensures data privacy and compliance through robust encryption, Identity and Access Management (IAM), and adherence to global standards like GDPR. For example, a healthcare provider using SAP BTP can securely store and manage patient data, ensuring compliance with regulations and protecting sensitive information from unauthorized access, while also managing user consent effectively.

Q15: Explain the role of SAP Cloud Platform Identity Authentication Service in SAP BTP.

The SAP Cloud Platform Identity Authentication Service (IAS) is a key security component in SAP BTP, providing secure user authentication and single sign-on (SSO) capabilities. It ensures that only authorized users can access SAP BTP applications and services, leveraging industry-standard protocols like SAML 2.0 and OpenID Connect. IAS also supports multi-factor authentication (MFA), enhancing security by requiring users to verify their identity through multiple methods. This service plays a crucial role in protecting applications and data within the SAP ecosystem.

Did you hear this News?

Q16: What is SAP Fiori, and how is it utilized in SAP BTP?

SAP Fiori is a user experience (UX) design system that provides a consistent and intuitive interface for SAP applications. In SAP BTP, Fiori is used to build and extend user-friendly web and mobile applications that provide a seamless experience across devices. Developers can use SAP Business Application Studio (BAS) to create Fiori apps, ensuring that they align with SAP’s design principles. Fiori enhances user productivity by offering role-based, responsive, and easy-to-use applications tailored to specific business processes.

Q17: How does SAP BTP support mobile application development?

SAP BTP supports mobile app development through SAP BTP SDKs for iOS and Android, enabling the creation of native apps that integrate with SAP systems. For instance, a sales team can use a mobile app built on SAP BTP to access customer data, track sales activities, and manage orders while on the road, ensuring they have the information they need at their fingertips. These SDKs provide pre-built UI components, data synchronization, and offline capabilities, allowing developers to build apps that work seamlessly with SAP services. Additionally, SAP BTP offers backend services like mobile services for push notifications, authentication, and data integration, ensuring that mobile apps are robust and enterprise-ready.

Q18: Can you discuss the SAP Cloud Platform Integration Suite?

The SAP Cloud Platform Integration Suite (now part of SAP Integration Suite) is a comprehensive toolset that enables seamless integration between SAP and non-SAP systems, whether they are on-premise or in the cloud. It supports various integration scenarios, including API management, data integration, and process orchestration. The suite includes pre-built connectors and adapters for popular applications and protocols, simplifying the integration process. It is essential for connecting disparate systems, enabling smooth data flow, and supporting end-to-end business processes across different platforms.

Q19: What are the benefits of using SAP BTP for cloud-native development?

SAP BTP offers numerous benefits for cloud-native development, including scalability, flexibility, and agility. For example, a startup can quickly build and deploy a new e-commerce platform using SAP BTP, scaling resources up or down based on demand. The platform’s DevOps tools support continuous integration and deployment, enabling rapid iteration and innovation while maintaining high availability and resilience.

Q20: How does SAP BTP manage and analyze big data?

SAP BTP manages and analyses big data using SAP HANA Cloud for real-time processing, SAP Data Intelligence for data integration and orchestration, and SAP Datasphere for managing and connecting data across different sources. SAP Analytics Cloud (SAC) provides powerful data visualization and predictive analytics tools that help businesses turn big data into actionable insights. For example, companies can analyze customer behavior, forecast trends, and optimize operations by leveraging these integrated solutions within SAP BTP.

Stay tuned for the next part of this series, where we’ll dive deeper into more advanced questions and answers, helping you continue your mastery of SAP Business Technology Platform.

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Do join ZAPYard’s Learning Community.

Business Technology Platform Interview Questions & Answers

By: ZAPYard
12 September 2024 at 16:18

Mastering SAP BTP Technical Interview Guide Part – 1

In today’s rapidly evolving technology landscape, SAP Business Technology Platform (SAP BTP) has become an essential solution for businesses looking to integrate and extend their SAP applications. Whether you’re an aspiring SAP professional or looking to enhance your existing skills, this article is designed to help you prepare effectively for SAP BTP interviews by exploring commonly asked questions and offering detailed answers.

Q1: What is SAP Business Technology Platform (SAP BTP) and its primary purpose?

SAP Business Technology Platform (SAP BTP) is a unified platform that integrates data management, analytics, AI, application development, and automation. It serves as the foundation for building, extending, and integrating SAP and non-SAP applications, helping businesses accelerate their digital transformation. By offering a range of tools and services under one umbrella, SAP BTP allows organizations to focus on business logic while handling the technical complexities behind the scenes, much like a restaurant owner focuses on cooking rather than infrastructure management.


Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 32 groups and more than 1300 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 32 groups from different topics like RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Join ZAPYard’s WhatsApp Community

Now, lets move on to the next question.

Q2: Can you explain the different service models in SAP BTP (IaaS, PaaS, SaaS)?

SAP BTP supports three primary service models:

  • IaaS (Infrastructure as a Service): This model provides virtualized computing resources like servers, storage, and networking. With IaaS, SAP BTP allows businesses to run their SAP systems on cloud infrastructure provided by vendors like AWS, Azure, or Google Cloud. This eliminates the need for managing physical hardware, offering scalability, flexibility, and cost savings. For instance, a company can quickly scale up resources during peak demand periods without investing in additional on-premise hardware.
  • PaaS (Platform as a Service): This model offers a platform for developing, running, and managing applications without the complexity of building and maintaining infrastructure. SAP Business Application Studio (BAS) is an example of a PaaS tool in SAP BTP, providing a development environment optimized for SAP technologies, enabling developers to build applications like SAP Fiori apps efficiently.
  • SaaS (Software as a Service): This model delivers software applications over the cloud, accessible via a subscription. An example within SAP BTP is SAP Build (formerly known as SAP Build Code), which allows users to create enterprise-grade applications with low-code or no-code tools. SAP Build enables business users to develop applications without needing extensive coding skills, making it easier for companies to rapidly develop and deploy new solutions.

Q3: How does SAP BTP support multi-cloud environments?

SAP BTP is designed to operate across multiple cloud environments, including AWS, Azure, and Google Cloud. This multi-cloud support gives businesses the flexibility to choose or switch between cloud providers based on their needs. For instance, a company might use AWS for its scalability while leveraging Azure for its integration with Microsoft products, all managed within the SAP BTP environment.

Q4: What are some key components of SAP BTP?

Some of the Key components of SAP BTP include:

  • SAP HANA Cloud: An in-memory database that provides real-time data processing.
  • SAP Integration Suite (CPI): Facilitates integration between SAP and non-SAP systems.
  • SAP BTP ABAP Environment: Allows custom ABAP development in the cloud.
  • SAP Business Application Studio (BAS): A development environment tailored for SAP applications.

These components are essential for developing, extending, and integrating business applications on SAP BTP.

Q5: How does SAP BTP integrate with existing SAP landscapes?

SAP BTP integrates seamlessly with existing SAP landscapes through several tools:

  • Destination Services: Manage connections between SAP BTP and other systems.
  • Cloud Connector: A secure gateway connecting on-premise systems with SAP BTP.
  • SAP Integration Suite: Ensures smooth data flow between various SAP and non-SAP systems.

These tools enable businesses to extend their SAP environments with cloud-based innovations without disrupting their core systems.

If you want to learn A to Z of SAP BTP and Master it, Try the below self paced video course.

Q6: Explain the role of SAP HANA Cloud in SAP BTP.

SAP HANA Cloud is the backbone of SAP BTP, providing an in-memory database that enables real-time data processing and advanced analytics. It supports both transactional and analytical workloads, allowing businesses to analyze large datasets on the fly. SAP HANA Cloud also integrates seamlessly with other SAP BTP services, facilitating the development of intelligent applications. For example, a retail company could use SAP HANA Cloud to analyze sales trends in real-time, optimizing inventory management and marketing efforts.

Q7: What are the security features available in SAP BTP?

SAP BTP offers comprehensive security features:

  • Identity and Access Management (IAM): Ensures secure user access with role-based controls.
  • Data Encryption: Protects data both at rest and in transit.
  • Audit Logging: Monitors user activities and system events for compliance.
  • Compliance and Certifications: Meets global security standards like GDPR and ISO 27001.

These features ensure that SAP BTP provides a secure environment for deploying business-critical applications.

Q8: How can SAP BTP be used for extending existing SAP applications?

SAP BTP enables side-by-side extensibility, allowing businesses to extend existing SAP applications without altering the core system. This is achieved through:

  • SAP Business Application Studio (BAS): Developers can build new interfaces or workflows that integrate with existing SAP systems.
  • SAP BTP ABAP Environment: Custom ABAP developments can be created in the cloud to add new functionalities to SAP applications.
  • SAP Integration Suite: Facilitates seamless integration of new extensions with core SAP systems.
  • Generative AI (Gen AI): SAP BTP also supports Gen AI, which can create new data models or content, enabling innovative ways to extend applications. These tools help businesses innovate while maintaining the stability of their core SAP systems.

Q9: What are the capabilities of SAP Analytics Cloud in SAP BTP?

SAP Analytics Cloud (SAC) within SAP BTP offers:

  • Data Visualization: Create interactive dashboards for real-time insights.
  • Planning and Budgeting: Comprehensive tools for financial forecasting and scenario analysis.
  • Predictive Analytics: Machine learning algorithms for forecasting trends and identifying risks.
  • Business AI and Generative AI: SAC leverages AI to automate data analysis and generate scenarios based on historical data.
  • Collaboration: Teams can collaborate on data analysis and planning in a unified environment. These capabilities empower businesses to make data-driven decisions and improve operational efficiency.

Q10: Discuss the role of Artificial Intelligence and Machine Learning in SAP BTP.

AI and ML are integral to SAP BTP, enabling automation and intelligence across business processes:

  • Business AI Services: Pre-built AI models for tasks like sentiment analysis and demand forecasting.
  • Custom Machine Learning Models: Tools like SAP Data Intelligence allow businesses to develop tailored ML models.
  • Generative AI (Gen AI) Models: Supports innovative use cases, such as generating new content or models based on existing data.
  • Intelligent Process Automation: AI-driven bots automate tasks, improving efficiency.
  • Integration with SAP Applications: AI and ML models enhance decision-making in core SAP systems. These AI and ML capabilities drive innovation and competitive advantage for businesses using SAP BTP.

Stay tuned for the next part of this series, where we’ll dive deeper into more advanced questions and answers, helping you continue your mastery of SAP Business Technology Platform.

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Do join ZAPYard’s Learning Community.

Learn & Understand BTP Interview Q&A

Do check this Fun and Useful Video

By: ZAPYard
28 August 2024 at 15:44

SAP Build Build Process Automation 2 – Subscribe to SAP Build Process Automation

SAP Build Process Automation in the SAP Business Technology Platform combines the capabilities of SAP Workflow Management and SAP Intelligent RPA in an easy-to-use, no-code AI-powered experience. It increases organizations’ capacity to drive process automation by empowering business experts to become citizen developers. Leveraging the power of no-code, citizen developers can build, adapt, improve, and innovate business processes with minimum assistance from scarce IT resources.


Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 32 groups and more than 1000 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 32 groups from different topics like RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Join ZAPYard’s WhatsApp Community

Subscribe to SAP Build Process Automation

After successful creation of SAP BTP account using Free Trial, select Services> Service Marketplace. In the search field, type SAP Build Process Automation and select the tile.

1. Choose Create button.

2. In the New Instance or Subscription window, choose the free subscription plan and select Create button.

3. In the Creation in Progress pop-up, select View Subscription

4. Check if it is processed and created successfully. The status should be set to Subscribed.

Assign Roles

In order to have access, you will have to assign the role collections to your user.

  • Go to the Users, under Security, and select your user.
  • In Role Collections section, choose Assign Role Collection.
  • In the Assign Role Collection window, in the search bar, type process to find Process Automation Roles.
  • Select 3 roles: ProcessAutomationAdmin, ProcessAutomationDeveloper and ProcessAutomationParticipant.
  • Choose Assign Role Collection button.

Hope this would be useful for you at some point of time. If you have any questions, queries, please feel free to put it in the comments section below and I will be happy to clarify them. 👍👍

This tutorial is part of the below online live training which we offered on 02/24/2024. If you are interested, you may find the recordings of the training here – SAP Build Process Automation Advanced Live Instructor Led Training.

One Click to ZAPYard’s All Social Media Handles

PLEASE SHARE YOUR COMMENTS AND FEEDBACK

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Do join ZAPYard’s Learning Community.

SAP Build Process Automation Series

By: ZAPYard
1 March 2024 at 23:39

SAP Build Build Process Automation 1 – How to Install SAP Process Automation Desktop Agent

The Desktop agent is a component of SAP Build Process Automation that is installed locally on user desktops. It executes automation projects that launch and run applications of various kinds, read information from screens, enters data, clicks options, and process data. Please follow the below steps to install the desktop agent to run any process automation.


Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 32 groups and more than 1000 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 32 groups from different topics like RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Join ZAPYard’s WhatsApp Community

STEP 1- Download the SAP Intelligent RPA MSI

The Desktop Agent is a component of SAP Intelligent Robotic Process Automation that is installed locally on user desktops. It executes automation projects that launch and run applications of various kinds.

Download the latest version of the SAP Process Automation Desktop Agent from SAP Development tools.

STEP 2 – Install components

Kindly follow the below steps to install the downloaded software.

  1. Double-click on the MSI, and choose Next.
  2. Choose the components to install and choose Next for the following steps.
  3. Wait for the installation to complete.
  4. Choose Finish

Note: You can select Desktop Agent or Desktop Agent and Studio both.

STEP 3 – Register Desktop Agent Tenant

1. In the Windows search bar, search for Desktop Agent and choose it.

2. On the SAP Process Automation homepage, go to Control Tower, choose Agents and then select the Register new agent… button on the right-hand side of the screen.

3. When the pop-up opens, select Copy and Close.

4. Then paste the URL into the Domain field on your Desktop Agent Tenant Registration window and choose Save.

5. Select the tenant, choose Activate and confirm.

6. Log in to your tenant with your username or e-mail and password. 7. The Agent should be in Idle state, waiting to start a project.

Now you have successfully configured the desktop agent in your system and connected to the Build Process Automation in your SAP BTP trial account. Thanks for reading this blog. Happy learning!

This tutorial is part of the below online live training which we offered on 02/24/2024. If you are interested, you may find the recordings of the training here – SAP Build Process Automation Advanced Live Instructor Led Training.

One Click to ZAPYard’s All Social Media Handles

PLEASE SHARE YOUR COMMENTS AND FEEDBACK

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Do join ZAPYard’s Learning Community.

SAP Build Process Automation Series

By: ZAPYard
23 February 2024 at 19:23

SAP BTP. Part 9. Handling the Business Logic in RAP – Part 1

There is a popular idiom “you have to (learn to) crawl before you (can) walk“, which roughly means, one must understand or become adept at the basic skills, techniques, or details of something before moving on to that which requires greater skill or experience. 🔥🔥

Why are we starting a technical tutorial on SAP ABAP with this English Proverb? The reason in simple; in order to absorb a new technology, rooting to the basics is necessary. Owing to the numerous articles/tutorials freely available and excited to build a new application on the latest technology, while copy-pasting the logic, we tend to forget to learn the basics. 💡💡

RAP offers diversified ways to implement the business logic. Each method has its own significance and respective point of implementation.

RAP provides four main areas of interest where implementation of business logic is considered. They are:

  • Action
  • Function
  • Determination and
  • Validations.

Lack of proper understanding may result in fumbling of the implementation.

Before we proceed with our tutorial, we would like to give you an opportunity to join our ZAPYard’s learning community where we have more than 32 groups and more than 1000 real SAP Consultants interacting with each other daily. Only SAP topics and not BS. Else, they will be banned from the community without warning. 👇👇👇👇

If you want to be part of ZAPYard’s Discussion Community, please feel free to check the below Link. We Ask, Answer, Help and Learn Together. There are more than 32 groups from different topics like RAP, BPT, Fiori, iRPA, CAI, CPI, PI/PO, ABAP on HANA, SAPUI5, SAP Build, SAP Adobe Forms, ChatBots, SAC etc. Join any group of your interest and interact with our Community.

Below is the concise explanation and importance of each of these key-words with the exact signature.

1. Actions: In order to implement business logic in a behavior of a CDS Entity, an action is defined.

  • It is a write access.  
  • It is declared with keyword action in the behavior definition.
  • An action can be instance or static.
  • An action has exactly one input parameter.
  • Input parameter can be a structured data type or a CDS Entity.
  • Exactly one output parameter can be defined for actions.
  • The return parameter can be defined by result keyword followed by the cardinality and data type.
  • The return parameter can be the CDS entity or dictionary data type.
  • If the return parameter is the same CDS entity, it is defined with keyword $self.
  • Entity keyword is used to specify non-abstract CDS entity with behavior definition.

Example:

2. Functions: A Function is an operation on a CDS entity which allows performing some calculations.

  • It is a read access.
  • It does not require locking of the CDS Entity.
  • It is defined with the keyword function in the behavior definition.
  • It has to have a return parameter.
  • It can be static or instance based.
  • Selective keyword is used to return only selected field of the return parameter.

Example:

3. Determinations:  Determinations is used for handling internal business logic.

  • Determinations are implemented based on a trigger condition also known as triggers.
  • A trigger condition can be triggered by standard operation like create, update and delete.
  • A trigger condition can also be triggered by change of field values in an instance of a CDS entity.
  • The fields can be single or multiple ( if one or both the fields change ).
  • The combination of field sequence and standard operations can also be a trigger condition.
  • They are available in managed scenarios and unmanaged with only draft handling.
  • Determinations are applied via on_modify or on_save operations.
  • Keyword is determination followed by the name of the determination.

Example with CUD Operations:

Example with field changes:

4. Validations:  Validations are similar to traditional validation checks we have been using in the programming.

  • A validation is executed in the save sequence.
  • Failing of a validation can lead to the abortion of a save sequence.
  • It can be triggered with the same trigger conditions as in determinations.
  • These are handled by the RAP framework in the CHECK_BEFORE_SAVE sequence.
  •  It is defined by the keyword validation followed by the name and trigger.

Example:

Example with field changes:

Example with mixed triggers:

So, if any interviewer or as a backend developer, below are the answers to the application queries 😍😍:

  1. I would want to execute operations apart the CRUD on the entity itself which would require the locking of the entities. Answer – ACTION.
  2. Some Validation needs to be implemented on click of the field on UI – VALIDATION with field.
  3. Need to calculate the value of another field with the entry of a respective field – DETERMINATION with on_modify{ field }
  4. Need to calculate a field on creation of a sales order – DETERMINATION on save { create }
  5. Need to calculate on read of the entity – FUNCTION

Above operations can also be performed in combinations, example an action can be executed inside a determination, a validation can be called inside an action. These methods are truly crafted in an adroit fashion!

Thus any operations or internal business logic can be handled via the above methods. Though the signature varies from the traditional abap, however the meaning and significance remains the same.

In the later articles, we shall be discussing on how to implement the same. If you have any questions, queries, please feel free to put it in the comments section below and I will be happy to clarify them. 👍👍

End to End SAP BTP Series

One Click to ZAPYard’s All Social Media Handles

PLEASE SHARE YOUR COMMENTS AND FEEDBACK

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do join ZAPYard’s Learning Community.

SAP BTP. Part 8. Service Consumption Model in Steampunk

Did you know SAP has its own Demo Gateway System?

What Programming Model do we use in ABAP on Cloud? Well, in Steampunk, we have been following the RAP model to develop our applications or reports. Hopefully you know what Steampunk means. If not – check this tutorial. 📚📚

In this traditional method (to which we all are well versed till now), we bind our cds views to projections and then to a service binding. This service binding can be of Web API, OData V2 or OData V4.

However, there is an interesting fact discovered that we can still consume the OData Service which are public or the public Web APIs in Steampunk.

Service consumption is basically a remote service call to a service (WEB API or OData) outside the cloud. The corresponding data is read from the remote back-end service.

Some obvious questions which would arise are :

  1. How the remote service would be connected to the cloud environment?
  2. Can any OData service be connected to the cloud?
  3. Does the on-premise system be connected via cloud connector to the Cloud?
  4. How do we get the data of the remote service call?
  5. Can a new CDS entity be created from the remote service call?
  6. What are the protocols supported?
  7. Can we integrate the new service in our existing applications?

Let us understand all the answers with the below example by creating the Service Consumption Model ourselves. The Service consumption model as the name suggests is a set of artifacts that are generated in ABAP Development tools on the basis of $metadata or a WSDL file. Thus the supported protocols are SOAP and OData. Therefore, the service consumption model will also help in the side by side extension scenario in the cloud. Hope we are familiar with the Side by Side extension scenarios, if not I would highly recommend for a deep understanding of it in the below SAP Open course link as it is not a word, it is a complete topic. 🔥🔥

https://learning.sap.com/learning-journey/develop-extensions-using-sap-s-4hana-cloud-abap-environment

In short, Side by Side extensions are applications that run outside SAP S/4HANA Cloud and can be integrated with the cloud application via an API call.

Are we doing the same? Well Yes! Guess, we are accelerating the thoughts of developers to becoming Solution Architects! 😎😎

Let’s create a short questionnaire.

Question – What do we want to achieve?
Answer    – We want to integrate an external OData Service to ABAP on Cloud.

Question – Can I integrate an OData Service of an on-premise system?
Answer     – Yes, if it is https OData service.

Question – Can I get readymade SAP OData Services?
Answer    – Yes, we need to sign up to SAP DevCenter.

Did you know SAP has its own Demo Gateway System.  Sign up here to register – https://register.sapdevcenter.com/SUPSignForms/

The demo system looks like this.

Question – Can I see all the services of the catalog?
Answer   – Yes – Access the below link after creating account on SAP Demo System.

https://sapes5.sapdevcenter.com/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/ServiceCollection?$format=json

I have chosen a readymade OData service from SAP Demo System to carry out this experiment!

Please follow the below steps religiously.

Steps:

1. Get the Metadata file to be consumed in the service consumption model.

2. Access the metadata of the OData Service available from the catalog and download it.

https://sapes5.sapdevcenter.com/sap/opu/odata/sap/ZSOCDS_SRV/$metadata

3. Right Click on the package->New->Other ABAP Repository Object->Service Consumption Model

4. Give a name to the service consumption model with the consumption mode as OData.

5. Click Next and browse the downloaded metadata file and give a prefix you can remember.

6. Click next and the ABAP artifacts have been generated with the prefix are provided.

7. Click Next.  The two artifacts are service definition and the abstract entity. Abstract entity is like abstract class in SAP which does not have any implementation associated with it. It has the statement Define abstract entity in the CDS DDL.

Chose next and finish.

8. The Service Consumption model is generated with the CRUD Operations. Click on Read List and get the readymade code and copy to clipboard. Check the DATA Definition and click on the data definition created.

9. Abstract DDL ZRAP_HARSEPM_I_SALESORDER_E is created having the entity and the properties.

10. Now we need to create a class to test the above generated model. The class would call the service consumption model and the remote OData service through an HTTP proxy call. The data type would be of the Abstract DDL. Implement the method main and get_srv_data to get the data of the service.

11. Copy paste the code generated by the consumption model in this method. The method would establish a connection with the OData service and the model and once the proxy connection is set, it creates a request for read from the entityset.

In the following code in the same method, we read the response from the service.

12. In the main method of the interface, we call the above method and display the result.

13. Save and activate the class and press F9 to execute.
14. In the console, we can see the data from the remote service.

Question – How can I Use this data further? (Very Important Question)

Answer – From the abstract entity generated, we can create a custom CDS Entity by copying the DDL.
We can create an Implementation Class using RAP Query provider to test the same.

Check out the same in this previous tutorial.

https://www.zapyard.com/sap-btp-part-7-unmanaged-query-in-rap/

We can also create an association to our existing application having to use this entity through association and this would lead to an elegant side-by-side extension to any cloud application! ⚡⚡

It has been an amazing experience to witness a luminous example of connecting a cloud application to the remote service! Try out the same to witness the thrill! Make use of the Free Demo Gateway System.

End to End SAP BTP Series

One Click to ZAPYard’s All Social Media Handles

Now I want to hear from you. Please comment and let us know if you are working in BTP or RAP?

FEEDBACK PLEASE !!

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Save our number +1-251-727-9273 and send us a Whatsapp message ‘LEARN’ to be part of our Learning Community.

SAP BTP. Part 7. Unmanaged Query in RAP

As a solution architect, is it required to create a behavior definition and implementation for all list reports? Is behavior definition only a solution to create a list report? Well No!

We have often heard of unmanaged behavior that we need to perform CRUD operations on, but unmanaged query is seldom heard and thought of. Well it is a hidden jewel in RAP world where if we have to focus on only READ operation and a list report where selection is the main criteria, this should be an apt choice.

So, if the interviewer asks you, When should Unmanaged Query be chosen? You have the ready made answer above. Keep it in mind. 💡💡

The unmanaged query is based on a CDS Custom Entity ( have you heard of it before? ) where the selection of data can be written in an ABAP Class?

CDS Custom Entities are written where CDS functionality is not sufficient for data selection. It can be related to a model where the data requires an API or a function module to be called where the data cannot be directly extracted from the data source.

Most of us are in an illusion that the RAP is only available in the cloud, whereas it starts from S/4HANA 1909 version. Another interview question for you. 😍😍

These are available from ABAP release 7.55. The runtime is implemented by ABAP Class. The custom CDS entity does not have a SELECT statement and the runtime is implemented by adding the annotation @ObjectModel.query.implementedBy.

Let’s get it created.

Create a Custom CDS Entity

Implement the Class

Implement the class ZCL_CUST_ENTITY_COMP: The ABAP code can be implemented in the method of the interface if_rap_query_provider. This interface has only one method Select. The parameters of the method are io_request and io_response which is the foundation of the client-server architecture of HTTP protocol. The paging and the filter can easily be fetched from the io_request.

Hope the code is easier to understand!

Once the class is created, one always tries to execute the CDS View to check if data is getting displayed (as aligned by the habit of a developer) 😛😋😛. However, the custom CDS entities are not executed. 🙉🙅‍♂️🙅‍♀️

Create Service Definition

Next step is to create the Service Definition. Hope the steps of RAP programming model are easily by-hearted. If not, please revisit the below Tutorial.

Here, we have not implemented the Behavior Definition as it is required to implement the operation create, update and delete.

The service definition is created.

Create Service Binding

Next step is to create the Service Binding. Right click on the service definition and create the service binding. Publish the service and preview it.

Preview the Output

Select the entity and click on preview, the result is very well displayed.

As we have implemented the filter options, it will also filter based on the company.

Hope, a new element for Restful ABAP programming model is much more interesting and aids in devising perfect solutions!

End to End SAP BTP Series

One Click to ZAPYard’s All Social Media Handles

Now I want to hear from you. Please comment and let us know if you are working in BTP or RAP?

fEEDBACK PLEASE !!

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Save our number +1-251-727-9273 and send us a Whatsapp message ‘LEARN’ to be part of our Learning Community.

SAP BTP. Part 6. SAP Conversational AI – Session 2

Embedding Memory to chatbots

How many of you believe in the F.I.R.E. 🔥🔥🔥 strategy? Confused, what is F.I.R.E. 🔥🔥? Financial Independence Retire Early. 😛😛 If you are a young professional and want to be free of the mandatory 9 to 5 job, Google FIRE strategy and you never know, you might be the lucky one to enjoy your life while you are working instead of waiting for retirement 😜😜. Why Financial Topic on SAP Knowledge sharing platform? 💵💲💸💰 Well, in this tutorial we will create a Chatbot using SAP CAI which will suggest about the funds for investment.

In the previous tutorial, we had learnt to create a chat bot using SAP CAI. That was a simple demo, but artificial intelligence is sometimes even more intelligent than a human brain. Hoping it is a paradox, we need to beat the fact that that the chatbot should be even more intelligent than a human brain. Do you know that in human brain it is the hippocampus that stores the memory, let us find out which part is responsible in a chatbot for its cache! 🧠🧠

What will we do in this tutorial?

Designing a simple chatbot which will act as a mutual find agent 💲💲. The bot would provide the user various funds as options to invest. Once the user selects a particular fund, the bot remembers and invest in the same as per user selection.

NEW TRAINING ANNOUNCEMENT

SAP Build – No Code Low Code App Dev & Automation Training – Jan 21 2023 Batch

Enrollment Link – SAP Build – No Code Low Code App Development and Automation
Day Wise Course Break Up – No Code Low Code App Development and Automation
Training Dates: 21, 22, 28, 29 Jan, 4, 5, 11, 12, 18 & 19 Feb 2023 IST Dates
Training Time: 7:30 AM to 10:00 AM IST

Excited! Let’s create an artificial brain. 🤖🤖

The detailed steps to create each part of the bot is already explained in the below article. Please do make yourself comfortable with the jargons and practice Bot with CAI using below link, before you dive deeper in this current tutorial.

  1. Create a bot, I have named it as mutualfunds and added small talk and greeting skills.
  2. Create an intent @investThis intent is responsible for the first user input, when the user initiates a request to invest. In order to articulate user input, we have created expressions.

I have added below expressions.

3. Create a restricted entity, #Invest. This entity is responsible to find the word invest in an intent. If a sentence contains the word invest, it will direct to invest intent. The expressions in the intent are then identified with the entity #invest.

4. Create another intent @mutualfund. This intent is responsible for the user input about the specific mutual fund he wishes to invest. The expressions are all the type of funds which the bot expects from the user.

5. Create restricted entity #Fundtype. This entity identifies the fund name in a given expression.

It is time to train the bot.

6. Create a skill called invest.

7. The trigger of this skill would be that intent @Invest should be present.

8. In the requirements tab, we have written if @invest as invest, that is if invest is complete, means if the user has entered that he wishes to invest. We add a message as type quick replies.

9. We have added quick replies are SBI, ICIC and HDFC.

Press save.

10. In the action tab – Click on update conversation and click on GO TO.

11. Write redirect to allot skill and wait for user input.

12. Before this step, create another skill as allot. Once we present to the user the funds, we would wait for the user input and would redirect to skill allot.

13. The trigger of the allot skill would be to check if intent @mutualfund is present that is if the user has entered the fund type.

14. In the requirement tab, we would check if specifically the entity #fundtype is present. Click on new replies for If #funds is complete.

Click on update conversation – edit memory.

Set memory fields and store the user input in the memory. In this, in variable FundName, we have assigned from memory i.e. “{{memory.funds.raw}}” .It will get the value of the entity type.

15. In the Actions, Write message as text Fund {{memory.FundName}} is alloted! The memory variable will be addressed as the variable in which memory was stored. Then click on update conversation ->edit memory->unset memory fields. This is used to unset the user input, just like clear statement in abap.

Hope the design is fine. Train the bot and test it.

In the first statement skill greetings is triggered. In the second one, skill invest is triggered in which the user has desired to invest and the intent @invest is identified by the bot. Thus as this requirement is fulfilled, the bot has asked quick replies from the user. The user can select one of the buttons.

As user selects one of the buttons, the skill allot is redirected and the bot checks if the intent @mutualfund and entity #fundtype is found, the memory is captured and the action text is triggered!

Well, with some new introductions as update_conversation, A bot is given an altogether a new functionality. Can we also ask the user to enter the amount to invest and call an odata service to store the fund and the amount! Stay tuned!

End to End SAP BTP Series

One Click to ZAPYard’s All Social Media Handles

PLEASE COMMENT

Please follow our LinkedIn PageLinkedIn Group , Facebook PageFacebook GroupTwitter , Instagram and Telegram SAP Technical Group Signal Group

Do not forget to SUBSCRIBE to our YouTube Channel for Free Courses and Unconventional Interesting Videos.

Save our number +1-251-727-9273 and send us a Whatsapp message ‘LEARN’ to be part of our Learning Community.

Since we teased you with F.I.R.E., what exactly is the F.I.R.E. Movement?

F.I.R.E. stands for “Financial Independence, Retire Early.” The idea is to invest aggressively and save more (around 50-75 percent of your income) so that you can retire early in your late 30s or early 40s. The hard part is you need to save at least half of your income just to have a chance to make this happen. And you may never succeed too.

Even if you are an SAP Professional, you can still learn something out of F.I.R.E. Movement.

  1. Start dreaming and planning for retirement early.
  2. Find ways to keep your expenses low.
  3. Look for ways to boost your income.
  4. Make saving and investing a priority.

That much Gyan (sermon) for today. It is not how much we earn but how much we save makes us financially stable. So next time you plan to take some loan for the gadget you do not need, think before you put the burden of new loan on your already burdened shoulders. 😍😍

In fact, we can speak on and on, on Financial topics. Let us know if you want to hear more about it. 🙋‍♀️🙋‍♂️

❌
❌