What is SAP HANA? | In-memory Database

Hello friends, welcome to my blog. My name is Aroon, and in this post, we are going to discuss about SAP HANA, which is the in-memory database from SAP.

You can also watch a video about SAP HANA on my YouTube channel

Please subscribe to the blog by entering your email address and get notified every time I post a new blog post about SAP and other interesting topics. You can do that on the “Blog” page on my website (scroll down to the bottom of the page)

Now let us get into the topic.

SAP HANA stands for High-performance Analytic Appliance. It is an in-memory database.

Before we get into the details of SAP HANA, let us take a look at what is an in-memory database?

An in-memory database is a database that keeps data in memory rather than on a disc.

The primary distinction between traditional and in-memory databases is where the data is stored. Even when compared to solid-state drives (SSD), random access memory (RAM) is faster than disc access. Because an in-memory database uses RAM for storage, data access is much faster than a traditional database that uses disc operations.

In-memory databases are used in applications where faster access to data is required. It is commonly used in applications like real-time analytics, weather predictions, IoT and Gaming, to name a few.

The main downside of an in-memory database is data loss due to power failure. Since RAM is volatile, the data in the RAM will be lost when the power is turned off.

To address this issue, most in-memory database systems offer persistence.

Transaction logging is used to accomplish this. An in-memory database image is saved on the disk during a normal shutdown. The previously saved image is loaded when the application is reopened, and every transaction committed to the in-memory database is appended to a transaction log file. If the system crashes, the database can be restored by reloading the original database image and replaying the transactions from the transaction log file.

Okay, now let us talk about what is SAP HANA?

As mentioned before, SAP HANA is an in-memory database, and as a result, you can run advanced analytics in real-time and offer high-speed transaction capabilities.

It allows businesses to process massive amounts of data with near-zero latency, query data in real-time, and become truly data-driven. SAP HANA is unique – and significantly faster than other database management systems (DBMS) on the market today – because it stores data in column-based tables in main memory and combines online analytical processing (OLAP) and online transactional processing (OLTP).

It was introduced in 2010, and it provides advanced search, analytics, and data integration capabilities for all types of data – structured and unstructured – in addition to acting as a database server, storing and retrieving data requested by applications. It also serves as an application server, assisting businesses in developing intelligent, insight-driven applications based on real-time data, in-memory computing, and machine learning technology. These capabilities are available in the cloud as well as on-premise. SAP HANA simplifies IT, helps businesses innovate, and lowers costs by combining multiple data management capabilities and making all data instantly available from a single system.

Now, let’s look at the benefits of the SAP HANA database.

The SAP HANA database provides far more advantages than simply storing, serving, and providing a single source of truth. The following are the top ten advantages of SAP HANA, both on-premises and with SAP HANA Cloud:

Database services, advanced analytical processing, application development, and data integration are all included.

In large production applications, queries are answered in less than a second.

Versatile: Supports hybrid transactional and analytical processing, as well as a wide range of data types

Efficient: Offers a smaller data footprint with no data duplication, advanced compression, and data silos reduction.

Effective: Uses a massively parallel processing (MPP) database to query large datasets quickly.

Scalable: Scales easily for data volume and concurrent users in a distributed environment.

Flexible: Deploys in public or private clouds, multiple clouds, on-premises, or hybrid scenarios.

Simple: Advanced data virtualization provides a single gateway to your data.

Intelligent: Adds machine learning to applications and analytics (ML)

Secure: Provides comprehensive data and application security, fast setup and other features.

Something to note is that SAP S/4HANA, SAP’s next-generation ERP product, can run only on the SAP HANA database and not on any other databases.

What is SAP HANA Express Edition?

SAP offers a free version of the SAP HANA database that you can download and install on your laptop or a virtual server. It is free to use for in-memory databases of up to 32GB, and you can expand to 64, 96 or 128GB by purchasing an additional license.

You can download SAP HANA Express Edition from this website.

How can I learn more about SAP HANA?

There are so many channels available through which you can learn about SAP HANA.

The first one on that list is through SAP website. Under the “Get started” tab, you will find product demos, learning paths, tutorials, online events and documentation using which you will be able to get a tonne of information about SAP HANA.

SAP Communities – If you are already not familiar, SAP Community is a free website that contains a lot of information about different SAP topics. SAP HANA is one of those topics. In SAP communities, you will be able to find blogs, tutorials, webinars and events regarding SAP HANA and other topics.

In SAP Communities home page, click “Topics” and search for “SAP HANA”

SAP Training Centre – SAP official training & certification centre offers plenty of courses and certification for SAP HANA.

Click on “Explore catalog” –> “Technology” –> “Discover SAP HANA”

You can choose the one that you are interested in and get certified as well.

On top of these, there are obviously other ways like OpenSAP courses, YouTube channels and blogs through which you can learn more about not just SAP HANA but a variety of SAP topics.

End of the blog.

P.S – I just wanted to let you know that I have recently created a course on Udemy called “Introduction to SAP – The Complete Package for Beginners“. 

This is an introduction to SAP course covering all significant aspects of SAP and its products. This course can be beneficial for someone who wants to learn about SAP. You might be a university student, a recent graduate or even an experienced professional looking to get some insights about SAP products and topics around it.

If you are interested to attend the course, just click the following link and purchase it. I am sure you will get value out of it. https://www.udemy.com/course/introduction-to-sap-the-complete-package-for-beginners/?referralCode=A772560772CCFCC917FB 

Hire To Retire Business Process Steps | Human Resource | SAP HR

Hello friends, welcome to my blog. My previous blog discussed the steps involved in a Procure to Pay business process. This blog will discuss the steps involved in a Hire to Retire business process. (HR Business Process).

You can also watch a video about this on my YouTube channel

The hire-to-retire (H2R) business process involves a series of steps and activities in the entire employee lifecycle, from when they are hired to when they retire. The H2R process typically includes the following steps:

  1. Recruitment: The first step in the H2R process is recruitment, which involves identifying the need for new employees and sourcing, screening, and selecting candidates to fill open positions.
  2. Onboarding: After a candidate has been selected, the next step is onboarding, which involves introducing the new employee to the company, its culture, and its policies and procedures.
  3. Training and development: Once the new employee is onboarded, the next step is to provide training and development opportunities to help them acquire the skills and knowledge they need to be successful in their role.
  4. Performance management: As the employee progresses in their role, the next step is to provide ongoing performance management, which involves setting goals and objectives, providing feedback, and conducting regular performance evaluations.
  5. Compensation and benefits: As part of the H2R process, it is essential to manage the employee’s compensation and benefits, including their salary, bonuses, and other rewards.
  6. Career development: In addition to providing training and development opportunities, it is also vital to support the employee’s career development, including providing opportunities for advancement and professional growth.
  7. Employee engagement: As part of the H2R process, fostering employee engagement is essential, which involves creating a positive work environment and providing opportunities for employees to contribute to the company’s success.
  8. Retention: The final step in the H2R process is retention, which involves identifying and addressing factors that may lead to employee turnover and implementing strategies to retain valuable employees.

On a high level, these are the steps that are involved in an HR business process. Software applications like SAP SuccessFactors and WorkDay are used to manage these processes.

If you are interested in learning more about SAP SuccessFactors, please check out my blog here

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

Procure to Pay (P2P) Business Process Steps

In this blog, we will take a quick look at the steps and activities involved in the Procure to Pay (P2P) business process.

You can also watch a video about this on my YouTube channel

A procure-to-pay (P2P) business process is a series of steps and activities that are involved in purchasing goods and services and paying for them. The P2P process typically includes the following steps:

  1. Identify the need for goods or services: This might involve conducting a needs assessment, analyzing business requirements, or identifying opportunities for cost savings.
  2. Develop a procurement plan: Once the need for goods or services has been identified, the next step is to develop a procurement plan. This might involve identifying potential suppliers, evaluating their capabilities, and determining the best procurement approach.
  3. Issue a request for proposal (RFP): After the procurement plan has been developed, the next step is to issue a request for proposal (RFP) to potential suppliers. The RFP typically includes detailed information about the goods or services being requested and the criteria that will be used to evaluate proposals from suppliers.
  4. Evaluate proposals and select a supplier: After proposals have been received from suppliers, the next step is to evaluate them and select a supplier. This might involve conducting interviews, reviewing references, and comparing proposals to determine the best supplier based on the criteria outlined in the RFP.
  5. Place the order: Once a supplier has been selected, the next step is to place the order. This typically involves negotiating the terms and conditions of the purchase, including the price, delivery schedule, and payment terms.
  6. Receive and inspect the goods or services: After the order has been placed, the next step is to receive and inspect the goods or services. This might involve coordinating with the supplier to ensure that the goods or services are delivered on time and as specified in the purchase order.
  7. Process the invoice: After the goods or services have been received, the next step is to process the invoice. This might involve verifying that the invoice matches the purchase order, reconciling any discrepancies, and obtaining approval for payment.
  8. Make the payment: The final step in the P2P process is to make the payment. This might involve issuing a check, transferring funds electronically, or using a procurement card.

Overall, the procure-to-pay (P2P) process involves a series of steps and activities in purchasing goods and services and paying for them.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

What is WRICEF in SAP?

Hello, in this blog, let’s look at the WRICEF concept in SAP.

WRICEF is an acronym for Workflow, Reports, Interfaces, Conversions, Enhancements, and Forms in SAP. It is used to refer to the various components and objects that are involved in customizing and extending the functionality of SAP systems.

WRICEF includes the following components and objects:

Workflow:

Workflow in SAP refers to automating and managing the flow of business tasks and activities within an organization. This might include routing tasks to the appropriate users, tracking the progress of tasks, and sending notifications to stakeholders.

Let’s take this simple workflow as an example where an employee requests leave.

  • Employee requests for leave the request goes to his/her manager for approval
  • The manager approves the request
  • A notification is sent to the employee and the leave data is updated in the SAP system
  • Or the Manager might reject the leave request
  • In this case, the employee is notified and provided with an option to re-submit the request or cancel it.

Reports:

Reports in SAP are used to present data and information in a structured and organized manner. This might include creating list reports, form reports, and interactive reports, and using various formatting and layout options to present the data concisely.

Some examples of different types of reports are

  • List purchase requisitions
  • PO by material
  • Display material
  • Display serial number for materials

Interfaces:

Interfaces in SAP are used to connect SAP systems to other SAP and non-SAP systems, allowing data and information to be exchanged between them. This might include creating interfaces using various technologies and protocols, such as BAPIs, IDocs, RFCs, REST, SOAP, etc and configuring them to meet the specific needs of the organization.

Conversions:

Conversions in SAP are used to migrate data and configuration settings from one SAP system to another. This might include extracting data from the source system, transforming it to meet the requirements of the target system, and loading it into the target system. Tools like SAP Data Services and SLT can be used for this purpose.

Enhancements:

Enhancements in SAP are used to modify or extend the functionality of SAP systems without changing the underlying SAP code. This might include creating user exits, customer exits, and BADIs, and using them to add custom functionality to SAP systems. They are also called custom codes or Z transactions.

Forms:

Forms in SAP are used to create and manage the layout and design of documents, such as invoices, purchase orders, and delivery notes. This might include creating form templates, using various layouts, and formatting options, and integrating the forms with other SAP components and objects.

If you have any questions, please leave a comment and I will respond.

Thank you and see you in another blog.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

What happens in an SAP project?

In this blog, let’s take a simplistic look at what happens in an SAP project.

SAP projects are usually complex, and the implementation might take somewhere between a few months to a few years depending on the number of solutions implemented and the complexity of the organisation.

SAP projects usually go through six different phases. They are

  • Project preparation
  • Blueprint
  • Implementation
  • Testing
  • Go-live
  • Support

Project preparation Phase

This is where the project starts and where detailed planning is done. Business processes, solutions that are required to adapt the business processes, objectives, scope, deliverables, timelines, resources, and budget all these things are planned during this phase.

This is the most crucial phase of an SAP project and attention to detail is very important as that will determine the success and failure of the project. Every small and big element must be proactively approached and discussed and must be taken into consideration while planning.

Blueprint

Blueprint workshops happen during this phase where the customer’s requirements are analysed against standard SAP Business Processes. Then the gaps will be identified, and a plan will be created about how to address those gaps.

Either the current business processes will be changed to suit SAP’s standard business processes or custom codes will be created to satisfy customer requirements in the SAP system.

Implementation Phase

Once the business processes are finalised, the technical consultants will start installing the SAP applications, whereas the functional consultants will start configuring the business processes, workflows and reports.

Any custom code that is required will be created during this phase by the developers.

Testing

This is one of the important phases of an SAP project. There are four different types of testing happens and they are

  • Unit testing
  • System Integration Testing or SIT
  • User Acceptance Testing or in UAT
  • Dress Rehearsal

Let’s take this system landscape as an example.

The functional consultants will configure the business processes in the Development system. The configuration changes will then be moved to a different client within the development system to perform the unit testing. Unit testing is the initial test that is done right after something is configured in the development system.

It is the initial, basic level of testing that is done quickly before the next level of detailed testing takes place. In this example, client 300 is the development client and client 400 is the unit testing client.

SIT

Once the unit test is successful, the changes are moved to the SIT system where System Integration Testing is done.

This system will be connected to other SAP and non-SAP applications as well. So it will allow the developers to test the end-to-end scenarios.

UAT

Once the SIT is successful, the changes will be transported to the UAT system to perform the User Acceptance Testing.

As the name implies, this is where the end users will test the business processes and configurations before giving the green light to go live.

If the user finds a bug in the configuration, they are called a defect. The defect will be resolved by the consultant in the development system, and they will follow the same process up until the UAT.

When all the UAT is completed, the project is ready for the go-live.

Dress rehearsal

But just before the actual go-live, a dress rehearsal is conducted to try it out. During the dress rehearsal, every step will be done to replicate the exact steps executed during the go-live process.

This process will help identify the issues proactively and ensures a safe go-live.

Sometimes a dedicated client will be created in the UAT system to perform the dress rehearsal, or a dedicated dress rehearsal system can also be created.

The transports will be moved to the dress rehearsal system first, followed by the data load. The time taken to perform all these steps are calculated to get an idea of how much time it will take to execute these steps during the production system’s go-live.

Then comes the actual Go-live

Once the dress rehearsal is completed, the production cutover will start.

Transports will be moved to the production system followed by the data load. Users will be unlocked, and they will be able to log in and start executing their business transactions.

Hyper care support

Usually, there will be four to six weeks of hyper-care support provided by the support team. During this time, all defects will be treated with the highest priority and will be resolved asap.

Once the hyper-care period ends, the Business as Usual (BAU) period starts and the normal support processes kick in.

On a high level, this is how an SAP project is implemented.

If you have any questions, please leave a comment and I will respond to it.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

SAP SCM Modules & Certifications

I received a lot of comments on my YouTube video about SAP SCM asking how one can learn SAP SCM or what modules should they choose among the so many different ones that are available.

SAP Supply Chain Management is not just one application that you can learn but it is a broad term. It is further divided into different categories and there are different types of SAP applications involved under those categories.

Those categories are Design, Plan, Procure, Manufacture, Sell, Deliver, Operate, & Project Management.

Let’s take a new car manufacturing company as an example and see how these categories and SAP applications will fit in with their business model.

In the design phase, the company can use S/4HANA Research & Development application to design their new car.

Once the car is designed, they can use SAP Integrated Business Planning to plan all the logistics that are needed to start their car manufacturing process.

Once the planning is complete, they can use applications like S/4HANA Procurement & SAP Ariba to procure the raw materials and manage the vendors that are required to manufacture the car.

Then the actual manufacturing and assembling of the car happen. For this purpose, they can use SAP applications like S/4HANA Manufacturing, S/4HANA Manufacturing Execution & SAP Digital Manufacturing Cloud.

Then comes the sales process. For that, they can use the S/4HANA Sales application.

Then the cars that have been sold need to be delivered to either the showrooms or to the customers directly. This is one of the trickiest parts of the end-to-end supply chain management process. For this purpose, the company can use SAP applications like SAP Extended Warehouse Management & SAP Transport Management.

The car manufacturing company will have a lot of movable and immovable assets that must be managed along with the people that provide services for the types of machinery and equipment. For that purpose, they can use SAP applications like S/4HANA Asset Management & Field Service Management.

And finally, running a car factory and manufacturing cars is no easy job. It requires highly skilled Project managers and project management tools. For this purpose, they can use SAP applications like SAP Portfolio & Project Management, SAP Product Lifecycle Costing, SAP Commercial Project Management & SAP Engineering Control Centre.

If you look at the SAP Training & Certification Centre, you will see training courses categorised into these eight categories that I just talked about. Depending on your interest, you can enrol in any of these courses, take the exam and get certified. If you ask me which of these are in high demand, my personal opinion is that S/4HANA Procurement, SAP Transport Management, SAP Extended Warehouse Management & SAP Supply Chain Planning are the highly in-demand areas.

Thank you and I will talk to you in another blog.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

Introduction to SAP Cloud ALM (SAP CALM)

Hello friends, welcome back to my blog. In this post, we will discuss SAP Cloud ALM, also called SAP CALM.

Introduction to SAP Cloud ALM – YouTube video

Introduction

When SAP released CALM, people asked if it was just a Solution Manager that is hosted in the cloud. The answer is no.

SAP CALM is a cloud application built by SAP from scratch and it is hosted on SAP BTP which stands for Business Technology Platform. If you want to learn more about SAP BTP, please check out my blog here.

So, it is not a Solution Manager that is hosted on the cloud. SAP claims CALM to have a better user experience, open APIs, cost-effective, simple & easy to configure and use.

What is ALM? or Application Lifecycle Management?

Before we get into the details about CALM, let’s take a quick look at what is Application Lifecycle Management.

ALM software consists of tools and processes that help to manage the lifecycle of a software product from product design up until the end of its life.

The lifecycle of a software product consists of different phases like requirements gathering, building, testing, deploying and operating.

So ALM software provides us with tools that can help us manage all these different phases of a software product. In other words, it can be called the software that is used to manage the development and operation of other software.

SAP Solution Manager was the famous ALM tool that was offered by SAP to its customers. It is free of cost and has got a whole lot of functionalities like application operations, business process operations, data volume management, test management, project management, change control management, process management, IT service management and much more.

But the problem with Solution Manager was it became very complex to configure these functionalities and maintain them on an ongoing basis. It was an on-premise application, so it requires resources to install, configure and maintain it which in turn costs money for the customers.

Customers were actually asking SAP for a long time to create a cloud-based ALM tool that can replace Solution Manager.

Finally, SAP has done exactly that.

As I mentioned before, SAP Cloud ALM is a cloud application. So the application is installed and maintained by SAP from a technical perspective. Right away, that makes it attractive to the customers as they don’t have to spend money installing and maintaining it.

SAP has also promised that it has made Cloud ALM, simple to configure and easy to use. So let us assume it is not as complex as Solution Manager to configure and make things work which makes it even more attractive for the customers.

So, does that mean Cloud ALM is the future? That is absolutely right. In the recently held SAP ALM summit, SAP confirmed that the Solution Manager will be supported until 2027 which means it will concentrate its effort on developing Cloud ALM going forward.

I have made a YouTube video about Solution Manager as well. Please check it out here

SAP Cloud ALM Functionalities

Its functionalities are divided mainly into two categories which are Cloud ALM for implementation and Cloud ALM for operations.

Just like any waterfall model, you design, build, test and deploy the software. After deployment, during the business-as-usual phase, you might come across issues. So, detect those incidents, analyse the root cause, resolve the problem and then automate the solution so that whenever the same issue happens again, it can be resolved without human intervention.

SAP Cloud ALM for Implementation

The above picture shows the process view of Cloud ALM for implementation.

So the steps are Design → Build → Test → Deploy.

In the design phase, you design the functionalities in the SAP system as per business requirements. Conduct fit-to-standard workshops to convert the business requirements into standard SAP processes.

Once the design is complete, you start configuring the software as per the design

Then test the configurations

And finally, deploy and go live with the product or solution.

The above picture shows the different types of technical functionalities that are covered under the Cloud ALM for the Implementation process. The ones that have a small asterisk mean those functionalities are planned to be available later.

SAP Cloud ALM for Operations

The second category is Cloud ALM for operations and the above picture is the process view.

As I mentioned before, once the product is live, you need to monitor for any issues.

Identify those issues

Then diagnose the root cause of why it occurs

resolve the issue

then automate it.

The below picture shows the technical functionalities that make the Cloud ALM for operations possible.

It has got different types of monitoring functionalities using which you can monitor end-to-end business processes, you can monitor integration between multiple SAP and non-SAP applications, performance monitoring, incident management etc.

Supported Solutions

So, what are the solutions that are supported by SAP Cloud ALM? SAP Cloud ALM was created with cloud applications in mind but it has got some functionalities that are available for on-premise S/4HANA systems as well.

SAP has provided a website that lists the different types of solutions that are supported by Cloud ALM. You can filter either based on the SAP application or based on Cloud ALM functionality. You can access the page here

SAP Cloud ALM Demo

SAP offers a free Cloud ALM demo system that anyone can access. You do not require an S user id.

As you can see on the screen, SAP has provided some predefined roles with usernames and passwords. You can use any one of these to access the relative content in the demo system.

For example, if I am a project manager, I can log in as Paul to see the functionalities related to project management that is offered by Cloud ALM.

You can access the demo page here

How to request a Cloud ALM system?

For this, you will need an S user id with admin access. Because the Cloud ALM is a cloud application. It should be linked to a customer account. So if you want to request a Cloud ALM tenant to be provisioned for your organisation, then you must create the request using your organisation’s S user id.

You just go to the Cloud ALM page in the SAP support portal. Then there is this request button. SAP says it only takes 15 mins for a Cloud ALM tenant to be provisioned for you which is excellent.

Link to request an SAP Cloud ALM tenant here

How can you learn more about the Cloud ALM?

Comparatively, Cloud ALM is still new. So SAP is still developing learning content for it. But in saying that, there is already a good amount of learning resources available for Cloud ALM.

The SAP Cloud ALM support portal is your one-stop shop if you want to learn more about this product.

I will walk you through the things that are available on this page.

The first thing you will notice on this page is these three buttons. Discover, Try and Request. The “Discover” button will provide you with a pdf document with high-level information about Cloud ALM. The “Try” button will take you to the Cloud ALM demo page with the user name and password then you can request a Cloud ALM for your organisation using the “Request” button.

Then there is a couple of presentation available. One is a high-level overview presentation and the other one is a value presentation.

Going further below, you will see some customer success stories and then the link that provides you with the list of “Supported Solutions” that we talked about previously.

Going further down, you will see three YouTube videos that describe how you can use Cloud ALM for implementation, operations and service. Below that, there are links that provide more information on how to configure these functionalities in Cloud ALM.

And then we got a Roadmap explorer that provides information on upcoming functionalities in the future.

Then we got links to the Cloud ALM community page, information about services available for Cloud ALM, links to videos, Events and newsletter and finally, we got an admin guide that you can use to configure different types of functionalities in Cloud ALM and then the link to the SAP help portal and some frequently asked questions.

You can access the SAP Cloud ALM support portal here

please check out my YouTube channel if you are interested in clicking here

That’s it for today. If you like this blog, please share it with your friends who might also benefit from it.

If you have any questions, please leave them as a comment and I will respond.

Thank you.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

SAP ABAP Technical Architecture

SAP Technical Architecture

Hello everyone,

Welcome back to my blog. In this topic, we are going to discuss the Architecture of an SAP ABAP system.

High-level architecture:

Three layers of SAP Architecture

On a high level, you can divide the architecture of an SAP system into three layers.

Presentation layer – where the users use channels like SAP Logon Pad, SAP Business Client, SAP FIORI, Web browser or Mobile Apps to access an SAP system.

Application layer – This is where the ABAP or JAVA application server of an SAP system is located. The application server is the foundation of any SAP system. It is the engine that receives and processes all the requests and interacts with the Database to retrieve the required information and send it back to the presentation layer.

Database layer – This is where the Database of a system is located.

All software applications that follow the client-server model have these three layers as their basic architectural principle and SAP systems are no exceptions here.

Now let us get into the details of the Components of an ABAP system:

Technical Architecture of an SAP ABAP System

An ABAP system consists of an ABAP Server Central Services instance which in short is known as ASCS and an Application Server instance.

An instance is an administrative unit that contains various components. For example, ASCS is an instance and the application server is another instance.

An ABAP system has only one ASCS instance but it can have multiple Application server instances depending on the expected load on the system. The ASCS and application server instance can be installed on the same host or they can be installed on separate hosts for high availability purposes. An ABAP system has a system identifier, also known as SID and separate instance numbers. SIDs are usually three-letter combinations of alphanumeric characters and instances are two-letter numeric.

For example, the SID of an SAP system can be something like PE0 and the instance number of ASCS can be 00 whereas the instance number of the application server can be 01, 02, or 03 depending on how many application servers are there. The SIDs and instance numbers are assigned during the installation of an SAP system.

Now let us take a look at the Components of SAP ABAP Server Central Services:

ABAP Server Central Services (ASCS)

ASCS consists of a separate start service, a message server and an enqueue server. The start service within the ASCS interacts with the start service that is located in the application servers in order to keep track of the status of the application server within a particular SAP system. For example, let’s assume an SAP system has 3 application servers. Each application server, when it is started, logs on to the ASCS to advise its runtime state. So that the ASCS knows how many of the application servers are on-state and how many of them are off-state.

Additionally, the ASCS contains a message server. The message server enables communication between individual application servers. It also distributes the load if there are multiple application servers available so that not all the requests are handled by just one application server.

Then, Enqueue server is responsible for managing locks. It ensures, that no two transactions or users are trying to update the same field in the same table at the same time. Thus avoiding synchronisation issues. So if I am editing a program that will update a table, the enqueue server will lock that table and releases it back to others once I have finished updating it.

So, in a nutshell, the ASCS doesn’t process any dialogue requests. That means it doesn’t do any calculations or retrieve data from the database or anything like that. But it acts as an administrative unit within the SAP system and manages the application servers beneath it.

Now let us talk about the components of an Application server:

SAP ABAP Application Server

An Application Server consists of components like an ABAP dispatcher, Gateway, Internet Communication Manager, Start service and work processes.

Let’s take a look at these components one by one.

  • ABAP dispatcher – The ABAP dispatcher distributes the work to the work processes depending on the type of request that comes through.
  • Gateway – The Gateway enables the SAP system to communicate with other SAP and non-SAP systems with the help of RFC (Remote Function Call) functionality by using TCP/IP protocol.
  • ICM – ICM is known as Internet Communication Manager which handles HTTPS and SMTP-type requests from the internet. So, depending on the type of request, it is handled by either the ABAP dispatcher or the gateway or the ICM. For example, if the system receives requests from the SAP logon pad then the ABAP dispatcher handles it. If the request comes from a different SAP system through an RFC connection, then it will be handled by the Gateway and if the request comes from webdynpro application or a web browser, then it will be handled by the Internet Communication Manager.
  • Work Processes – Work processes are a bunch of programs that process the different types of requests that come to the SAP system via the ABAP dispatcher. Different types of work processes are Dialog, Update, Batch, Print and Enqueue. For example, if the request is a dialog request then the ABAP dispatcher sends it to dialog work process and so on and so forth.
  • Let’s take a look at the five different work processes in detail
  • Dialog – The Dialog work process deals with all requests that are executed by an active user or program or RFC and HTTP requests. Basically, dialog work processes are involved whenever a request is processed in the front end by the SAP system. For each application server, you need at least to configure two dialog work processes. But you can configure more if required.
  • Update – The update work process is used to update the database. For example, you make a calculation and you need to update the database table with the result. The update work process takes care of updating a particular field in a table in the database. You need to have at least one update work process in an application server
  • Batch – Programs that can be executed in the background without user interaction are known as batch jobs. Time-consuming and resource-intensive calculations are sometimes configured to be run in the background so that it doesn’t interrupt the real-time activities of the users in the front end. You need at least 2 batch work processes in an ABAP system but you can configure more depending on the requirement. For example, if your company need to run a lot of batch programs, then you might need more work processes for Batch.
  • Print – This work process processes and manages all the print requests. For example, the printing of work orders or purchase orders, etc.
  • Enqueue – This work process handles the locks and unlocks of objects. As discussed before in the ASCS component, Locks are an important part of an SAP system that ensures a table or an entry is not updated by two users at the same time. So if someone or a program is executing a transaction, then enqueue work process will lock that particular table so that only one person or program can update it at any given time. This will avoid data inconsistencies in an SAP system. The lock mechanism is widely used by pretty much all the applications that have a need to update the databases, not just SAP applications. And you need this work process in the application server only if you don’t have an ASCS instance. Otherwise, the enqueue server in the ASCS instance will take care of the enqueue processes.

So, on a high level, this is the architecture of an SAP ABAP system.

Hope it was useful. If you have any questions, please leave a comment on the YouTube video and I will reply.

If you like this blog or the YouTube video, please share it with your friends who might find it helpful.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

What is SAP Client?

Introduction:

SAP Client Strategy

A client is a separate entity within an SAP system that contains its own master data, transactional data and user profiles.

Master data or business data: Data that is required by the business to perform business operations. E.g. Information about customers, employees, products, etc.

Transactional data: Data that is created and changed on a day-to-day basis due to business operations is known as transactional data. E.g. purchase orders, sales orders, service requests, etc.

User master data: User data of a particular user in an SAP system. E.g. Name, E-mail, Language as well as parameters, authorisation and user groups

What is SAP Client YouTube video by ERP is Easy

All these data are client-specific, meaning the data within a particular client can be read or written only by the assigned client and is protected from other clients.

But there are also client-independent or cross-client changes possible. For E.g. If the source code of the SAP system is changed or a new report is created, that will be client independent which means those changes will affect all clients in that particular SAP system.

Number ranges of SAP clients:

SAP client number ranges from 000 to 999. So, technically you can create up to 1000 clients in any SAP system.

Default clients:

When an SAP system is installed, clients 000 and 001 are automatically created as part of the installation process. Client 000 is known as the golden client or master client. Client 001 is a copy of the golden client 000. Customers usually use client 001 to make further copies to satisfy their requirements. For E.g. A copy of client 001 is made and a new client can be called 100 which can act as a development client where configuration and workbench changes are made.

Multiple clients can be created based on technical and business requirements. For E.g. Development client (to create and test new developments and customizations), the Testing client (to perform testing), the Training client (to offer training to end users), etc.

Change management:

Changes that are created in one client can be transported to another client within the same SAP system or to another client in a different SAP system. A change can be either a configuration change (client-dependent) or a workbench change (cross-client).

Changes are transported using a virtual container called “Transports”. It is one of the most commonly used terms in the SAP ecosystem.

Depending on the project, requirements, size and complexity of the organisation, hundreds or even thousands of transports are moved between clients and SAP systems daily. A system called Change & Transport System (CTS) is used to manage transports

I will write another blog to explain the SAP change management process in detail.

Client copy:

Cloning a client to create a new one is called client copy. A client copy copies user master data, application data (also called master data) and client-specific customizing data across to the new client. There are three ways to perform a client copy.

  1. local client copy – copy a client inside the same SAP system
  2. Remote client copy – copy a client to a different SAP system
  3. Client export/import – This is also to copy a client to a different SAP system. The difference between this and remote client copy is that in the remote client copy method, RFC (Remote Function Call) is used to perform the client copy from the source to the target system. Whereas in the client export/import method, the source client is first exported using a transport and the transport is imported into the target SAP system.

SAP Transactions used for client administration:

SCC1 – Client copy using a transport request

SCC3 – Transaction code SCC3 can be used to monitor the process of client copy that is running in the background or check the log of the front-end process.

SCC4 – Transaction that is used to either allow or disallow modifications to happen in a client

SCC5 – This transaction is used to delete a client

SCC7 – Used to perform post-processing after a new client has been imported into the target system

SCC8 – Used to perform client export

SCC9 – Used for a remote client copy

SCCL – Used for a local client copy

Thank you for reading my blog. Hope this was helpful. If you have any questions, please leave a comment on my YouTube video and I will get back to you.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners

What is SAP Cloud Foundry, SAP Neo & SAP Kyma (SAP BTP)?

ERPisEasy YouTube Channel

Hello Friends,

Welcome back to my blog!

SAP has been projecting BTP (Business Technology Platform) for a while now and has been trying to turn it into a leader in the PaaS space. As a result, a lot of organisations globally have adopted SAP BTP and the adoption rate continues to grow especially among the already existing SAP customers.

As you might know, SAP BTP offers different types of services. One of the most commonly used services in BTP is application development. And that is where SAP Cloud Foundry, SAP Neo and SAP Kyma come into the picture.

In this blog, we are going to discuss what is SAP Cloud Foundry, SAP Neo and SAP Kyma and the difference between them.

If you are interested in learning about the basics of SAP BTP, then please check out my previous blog here.

Getting back to the topic, firstly, what is SAP Cloud Foundry?

SAP Cloud Foundry (picture from public resource)

Cloud Foundry is an open-source platform that is governed by Cloud Foundry Foundation. It is not proprietary to SAP; anyone can download it and use it for free in their own infrastructure. SAP BTP also provides Cloud Foundry as a service and to use it will cost you money because it is hosted on SAP BTP and you need to pay for the service provided by SAP. Cloud Foundry is offered as a service by so many other cloud providers as well like Amazon Web Services, MS Azure, GCP, IBM, etc.

So now the question is, what is the purpose of Cloud Foundry? You can use cloud foundry to build, deploy and run applications that are built using different programming languages.

Before Cloud Foundry, if you have to build multiple applications, you need to first install different types of runtimes, code editors, development kits, databases, integrations, authentication, etc. It was complex and developers were spending a lot of time on administration tasks instead of concentrating on developing applications.

But Cloud Foundry offers runtimes, business services, programming languages, libraries and services all in one place. So, the developers can concentrate on coding while the admin tasks are taken care of by the Cloud Foundry.

Cloud Foundry supports different types of programming languages like Java, Node.js, Go, PHP, Python, .NET Core and Staticfile.

It can be hosted on its own internal infrastructure or on cloud infrastructure offered by companies like Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, OpenStack, etc.

Now, in the SAP context, developers can use the Cloud Foundry runtime service in SAP BTP to build new applications or extend functionalities of an existing SAP on-premise or Cloud application. They can use the API library offered by BTP to integrate their applications with SAP and non-SAP applications.

SAP BTP Neo runtime service:

SAP Neo is also a runtime service available in SAP BTP, similar to Cloud Foundry, but was developed by SAP and it is not open source.

Using Neo, developers can create HTML5, Java and SAP HANA extended application services (SAP HANA XS). It doesn’t allow a “bring your own language” offering as Cloud Foundry does and it can only be hosted on SAP infrastructure and not others. The types of programming language one can use in Neo is also limited. Hence when compared, Cloud Foundry is a better runtime environment for developers to build their applications. SAP is also phasing out the Neo environment, so we can safely say the future is Cloud Foundry.

Difference between SAP Cloud Foundry and SAP Neo

SAP Cloud FoundrySAP Neo
Programming languages that are supportedJava, Node.js, Go, PHP, Python, .NET Core and Staticfile.HTML5, Java and SAP HANA extended application services (SAP HANA XS)
Bring your own programming language.On-premise or on any cloud infrastructureOnly on SAP infrastructure
HostingYesNo
Open SourceYesSAP Proprietary

What is SAP Kyma?

If we need to talk about Kyma, then first we need to talk about Kubernetes and containers.

So, let’s go backwards and start with the container first.

What is a Container?

Traditional deployment era:

Sometime back, when the container concept was not available, businesses used physical servers to run their applications. In a physical server, there’s no mechanism to define the resource boundaries for the apps, which led to problems with resource allocation. For instance, if numerous apps are running on a physical server, there may be times when one application uses up the majority of the resources, which lowers the performance of the other applications. Running each application on a different physical server would be a fix for this. However, due to resource underutilization and the high cost of maintaining numerous physical servers, this could not scale.

Virtualized deployment era:

Later on, virtualization was introduced as a fix. It enables you to utilise the CPU of a single physical server to operate numerous Virtual Machines (VMs). Because the information of one application cannot be freely accessible by another application, virtualization enables applications to be segregated between VMs and offers a level of security.

Applications can be added or changed simply, hardware costs are decreased, and virtualization improves resource usage on physical servers and scalability. A group of physical resources can be displayed as a collection of reusable virtual computers thanks to virtualization.

On top of the virtualized hardware, each VM functions as a complete machine running all of its parts, including its own operating system. So, there was still some level of complexity involved as the applications that are developed on a VM were tied to the operating system the VM is running on.

Container deployment:

Then comes the container era. While containers and virtual machines (VMs) are similar, the OS can be shared among the apps thanks to their flexible isolation rules. Containers are therefore seen as lightweight and less complex to run when compared to VMs. Similar to a VM, a container has its own filesystem, the share of CPU, memory, process space, and more. As they are decoupled from the underlying infrastructure, they are portable across clouds and OS distributions.

Containers have become popular because they provide these extra benefits.

What is Kubernetes?

Applications can be bundled and run effectively using containers. You must manage the containers that run the applications in a production environment to prevent downtime. For instance, another container needs to start if one goes down. Wouldn’t it be simpler if software handled this behaviour?

You have a framework to execute distributed systems robustly thanks to Kubernetes. It handles application scaling and failover, offers deployment patterns, and more.

Now back to Kyma. SAP BTP Kyma is a fully managed Kubernetes runtime that is based on an open-source project.

SAP Kyma, Kubernetes and Containers

We now know that containers can help build and run applications on any platform. If there are multiple containers, then Kubernetes can help manage those containers to provide scalability and failover services.

But what if the applications inside the containers need to communicate with other applications in the outside world? That is where Kyma comes into the picture. It is an extra integration tissue on top of the Kubernetes that helps us do both, expose the APIs from the containers so that external applications can integrate and as well as allows the applications inside the containers to consume APIs and events from other applications.

On top of facilitating integration, It also provides additional services like security, monitoring, and tracing.

To summarise,

  • You build software applications using either Cloud Foundry or SAP Neo
  • The applications you built can be placed inside a container or multiple containers
  • Containers are managed by Kubernetes runtime
  • Kyma provides an additional integration layer on top of Kubernetes that allows your apps inside the containers to integrate with the outside world

Please check out my YouTube channel as well and if you have any questions, please leave a comment and I will respond to you.

P.S. Check out my course on Udemy – “Introduction to SAP – The Complete Package for Beginners