Normal view

There are new articles available, click to refresh the page.
Before yesterdayzapyard.com / SAP BTP

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. 🙋‍♀️🙋‍♂️

SAP BTP. Part 5. A to Z of SAP Conversational AI

SAP Conversation AI is undoubtly One of the brightest routes in the foreseeable future!!

This tutorial is close to my heart. I have tried to frame it as lucid as possible so that anyone with zero knowledge of any terminologies of SAP CAI would be able to understand, assimilate and do the hands on to develop a fully functional Chat Bot at the end of this tutorial. Just grab your favourite drink, 🍷☕🍸🍹 put your phone to do NOT disturb mode 🚫⛔📵 and stay away from your social media distraction till the end of this practical tutorial and plunge into your journey of the SAP Conversational AI. 🤖🤖

Artificial Intelligence: It is one of the most common talks of the town that perhaps each and every emerging technology wants to embed in. We all have heard of Alexa, Siri etc interactive robots to assist customers and these have emerged as stepping stones in the respective technologies.

Thus, moving hand in hand with technology SAP has already introduced Conversational Artificial Intelligence which is a powerful digital assistant designed for the organization.

Artificial Intelligence: A Concept

As rightly narrated by the topic itself it is a powerful bot building platform that helps you build and deploy conversational agents in your application. These agents are the programmatically designed robotic agent that interact with the end user and provides a powerful end user interaction. It provides a web user interface that serves as a platform to create, build and test chat bots. It is indeed automation.

Thus these are BTP’s SaaS. Hope you remember PaaS, SaaS and IaaS. If not , please refer.

Though SAP has successfully created brilliant and user friendly user interfaces with robust Fiori applications and embedding them with conversational interfaces proved cherry on the cake. This has streamlined to a far better and smoother user experience. Smart chat bots allow user to get immediate and directional responses to their queries about a particular applications. They are even smarter to greet customers as if a real life agent would be attending them.

What are Chat Bots?

A chat bot is an automated window or an interface designed to interact with the end user. They are designed to simulate human conversation with the end user. A Chat bot automates the business process and improves customer support. There are some basics attached to the chat bot. A chat bot is composed of the below basic elements:

  1. Skill: A skill is the purpose for which a chat bot is designed for to achieve a result. For example, plain greetings, checking weather report, executing a small task etc.
  2. Training Data Set: It is composed of the likely intelligent sentences that the user would be using in his basic conversation in a bot. It also stores the mutated sentences that contain a similar meaning.
  3. Expressions: The sentences that user can ask to connect with a chat bot is known as expressions. It can be a Simple ‘Hi’, or a sentence asking for some assistance.
  4. Intent: The set of expressions that are constructed differently but means the same thing is said to be intent. Based on any expression, Intent is determined and is correspondingly responded.
  5. Entity: An Entity is the occurrence of the keyword that probably determines which intent needs to be triggered.
  6. Trigger: A bot consist of many skills clubbed together and a Trigger is a condition that determines which intent the bot will execute.
  7. Requirements: The information that a skill collects to perform an action.
  8. Action: Action is finally the step the chat bot will perform or execute upon a user’s request. 

The above points might sound tricky but they are very easy to implement!

AN OVERALL MODEL OF A BOT

An Example of a BOT – A Simple digital Assistance!

new training announcement

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

Training a Chat Bot:

We will quickly see how to create a simple chat bot as above.

Purpose: This chat bot will tell the user the different landscape of SAP systems.

We go to https://cai.tools.sap/ and register here.

We click in New Bot. As soon as we click here, we select that our chat bot will perform actions and select a given skill. We select greetings and small talk. Greetings and small talk is the standard skills having its own intents and triggers.

We give a name to the chat bot, its purpose.

We provide the data policy as per security reasons. It shows that the chat bot are secured too.

Select the visibility of the bot and create the bot.

We land to a page where we have to give intent to the chat bot. As we have selected skills as Greetings and small talk, so our first intent would be expressions related to greetings.

Sap has already provided some pre build skills in which @greetings is one of them.
If we select build, we are given two skills that we have selected for our chat bots. These are:
1) Small-talk
2) Greetings

We can add more skills over here too.
If we talk about greetings, all the concepts that we read earlier are clearly visible:

Triggers            : When user greets the chat bot that will be the trigger point.
Requirements: There is no requirement as such here.
Actions             : Once the trigger is executed, the actions are performed which in this case is greeting the user back. We can also edit these messages.

ADDING A NEW SKILL TO THE BOT

 Similarly, if we want to add our new skill, we go to Build and add a new skill.

Just adding skill won’t make the bot intelligent. We will have to train it. We would have to add triggers and actions to it and we would have to create our intent as all those expressions that have a similar meaning and user would probably ask for in this particular skill.

Conversation that can be asked from the user:

  1. May I know the systems available
  2. Can I get the information of the available SAP systems
  3. I want system Information

And all such cases.

ADDING AN INTENT TO THE BOT

Let us create intent for the above skill.

ADDING EXPRESSIONS TO THE INTENT:

Once we create intent, we have to add expressions into it which will contain similar meaning.

Thus we add the expressions to the intent. We have added three expressions to the intent.

ADDING ENTITIES FOR EXPRESSIONS:

For training the bot, we need to create Entities:  As already discussed earlier, an Entity is a keyword that is chosen from the expression and extracted to predict the intent available.

Thus, we create an entity named System.

Once the entity is created, we go to the intents and we select or extract the keyword from the expressions. Below we have marked systems as the keyword.

Now, as we are done with creating the skill and training it, we also should determine when it would trigger. For that, we need to create the trigger point.

BUILD THE BOT: ADD TRIGGERS:

So, we go to the Trigger and select the requirements for the skill.

BUILD THE BOT: ADD REQUIREMENTS:

We go to requirement of this skill, and add that if an entity system is present as a request, that means if a user requests this skill, what all can be the replies. So, we create replies in the requirements.

Click on new replies, choose the message type.

Once the user requests a particular requirement, we would choose a message to reply back to the user. SAP has provided a lot of available message types. We choose text as of now.

Our bot will ask back to the user that which system Information he really needs and we shall provide him options as HANA, ECC and FIORI. Along with each option, we write the text as predictions as to what the user would answer. These set of predictions make another INTENT user_system with its associated expressions and entities.

ADDING ANOTHER INTENT AND ENTITY TO THE SKILL:

In order to predict user response, I have created @user_system as a new Intent with the below possible expressions.

And a new entity HANA, with each of the above expression mapped with an Entity which would help determining the INTENT from user’s answer.

After making a new intent and entity for the user’s reply, we map the same in the requirements while building the BOT and if these the questions asked has the user reply matched with the intent, the BOT would answer with the exact Systems.

BUILD THE BOT: MODIFY THE REQUIREMENTS:

BUILD THE BOT: DEFINE AN ACTION:

 Action: When the above requirement will be met, we will provide an action that would answer the available system user has selected.

TESTING THE BOT:

After training the BOT well, let us test the BOT.

Cool! After training my BOT with the required skill, my BOT is intelligent and so user friendly!

ADVANTAGES OF CONVERSATIONAL AI:

  1. Powerful digital assistance
  2. Robust Architecture and Infrastructure
  3. Can easily be embedded to SAP applications
  4. Can be integrated to SAP Systems
  5. Postures a powerful user interface to FIORI Applications
  6. Can be multilingual and adjusted to any device
  7. Personalized human like conversation from anytime and anywhere!

With such an advent of technology, SAP Conversational AI is building a significant mark in the market and among SAP Users across the globe! As SAP Consultants we are expected to make use of these innovations and help our clients and company move to automation.

I have tried to keep this tutorial as simple as possible and as detailed as it could be. If you have landed to this page, do try all the steps. If you are not able to build a fully functional Chatbot after going through this tutorial, it will be a waste of my time and yours. Do provide your feedback whether you were or you were not able to create your first bot. I will surely respond to every comments you leave.

Comments pLEASE !!

End to End SAP BTP Series

One Click to ZAPYard’s All Social Media Handles

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.

❌
❌