Guru99

Sap R/3 Architecture Tutorial

Scott Livingston

What is SAP R/3?

SAP R/3 is a 3 tier architecture consisting of 3 layers

  • Presentation
  • Application

In simple words, it’s a client server architecture.

  • R signifies Real-time system
  • 3 represents – 3-tier architecture.

Sap R/3 Architecture

User’s PC:- Users can access SAP system in two ways:-

  • Through SAP GUI
  • Through Web browser

It’s called front-end. Only the front-end is installed in the user’s PC not the application/database servers.

Front-end takes the user’s requests to database server and application servers.

Application Servers: – Application server is built to process business-logic. This workload is distributed among multiple application servers. With multiple application servers, the user can get the output more quickly.

Application server exists at a remote a location as compared to the location of the user PC.

Database Server: – Database server stores and retrieves data as per SQL queries generated by ABAP and Java applications.

Database and Application may exist on the same or different physical location.

Understanding different SAP layers

Understanding Different SAP Layers

Presentation Layer

The Presentation Layer contains the software components that make up the SAPgui (graphical user interface). This layer is the interface between the R/3 System and its users. The R/3 System uses the SAPgui to provide an intuitive graphical user interface for entering and displaying data.

The presentation layer sends the user’s input to the application server, and receives data for display from it. While a SAPgui component is running, it remains linked to a user’s terminal session in the R/3 System.

Application Layer

The Application Layer consists of one or more application servers and a message server. Each application server contains a set of services used to run the R/3 System. Theoretically, you only need one application server to run an R/3 System. In practice, the services are distributed across more than one application server. The message server is responsible for communication between the application servers. It passes requests from one application server to another within the system. It also contains information about application server groups and the current load balancing within them. It uses this information to assign an appropriate server when a user logs onto the system.

Database Layer:

The Database Layer consists of a central database system containing all of the data in the R/3 System. The database system has two components – the database management system (DBMS), and the database itself. SAP has manufactured its own database named Hana but is compatible with all major databases such as Oracle. All R/3 data is stored in the database. For example, the database contains the control and customizing data that determine how your R/3 System runs. It also contains the program code for your applications. Applications consist of program code, screen definitions, menus, function modules, and various other components. These are stored in a special section of the database called the R/3 Repository, and are accordingly called repository objects. R/3 repository, objects are used in ABAP workbench.

Understanding the components of SAP R/3 3-tier Architecture

Components of SAP R/3 3-tier Architecture

  • Message Server: It handles communication between distributed Dispatchers in ABAP system .
  • Dispatcher Queue: Various work process types are stored in this queue.
  • Dispatcher: It distributes requests to the work processes.
  • Gateway: It enables communication between SAP system and between SAP system and external systems .

Components of SAP R/3 3-tier Architecture

  • Memory-pipes: It enables communication between ICM and ABAP work processes.
  • Message Server: It handles java dispatchers and server processes. It enables communication within java runtime environment.
  • Enqueue Server: It handles logical locks that are set by the executed Java application program in a server process.
  • Central Services: Java cluster requires a special instance of the central services for managing locks and transmitting messages and data. Java cluster is a set of processes that work together to build the reliable system. Instance is group of resources such as memory, work processes and so on.
  • Java Dispatcher: It receives the client requests and forwards to the server process .
  • SDM: Software Deployment Manager is used to install J2EE components.
  • Java Server Processes: It can processes a large number of requests simultaneously.
  • Threading: Multiple Processes executes separately in the background, this concept is called threading.
  • ICM: It enables communication between SAP system and HTTP, HTTPS, SMTP protocol. It means by entering system URL in the browser you can access SAP from browser also.

One more component is JCO. JCO is used to handle communication between java dispatcher and ABAP dispatcher when system is configured as ABAP+Java.

How the SAP Logon Process works?

SAP Logon Process

Step 1) Once a user clicks on the SAP system from GUI, the user request is forwarded to Dispatcher.

Step 2) Request is stored in Request queues first. Dispatcher follows First in First out rule. It will find free work process and if available will be assigned.

Step 3) As per user request, particular work process is assigned to user. For example, when user login to the system then Dialog work process is assigned to the user. If user runs a report in background then background work process is assigned to the user. When some modifications are done at database level then update workprocess is assigned. So as per user’s action workprocess is assigned.

Step 4) Once user is assigned the dialog workprocess then user authorizations, user’s current setting are rolled in to work-process in shared memory to access user’s data. Once dialog step is executed then user’s data is rolled out from workprocess. Thus shared memory will be cleaned and other user’s data can be saved in shared memory area. Dialog step means the screen movements. In a transaction, when a users jumps from one screen to other the process is called a dialog step.

Step 5) First work process will find the data in the buffer. If it finds data in buffer then there is no need to retrieve data from database. Thus response time is improved and this process is called hit. If it does not find the data in buffer then it will find the data in database and this process is called miss. Hit ratio should be always higher than miss ratio. It improves the performance of system .

Step 6) Other requested data is queried from the database and once the process is complete, the result is sent back to GUI via dispatcher.

Step 7) At the end user’s data is removed from shared memory so the memory will be available to other users. This process is called roll-out.

  • How to Configure STMS (SAP Transport Management System)
  • Remote Function Call (RFC) in SAP Tutorial
  • How to Configure & Test RFC Connection in SAP – SM59
  • What is SAP LSMW? Steps to Migrate Data using LSMW
  • 60 SAP Basis Interview Questions & Answers (2024 Update)
  • SAP Basis Training Tutorial
  • SAP Basis Tutorial PDF – Basics for Beginners (FREE Download)
  • SAP Basis Certification Online Quiz, Mock Test & MCQ Question

InterviewBit

  • Architecture

SAP Architecture – Detailed Explanation

What is sap, sap 3 tier architecture: different sap layers, 1. presentation layer, 2. application layer, 3. database layer, sap architecture components, how does the sap process work, additional resources.

SAP architecture is a set of principles, patterns and best practices that outline the architecture of an organization’s SAP environment. By using it, organizations can build a more secure and reliable platform for running business processes across their organization. SAP is a software-as-a-service solution, which means it’s cloud-based. This has implications for your SAP architecture. Your users will be accessing SAP via a web browser; they won’t be installing software on their desktops and laptops like they would with desktop applications.

That means you need to think about your SAP architecture beyond the technical components necessary to run SAP itself. You need to think about how to structure your system so that it is easily managed, supported and updated over time while remaining secure and reliable at the same time. This article covers everything you need to know about SAP architecture

SAP is a global leader in providing software solutions that enable organizations to process data efficiently and communicate information effectively. SAP was founded in 1972 and has grown from a small, five-person program development firm to a multinational corporation with more than 105,000 employees worldwide since then. Walldorf, Germany is SAP’s headquarters, where it’s run by more than 100,000 employees worldwide.

Confused about your next job?

SAP stands for “ Systems Application Program .” The SAP acronym is a widely used shorthand term for software, computer programs, and applications that all fall under the umbrella of SAP systems.

Some examples of applications that fall under the SAP acronym are accounting software, inventory management software, database management software and web application software. To be more specific, SAP is a business-to-business (B2B) application development platform which allows organizations to manage and optimize their business processes in order to increase productivity and profitability. By providing organizations with real-time access to critical information from multiple sources, such as financial data, inventory records and customer profiles, SAP systems enable them to effectively manage their operations. By streamlining business processes and reducing operational costs, SAP systems can help companies achieve greater growth and profitability.

The SAP System Architecture includes Presentation, Application, and Database layers. Each of these programmes operates on its own. In contrast, MiniSAP has all the components in one machine. We may distribute the whole system across diverse machines or it may also be on one machine like ours. The database and the application server can be on the same machine if we want to get an idea of the SAP system architecture in greater depth. In addition to these application servers, other applications are run on separate machines. To better grasp the SAP architecture, let’s look at these three elements in more detail.

The SAP System Architecture consists of the Presentation, Application, and Database layers.

  • The presentation layer is responsible for the user experience and for making sure that the SAP system is responsive and easy to interact with.
  • The presentation layer does not have any knowledge of the underlying data stored in the data layer.
  • The data layer holds all the data that is being stored in the SAP system. The data layer is the realm where all the business rules and processes take place.
  • The data layer exists between the presentation layer and the application server.
  • When you connect to the application server and start to do work, the application server, which is the realm where all the logic happens, knows nothing about the data layer.
  • This layer of the architecture is responsible for receiving and parsing data before it can be used by any part of the organization.
  • This layer is also responsible for providing data within the correct format for each application.
  • The last responsibility of the application layer is to ensure that the data is secure before it is sent to the next layer.
  • This layer of architecture is a critical component to the success of your digital transformation. The work process must be carried out by a user who is registered in the system. For this reason, we define the work process as a user of the system. The work process will register itself in the database, and when it is required to create a new record in the system, this is done by the work process. The work process can be created by the system administrator through the SAP system. In the case of the SAP system, this can be done by setting the role of the user to a specific value. What happens when you do this is that the SAP system will create a new user in the database system. This user will register itself in the database, and when the system needs to create a new record, the user can do this. The user will create the work process, and when the system requires the work process to create a new record, the user will create the process.
  • The system architecture is what defines how your SAP system is set up.
  • If you were setting up a new company, you would choose a system architecture based on the type of business you want to start.
  • For example, a manufacturer of motorcycles and scooters would be best served by a system architecture that focuses on production and inventory. A hotel would do best with a system architecture that focuses on customer relations. Once you have chosen the setting for your new company, you need to choose the SAP system architecture. The application and database layers receive information about actions performed on the presentation layer and then query the results. As a result, you can see the results of processing on the presentation layer.

The SAP R/3 3-tier Architecture is a popular application server topology for developing large-scale enterprise applications. With the increased use of web-based technologies and the ever-increasing importance of user experience, application servers are being replaced by web-based applications. However, there are certain situations where the usage of web-based applications is not possible, due to the size of the system, regulatory compliance, or other business reasons. In such cases, the usage of 3-tier application servers is unavoidable. The most common application server topology is the SAP R/3 3-tier Architecture.

  • The role of the Message Server is to handle communication between ABAP Dispatchers that are distributed across the system.
  • In this Dispatcher queue, process work of several different types is stored.
  • Work processes are allocated by the dispatcher.
  • Gateway provides access between SAP systems and external systems.
  • Each R/3 dialog step is separately executed by ABAP-Work processes.

The following describes the types of work processes:

  • An ICM work process can communicate with an ABAP work process via a memory pipe.
  • The Java dispatcher and server processes are handled by the Message Server. Within the Java runtime environment, the Message Server enables communication.
  • A server process is configured by a Java application program to handle logical locks. The queue server handles them.
  • The central services are used to manage locks and transmit messages and data when working in a Java cluster. Java clusters are sets of cooperating processes that create a dependable system. A group of resources, such as memory, work processes, and so on, is known as an instance.
  • The Dispatcher handles the incoming client requests and dispatches them to the correct server process.
  • To install J2EE components using SDM, you must first download and install Software Deployment Manager.
  • A high quantity of requests can be handled by a Java Server Process.
  • Threading refers to the method of processing multiple items at once in the background.
  • SAP can be accessed from a browser by entering the system’s URL. Because of this, ICM can also be used for communication.

When using the ABAP and Java systems, we use another component called a JCO to handle communication with the ABAP dispatchers. ABP+Java uses Java dispatchers to handle communication.

  • The SAP Logon process is the first step of the SAP authorization process. This is a simple process which involves entering the identification number that you were assigned when you created an account with SAP.
  • After this, you will be asked to provide your SAP password.
  • After you successfully enter your SAP password, you will be sent a confirmation message confirming your successful logon. From here, you will be able to access the main menu of SAP.

Although the process may seem simple at first glance, it can sometimes be challenging to perform correctly. Therefore, it is recommended that users practice logging in before conducting business-critical activities such as signing contracts or performing transactions.

  • The Dispatcher listens to user actions such as clicks on links or forms and forwards them to corresponding actions. When the action receives the request, it handles the request and returns the response to the Dispatcher. The Dispatcher forwards the response to the system.
  • Once a process is assigned, the dispatcher will check if the resource is available in the Service Request Pool. If it is not, the dispatcher will go ahead and start the process and assign another work process when the work process is available. If the resource is available in the Service Request Pool, the dispatcher will find another process and assign that one and so on.
  • The work process is responsible for putting work into the system and delegating it to other processes. Processes can be divided into two categories depending on their priority. These are critical processes which need to be executed immediately. These processes are called high priority. Critical processes and other high-priority processes can be assigned to users. Thus, depending upon user request work process is assigned.
  • In the process of work, if a user does some changes in the process and the process is not completed, then the User will get an alert message. In the case of the dialogue step, when a user authorizes the work process, then shared memory will be checked. If any other user’s data is present in shared memory then the process will be stopped and an alert will be displayed.
  • Another work process is reading. If there is no data in the buffer then data has to be retrieved from the database to get a response. And this process is called reading. If there is data in the buffer then it has to be removed. And this process is called kill. This process increases the performance of the system. It is very important to keep these work processes in mind while designing your application.
  • A dispatcher is a class that receives requests from the GUI and sends the requests to the server. The server receives the request and executes the query and returns the result to the dispatcher which then updates the GUI. A dispatcher can be registered at the startup of the application and it can be unregistered at any time to stop the dispatching. By using this approach, the data is synchronized between the server and the GUI.
  • If the shared data is not being used by any other user, it will eventually be evicted from shared memory and the system will have less memory to service other workloads. It is important to monitor data in shared memory for signs of stagnation, because once data is in shared memory it cannot be purged.

SAP architecture is the overall structure of an organization’s IT systems. It describes how these systems are put together, what roles they play, and how they relate to one another. One key goal of SAP architecture is to create a stable foundation that can support future growth. Following the right design patterns can help ensure this. One important aspect of SAP architecture is componentization. Each component should do one thing well, and it should be easy to replace or upgrade if necessary. Ideally, each component should also have a clear interface so that other components can easily interact with it.

When designing an SAP architecture, focus on creating a cohesive whole that works together as a cohesive whole. Another key goal of SAP architecture is to ensure that it scales with the business. As the business grows, so does the need for effective IT solutions. Scaling up or down as needed should be part of the plan from the beginning.

Finally, remember that SAP architecture is more than just technology. It’s about ensuring that all aspects of IT are working together in harmony to deliver maximum value for customers and shareholders alike.

  • SAP Interview Questions
  • SAP Basis Interview Questions
  • SAP Security Interview Questions
  • SAP ABAP Interview Questions
  • SAP HANA Interview Questions
  • SAP Architecture

Previous Post

Jdbc architecture – detailed explanation, azure architecture – detailed explanation.

TutorialsCampus

In this topic, we described about the below sections -

  • Kernel and Basis Services
  • ABAP Workbench
  • Presentation Components
  • Presentation layer
  • Application layer
  • Database layer
  • RFC Interface
  • Internet Communication Manager (ICM)
  • ABAP Channels

What are the views of R/3 System?

The R/3 system is the platform for all other applications in the R/3 System. In R/3, R stands for Real-time and 3 stands for 3-tier architecture. The R/3 System can have different set of views in different prospects. The main views among them are -

  • Logical view
  • Software Oriented View

What is the logical view of R/3 System?

The below diagram represents the logical view of the R/3 system -

R/3 System Logical View

The difference between “logical view” and "hardware or software-based view” is, not all the above components assigned to a specific hardware or software unit. The above diagram explains how the R/3 basis system constructs a central platform within the R/3 System. The tasks of three logical components tasks of the R/3 Basis system are described below -

Kernel and Basis Services –

The kernel and basis services is a runtime environment for all R/3 applications (i.e. hardware, operating system, and database specific). The runtime environment is mainly written in C and C++. However, some parts are also written in ABAP.

The tasks of the kernel and basis services are - “running applications”, “user and process administration”, “database access”, “communication” and “system monitoring and administration”.

ABAP Workbench –

The ABAP Workbench is a complete development environment for applications in the ABAP language. We can create, edit, test, and manage application developments using workbench. Workbench is itself written in ABAP and is fully integrated in the R/3 system.

Presentation Components –

The presentation components are responsible for the interaction between the R/3 System and the user.

What is Software Oriented View of R/3 system?

The software-oriented view specifies the different software components (i.e. all the SAPgui components and application servers) that produce R/3 system. The below diagram represents a software-oriented view of the R/3 System.

R/3 System Software Oriented View

SAP R/3 system is a multi-tier client-server architecture. The SAP R/3 architecture is basically divided into three layers and those are -

Presentation layer –

Presentation layer is an interface between the R/3 system and its end-users. Presentation layer is a distributed to the workstations of end users. The end users can be client or customer or individual users.

Presentation layer receives the data from the input devices and sends it to the application layer (server) to process the data. And, responsible to receive the processed data from the application layer and sends the same to the devices where the result requires to display.

The data or input can be entered by using the input devices. The input devices can be browsers, mobile devices, font-end GUI systems and so on.

The presentation layer is normally distributed across several presentation servers. The presentation layer analyzes user inputs and transfers these to the application layer.

Application layer –

The application layer is an intermediate layer. This layer process the inputs from the presentation layer and one messaging server. The application layer is implemented using application servers. Application server(s) can be one or multiple. Each Application server can contain either one or multiple services to run an R/3 system.

It communicates to the database layer with the input received from the presentation layer, processes input and sends the results back to the presentation layer. The application layer contains the ABAP runtime environment where the ABAP programs are executed.

All the services are distributed to the more than one application server. Messaging server contains the information about the application groups and load balancing information. Messaging server is responsible for the communication between the existing application servers.

Messaging server is responsible for -

  • Passes the requests from one application server to another.
  • Assigns appropriate application server when users logged in.

Database layer –

Database layer is layer contains the central database system of all the data in R/3 system. Normally, this database layer installs on the different server due to the security, performance and processing issues.

This layer is responsible for processing the requests from the application layer and sends back the required information. In general, either SQL or ORACLE servers can be used.

All R/3 data stores in the database. Database layer contains two components -

  • Database Management Systems

The communication flow happens from the presentation layer to database layer and vice versa. Technical distribution of the system is independent of the layers. I.e., All the three layers can be installed on the same machine or can be installed on different individual machines.

What are the external communication components of R/3 system?

These three layers are coming up with the following communication components -

RFC Interface –

This is the traditional functional interface of ABAP. A remote function call is a call of a function in other system that is different from the calling program running system. Calls are possible between different ABAP systems or between an ABAP system and an external system. On ABAP, the functions are implemented in function modules.

Internet Communication Manager (ICM) –

ICM is a process of ABAP that allows ABAP to communicate directly with the Internet using HTTP/HTTPS/SMTP. ICM is used to connect Web-based components such as SAPUI5, Web Dynpro ABAP, and BSP. ICM allows an ABAP to be used both as a client and as a server for Web services. ICM is accessed within ABAP programs using the classes and interfaces of Internet Communication Framework (ICF).

ABAP Channels –

ABAP Channels are a framework for event-based communication between application servers and the Internet. ABAP Messaging Channels (AMC) are used to exchange messages between ABAP programs on different application servers. ABAP Push Channels (APC), allow two-way communication between ABAP and the Internet using the WebSocket or TCP socket protocol.

  • Programming
  • Admin & EIM
  • BI & BW
  • FICO & BPC
  • CRM & Sales
  • Introductions
  • SAP PRESS Subscription

ABAP Programming for SAP

ABAP Programming for SAP

ABAP (Advanced Business Application Programming) is the name of SAP’s proprietary, fourth-generation programming language. It was specifically developed to allow the mass-processing of data in SAP business applications. 

By working with ABAP in SAP NetWeaver, companies running the SAP ERP and SAP S/4HANA business solutions have the opportunity to customize those systems to better meet their needs.

ABAP is a multi-paradigm programming language, meaning programmers can utilize procedural, object-oriented, and other programming principles. While it is SAP’s primary programming language, programs written with ABAP can run alongside those based on other programming languages such as Java , JavaScript , and SAPUI5.

Table of Contents

A Brief History of ABAP

New vs. old abap, when to use abap, abap editor, abap dictionary, abap painter, function builder, class builder, web application builder, other key abap terms, books by sap press.

ABAP was first introduced by SAP in the 1980s. Throughout the years, various enhancements to the language increased what programmers could do with it. For example, through April 2000 programs could only be created procedurally , meaning a program had to follow a set of pre-defined “procedures” to perform a certain task successfully.

In May 2000, SAP changed ABAP with release 4.6C, allowing for object-oriented programming (OOP). This programming strategy involves multiple individual “objects” interacting with one another, allowing programs to grow more complex with the use of ABAP design patterns and other OOP practices.

Evolution of ABAP Coding

With the release of ABAP 7.4 and 7.5 in the early to mid-2010s, SAP gave object-oriented programmers using ABAP some powerful new features to play around with, vastly reducing the amount of code needed for common tasks. The end result is that code ends up being up to 50% shorter plus both cleaner and clearer—making both programmers and end users’ lives easier.

Other new features made available to ABAP programmers in the 2010s were extended syntax for Open SQL, ABAP Managed Database Procedures (AMDP), and core data services (CDS) Views.

Perhaps the biggest and most important change to ABAP programming came with the invention and release of the SAP HANA platform in the summer of 2011. Due to the in-memory architecture of this database, processing that formerly happened on the application layer now could be done on the database layer.

With the traditional, row-based database architecture of SAP R/3, it was important to have ABAP code run in the application layer rather than the database layer to save memory usage for further tasks. But SAP HANA allowed, and even encouraged, tasks to be completed in real-time by using in-memory technology.

This meant code could be developed and utilized in the database itself. For companies running the new ERP solution, SAP S/4HANA, this meant a whole slew of new programming opportunities. There are a few things to know when programming ABAP on SAP HANA , but it is very doable and quite powerful.

During the early 2010s, many developers wondered if ABAP was to become increasingly obsolete as SAP acquired multiple cloud, non-ABAP-based solutions and pivoted existing products towards the cloud. But with the advent of SAP S/4HANA, and more importantly ABAP in the Cloud, the language was given new life, leading many to proclaim “ABAP’s not dead.” Programmers went into the second half of the decade with a clear idea of how to use ABAP to code for SAP S/4HANA, SAP Business Technology Platform, and more.

These new platforms led to the creation of additional ABAP programming models. The first, the ABAP programming model for SAP Fiori , is used when developing SAP HANA-optimized OData services for SAP Fiori applications. These are based on core data services views and cover three application scenarios: analytical, transaction, and search.

Overview of the ABAP Programming Model for SAP Fiori

The ABAP RESTful programming model is a very new paradigm based on the model for SAP S/4HANA, but eschews Business Object Processing Framework (BOPF) in place of a more advanced concept.

Overview of the ABAP RESTful Programming Model

(Back to ToC.)

When working with a seasoned ABAP developer or scouring SAP Community blogs you may come across the terms “new,” “modern,” “old,” “classic,” “old-fashioned,” or “legacy” ABAP. What all does this mean?

Simply put, ABAP programming techniques that were used from the 1980s through April 2000 is typically what developers mean when they refer to “old,” “old-fashioned,” “classic,” or “legacy” ABAP. The advent of object-oriented programming in ABAP and the change in syntax that arrived with release 7.4 unofficially mark the changeover to “new” or “modern” ABAP.

All SAP solutions—from R/1 through SAP S/4HANA—can be modified with ABAP code. While some solutions, such as SAP Business One, SAP Ariba, and acquired products such as SAP Concur and SAP SuccessFactors, run primarily on other languages, ABAP will still play a role when these solutions interface with a central, ABAP-based SAP ERP or SAP S/4HANA system.

The ABAP Workbench

There are half a dozen important tools that programmers can use when working with ABAP code. They can be found in a development environment named the ABAP Workbench . This environment contains a number of needed development tools, the most commonly used of which accessible through the Object Navigator. You can access the Object Navigator with t-code SE80.

Here’s a breakdown of these key ABAP Workbench tools:

ABAP coding can be done in a special tool called the ABAP Editor , which has three different modes to work within—two versions of the Front-End Editor, and the Back-End Editor. The three editors are fully compatible and interchangeable. The source code created in one editor can be viewed by all other modes.

The ABAP Editor

You can access the ABAP Editor with t-code SE38.

Also called the Data Dictionary, DDIC, or sometimes just “Dictionary,” this is a system-wide repository where database objects such as domains, data elements, and transparent tables are created and maintained. Programs will query the ABAP Dictionary to ensure that all sides are working with a single definition of an object.

ABAP Dictionary

You can access the ABAP Dictionary with t-code SE11.

The ABAP Painter is a set of two tools used to create GUI statuses and dynpros. The Menu Painter creates the GUI status and components, while the Screen Painter creates dynpros via text and screen editors.

ABAP Painter

You can access the Menu Painter with t-code SE41 and the Screen Painter with t-code SE51.

The Function Builder is a tool that can create and maintain function modules. These are universal procedures that start with FUNCTION and end with ENDFUNCTION .

You can access the Function Builder with t-code SE37.

The Class Builder is a specialized tool that creates and maintains class pools. A class pool is a repository object that stores global classes along with related definitions that will help the program implement the class.

ABAP Class Builder

You can access the Class builder with t-code SE24.

The Web Application Builder is a tool that allows programmers to create web applications.

You can access the Web Application Builder by following this menu path: Create > BSP Library > BSP Application .

While we’ve laid out much of the important terminology you’ll run into when working with ABAP, there are a handful more that will be helpful to you. Let’s take a look at twelve such terms and concepts.

  • ABAP Debugger : A tool for performing functional troubleshooting in programs.
  • ABAP Development Guidelines : A set of general and ABAP-specific guidelines meant to help programmers creating applications with ABAP.
  • ABAP Development Tools : A set of downloadable plugins that allow programmers running Eclipse to develop ABAP. Formerly known as ABAP in Eclipse or ABAP Development Tools in Eclipse.
  • ABAP Managed Database Procedures : A way to execute complicated code inside a database via stored procedure. Specific to SAP HANA and its in-memory processing.
  • ABAP Objects : The official name for OOP in ABAP.
  • ABAP Unit : A testing tool used to check functions of code sections.
  • CDS Views : Core data service Views allow programmers to take full advantage of the SAP HANA database. They enhance information integration with cloud apps and other UIs via OData. These serve as the basis of SAP Fiori apps.
  • Design Patterns : Tried and true solutions to common software requirements that can be “recycled” and used as the basis of a new program.
  • Repository Information System : A source used to search repository objects; accessible via the Object Navigator or t-code SE15.
  • SAP GUI (SAP Graphical User Interface) : The interface in the presentation layer of applications built with ABAP code that run on the desktop as opposed to in a browser.
  • SAP NetWeaver AS ABAP : Part of a client server which allows for creating ABAP programs and consists of at least three layers, including the presentation, application, and database layers. The AS stands for Application Server .
  • Two-Track Method Development : The simultaneous development of two versions of a method. An example of which might be implementing a method using both ABAP and AMDP .

Additional Resources

Feel you need more help learning ABAP programming? These books, blog posts, and videos will help, as well as this ABAP learning journey .

  • " 3 Advanced ABAP Testing Things to Know "
  • “ 3 Things to Know When Coding ABAP on SAP HANA ”
  • “ 4 Major OOP Updates in ABAP 7.4 and ABAP 7.5 ”
  • “ ABAP Debugging: Analyzing Memory Usage of Your Programs ”
  • " ABAP Development in SAP HANA: The Code-to-Data Paradigm "
  • " ABAP and Continuous Integration: the ABAP Test Cockpit and the ABAP Unit Runner "
  • " ABAP in the Cloud: Getting to Know SAP BTP, ABAP Environment "
  • " ABAP Q&A: CDS Views and Entities, ABAP RESTful Application Programming Model, and JOINS "
  • " ABAP RESTful Application Programming Model versus BOPF "
  • " ABAP Room 101 – The Worst Thing in the World "
  • " ABAP Security Concepts "
  • " ABAP SQL Versus CDS Views and AMDPs: What to Use? "
  • " ABAP Test Cockpit Administration "
  • " Advanced CDS Functionality for ABAP Development "
  • " An Introduction to ABAP Development Tools "
  • " The CASE Statement in ABAP "
  • " CDS Access Control Fundamentals for ABAP "
  • " Conditional Logic in ABAP "
  • " The DO 1 TIMES Statement in ABAP "
  • “ Exploring The ABAP Editor ”
  • " Exploring the Architecture of the ABAP RESTful Application Programming Model "
  • " How to Clean Your ABAP Code with One Keystroke Using ABAP Cleaner "
  • " How to Create an ABAP Object in VS Code "
  • " How to Create a Basic Interface CDS View with ABAP "
  • " How to Create Your First ABAP Program in SAP [13 Steps] "
  • " How Does Test-Driven Development Simplify ABAP Programming? "
  • " How to Evaluate Custom Code Usage Data Ahead of an SAP S/4HANA Migration "
  • " How to Install abapGit on an SAP System "
  • " How to Name a Virtual Data Model in SAP S/4HANA "
  • " How to Set Up an ABAP Cloud Development Environment "
  • " Implementing ABAP Server Session Security "
  • " Importance of Packages for Agile ABAP Development "
  • “ Installing SSL in SAP NetWeaver AS ABAP: Setting System Parameters ”
  • " Introducing the Concept of Antifragile ABAP "
  • " Metadata Extensions for CDS Views "
  • " SAP BTP, ABAP Environment: Development, Innovation, Operations "
  • " Taking the ABAP Pain Out of Upgrades "
  • " Transactional Object Models in CDS for ABAP "
  • “ Two-Track Method Development with AMDP and ABAP ”
  • " Unhandled Exceptions and Short Dumps in ABAP "
  • " Using XML in an ABAP Project "
  • " What Are ABAP Statements? "
  • "" What Are the Different SAP Development Tools? "
  • " What Is ALV? An Overview of ABAP List Viewer/SAP List Viewer "
  • " What Is Clean ABAP? "
  • " What Is Different with the New ABAP Debugger? "
  • " What to Know to Become an SAP Full Stack Developer "
  • " What Is Legacy Code and Why Is it Bad? "
  • “ What Is the ABAP RESTful Application Programming Model? ”
  • " What Is SFLIGHT and the Flight and Booking Data Model for ABAP? "
  • " Who Are ABAPers And What Do They Do? "
  • “ Working with the ABAP Prototype Design Pattern ”
  • " Your ABAP Questions, Answered by Paul Hardy "
  • ABAP: An Introduction
  • ABAP 7.5 Certification Guide
  • ABAP Development for SAP HANA
  • ABAP in the Cloud: Development and Operations with SAP BTP, ABAP Environment
  • ABAP Programming Model for SAP Fiori
  • ABAP RESTful Application Programming Model: The Comprehensive Guide
  • ABAP to the Future
  • Clean ABAP: A Style Guide for Developers
  • Complete ABAP
  • Core Data Services for ABAP
  • Designing Testable ABAP Classes and Packages
  • Design Patterns in ABAP Objects
  • Full Stack Development with SAP
  • Hands On with abapGit
  • JavaScript for ABAP Developers
  • Migrating Custom Code to SAP S/4HANA
  • Object-Oriented Programming with ABAP Objects
  • Parallel Processing with ABAP Objects: Implementation and Testing
  • Refactoring Legacy ABAP Code
  • SAP Cloud Platform, ABAP Environment: Application Development and Operation
  • Test Data Classes for ABAP
  • Test-Driven Development with ABAP Objects
  • ABAPs Journey to the Cloud
  • ABAP Q&A with Author and SAP Mentor Paul Hardy
  • ABAP and SAP S/4HANA
  • CDS Views Vs. CDS Entities
  • How to Analyze ABAP Short Dumps in an SAP S/4HANA System
  • How Do ABAP and SAP Fiori Relate?
  • Learn SAP Full Stack Development with These Books from Consultants and SAP Employees
  • Tips and Tricks for Better OO ABAP Design with Dr. Kerem Koseoglu
  • What Is abapGit?
  • What Is SAP ALV (ABAP List Viewer)?
  • What Is the Future of Function Modules?
  • What Is the Point of Automated Unit Testing?

SAP PRESS Learning Center

And t o continue learning even more about ABAP, sign up for our weekly blog recap here:

  • Legal Notes
  • Privacy Policy
  • Terms of Use
  • Change Privacy Options
  • SAP Learning Hub
  • SAP Full Form
  • SAP Working
  • History of SAP
  • SAP SuccessFactors
  • SAP Business Suite
  • SAP Business One
  • SAP Interview Corner
  • SAP Advanced Business Application Programming (ABAP)

What is SAP ABAP: A Brief Overview

  • SAP ABAP | Basic Syntax & Statements
  • SAP ABAP | Understanding Variables
  • SAP ABAP Keywords
  • SAP ABAP | Constants & Literals Explained
  • SAP ABAP | Data Types
  • Relational operators in SAP ABAP
  • Operators in SAP ABAP

Loop concept in SAP ABAP

  • SAP ABAP | Decision Control Statements
  • SAP ABAP | Loop Control
  • SAP ABAP | While Loop
  • SAP ABAP | Do Loop
  • Prime numbers from 1 to n in SAP ABAP
  • Nested Loop in SAP ABAP

OOPs concept in SAP ABAP

  • SAP ABAP | Object Orientation
  • Classes in SAP ABAP
  • SAP ABAP | Interfaces
  • SAP ABAP | Understanding Inheritance
  • Abstract Class Vs Interface in SAP ABAP
  • SAP ABAP | Polymorphism
  • Visibility Section in Classes | SAP ABAP

SAP ABAP Macros and Data Dictionary

  • SAP ABAP | Macros
  • Web Dynpro in SAP ABAP - Architechture, MVC Model and components
  • What is SAP ABAP Data Dictionary (DDIC)?
  • SAP ABAP: A complete Guide to Events in ABAP Report
  • SAP ABAP | Function Modules

SAP ABAP Report Programming

  • SAP ABAP | Report Programming

SAP ABAP Interview Questions

  • Top SAP ABAP Interview Questions for Freshers
  • Top SAP ABAP Interview Questions for Experienced
  • Is coding knowledge required to learn SAP ABAP?

Diffrences of SAP ABAP with Others

  • Diffrence Between SAP and SAP ABAP(Advanced Business Application Programming)
  • Difference Between SAP ERP and SAP ABAP

SAP ABAP (Advanced Business Application Programming) is a high-level programming language created by the German software company SAP SE. ABAP is primarily used for developing and customizing applications within the SAP ecosystem , which includes enterprise resource planning (ERP) systems and other business software solutions. C++ is used to implement the ABAP kernel. A procedural and object-oriented programming model are both supported by the hybrid programming language ABAP.

Table of Content

Purpose of SAP ABAP

Features of sap abap, development environment of sap abap, application types of sap abap, integration of sap abap, security in sap abap, performance of sap abap, versioning and maintenance in sap abap, extensibility in sap abap, architecture of sap abap, components used for communication in sap abap:.

ABAP is designed to work with SAP’s software suite, allowing developers to create custom reports, enhancements, and applications that integrate with SAP systems.

It is used for developing both transactional and analytical applications, enabling businesses to manage their processes, data, and operations effectively.

ABAP is a procedural and object-oriented programming language. It supports structured programming principles and object-oriented programming concepts.

ABAP provides powerful data manipulation capabilities, allowing you to work with database tables, internal tables, and data structures.

It offers extensive support for handling and processing large volumes of data and performing complex calculations.

ABAP provides a rich set of integrated development tools and a comprehensive debugging environment for developers.

ABAP developers typically use the SAP NetWeaver Application Server (AS ABAP) as the runtime environment and the SAP NetWeaver Development Workbench (SAP NetWeaver Studio) as the integrated development environment (IDE).

SAP provides a wide range of tools and technologies to support ABAP development, including the ABAP Development Tools (ABAP in Eclipse) and the SAP Web IDE for SAP HANA , among others.

ABAP is used to create various types of applications, such as custom reports, forms, workflow processes, enhancements to existing SAP functionality, and more.

Developers can also create web-based applications using technologies like Web Dynpro ABAP and SAPUI5.

ABAP applications seamlessly integrate with SAP systems and share data with other SAP modules. It can also connect to external systems using various communication methods, including web services, RFC (Remote Function Call) , and more.

SAP ABAP applications are known for their robust security features, and developers can implement role-based authorization and access controls to protect sensitive business data.

ABAP is optimized for high performance in SAP systems. Developers can use various techniques to optimize code and database access to ensure efficient processing.

ABAP programs are typically stored in the SAP system’s repository and can be versioned and transported between different SAP environments, such as development, testing, and production.

ABAP supports extensibility through enhancements and modifications, allowing developers to customize standard SAP applications to meet specific business requirements without modifying the original source code.

Applications written in SAP ABAP can be developed using the Application Server ABAP (AS ABAP) . The ABAP Workbench, an integrated change and transport system ( CTS) , and the ABAP Runtime Environment (a virtual machine for ABAP programs) are all provided for this. These application servers run ABAP programs and use the message server to exchange messages with each other as well as with the database and presentation components.

3 Tier Server Architecture (R/3 Architecture) of SAP ABAP:

It is known as R/3 Architecture, based on a client-server model. The majority of SAP ABAP’s components can be split down into three layers:

SAP--3-Tier-Server-Architecture

SAP ABAP Architecture

  • Presentation Layer: The presentation layer offers two mechanisms: Input, which lets users communicate with the system, and output, which lets the system show the results of human engagement. A graphical user interface is the SAP GUI. The SAP GUI is installed on individual machines that act as the presentation layer.
  • Application Layer : It communicates by taking inputs from the Presentation layer manipulates the data according to business needs and takes data from the database layer then sends it back to Presentation Layer. It is the environment where all Business logic is written in the ABAP code environment.
  • Database Layer : The data are stored in the database layer. Every relational database is supported by SAP. No database is provided by SAP. But it works with all RDBMS. One system or computer must have the database layer installed. Oracle and DB2 are the two main databases utilized in SAP deployments.
  • RFC (Remote Function Call ) : – The preferred SAP interface for transferring data between SAP systems is RFC. A function in a distant system is called an RFC.There are now numerous distinct RFC variations available, each of which has unique characteristics and serves a particular function. It is communicable over synchronous or asynchronous channels.
  • ICM(Internet Communication Manager) – Within a SAP Web Application Server, Internet communication is handled by the ICMan process. It explains how a TCP/IP request is forwarded to a J2EE engine or an ABAP context with a standard protocol on top (like HTTP/S).
  • Programming Models : OOPS Concept – By Using Oops Concept via creating object can be acieveable by making local Class or GLobal , Interfaces also can be implemented. Procedural way – In this Modular Programming came in concept using Subroutines and Function Moduels.
  • For Dynamic storage on runtime, we have internal tables, structures, work areas, etc.
  • The proper way of storing objects in a particular repository like Transport Request
  • Can Generate PDF or XML documents via Forms, and scripts.
  • Can access different integrated work environments through RFC..
  • Multilingual Capability : The main advantage of ABAP, it can have an Output in Various languages, but for the desired Output those languages need to be available in the system. The Reort we can make in a Fixed language, for the Different Businees scenario we can translate all the text of the Program .

Please Login to comment...

Similar reads.

  • Geeks Premier League

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

SAP

  • SAP Tutorial
  • SAP - Evolution of SAP
  • SAP - Introduction To ERP
  • SAP - Modules

SAP - Architecture

  • SAP - GUI Installation
  • SAP - Net Weaver
  • SAP - Logging onto SAP System
  • SAP - GUI Customization
  • SAP - End-User Customization
  • SAP - GUI Navigation
  • SAP - Programming Language (ABAP)
  • SAP - SAP Security
  • SAP - SAP Basis
  • SAP - Transaction Codes
  • SAP - Project Lifecycle
  • SAP - Career In SAP
  • SAP Useful Resources
  • SAP - Quick Guide
  • SAP - Useful Resources
  • SAP - Discussion
  • Selected Reading
  • UPSC IAS Exams Notes
  • Developer's Best Practices
  • Questions and Answers
  • Effective Resume Writing
  • HR Interview Questions
  • Computer Glossary

SAP : Three-Tier Architecture

With SAP R/3, SAP ushers in a new generation of enterprise software — from mainframe computing (client-server architecture) to the three-tier architecture of database, application, and user interface.

Three Tier Architecture

Three-Tier Architecture of SAP R/3

Presentation Servers

Presentation servers contain systems capable of providing a graphical interface.

  • Presentation Layer is also known as client Layer
  • Presentation Layer is a user interaction
  • In SAP-User interaction purpose we use GUI
  • GUI stands for Graphical user interface
  • Example − Desktop, Mobile Devices, laptops

Presentation Server

Application Servers

Application servers include specialized systems with multiple CPUs and a vast amount of RAM.

Application Layer is also known as Kernel Layer and Basic Layer.

SAP application programs are executed in Application Layer.

Application Layer serves as a purpose of a communicator between Presentation and Database Layer.

Application server is where the dispatcher distributes the work load to the different work processes makes the job done.

Application servers

Database Servers

Database servers contain specialized systems with fast and large hard-drives.

  • Database layer stores the data
  • Data store can be Business data, SAP system data, SAP tables, Programs.
  • Examples − Oracle, Microsoft SQL Server, IBM DB/2, Siebel, Sybase, etc.

Database Servers

Three-Tier Architecture

What is a Client?

A client is a logical portion of an SAP R/3 physical database. From a business standpoint, a client can be interpreted as a logical group of companies.

Client

Points to Remember −

All customizing (configuration) and development (ABAP) work in SAP R/3 is performed in a client.

However, the data from both customizing and development work may be stored within an individual client (client dependent data) or among all clients (client independent data) in the system.

Client-Dependent vs. Client-Independent

The data in each client may be separate from that of the other clients. There are basically two types of data in an SAP R/3 system − Client-dependent and Client-independent data.

Client-dependent data is defined as data specific to an individual client. Examples of client-dependent data include number ranges, ABAP variants, and user masters as well as the data that is created or updated through SAP R/3 transactions.

Client-independent data can be defined as data contained across all clients in the system. Examples of client-independent data include data dictionary objects (tables, views), ABAP source code, screens, and menus.

Clients

Data resides in tables. To determine if a particular table is client-dependent or client-independent, the table structure needs to be reviewed. The table structure can be viewed by the data dictionary (SE11). If MANDT (client in German) is the first key field of the table, then the table is client-dependent; otherwise, the table is client-independent.

For example, the TSTC table is client-independent; however, the USR01 table is client-dependent.

SAP R/3 Delivered Clients

Every SAP R/3 system contains the three clients 000, 001, and 066. Let’s review these clients and examine what they contain.

These clients provide different features and must not be deleted.

Client 000 performs special functions. In particular, it is given extended functionality during upgrades.

Client 001 is basically a copy of 000 and can be used as a basis for a new customizing client.

Client 066 is a special client which is provided for operational system monitoring. It is used by SAP R/3’s Early Watch Service to provide performance recommendations.

Delivered Clients

In releases prior to 3.0, client 000 contained a model company. As of Release 4.0 clients, 000 and 001 are identical. Client 000 no longer contains a model company. Either client can be used as the basis for configuration through a client copy. Typically, most projects start with a copy of client 000 to begin building configuration. Customer work should never take place in the three delivered clients.

To Continue Learning Please Login

what is presentation layer in sap abap

Understanding the Key Components of the SAP Architecture

Home > Insights > Understanding the Key Components of the SAP Architecture

SAP has established itself as a leading provider of enterprise software solutions, empowering organizations to streamline processes, enhance productivity, and gain invaluable insights for strategic decision-making. And, the three-tier architecture of the SAP system provides a stronger foundation for data management and communication across teams and a more intuitive space for users to complete tasks.

This article will discuss all the components and capabilities of SAP system architecture and where our team of SAP consultants can come in to help manage work processes and optimize your overall investment.

Read on to learn more!

What is SAP Architecture?

SAP Architecture refers to the set of principles, trends, patterns, and best practices that comprise and outline the internal architecture of a company’s SAP landscape. And, as a Software-as-a-Service solution, SAP runs in the cloud and makes it easier for users to access their company’s database system.

With a well-defined SAP Architecture, companies can build a more reliable foundation for their core server processes and leverage an intuitive graphical user interface (GUI) to run and manage more efficient business processes across the entire organization.

Core SAP System Strategy

  • SAP Business Suite: Includes comprehensive SAP ERP system and CRM, SCM, SRM, and PLM applications, offers a complete functional set of undefined processes, and is deployed on-premise
  • SAP Business by Design: Includes a functional set of predefined processes and is hosted on defined client-server architecture
  • SAP All-in-One: Includes the same software as the SAP Business Suite, offers predefined standard processes, and is deployed in on-premise architecture
  • SAP Business One: Includes different software that offers only the most basic functions, targets small businesses, and is deployed in a hosted environment

How Does the SAP Process Work?

The SAP Logon process is the first step of the SAP authorization process, which involves entering the assigned SAP identification number, providing a password, and confirming access through a personalized confirmation message.

Once a user receives a confirmation message, they can access the main menu in their SAP system and navigate through different business-critical activities, like performing transactions or signing contracts.

These activities can be divided into two different categories that determine their level of priority:

  • Critical work process: High-priority processes that need to be executed immediately and can be assigned to specific users depending on user requests and availability.
  • Reading work process: A work process that involves “reading” the data, or retrieving data from the database to get a response when there is no data in the buffer.
  • Kill work process: A work process that involves removing existing data in the buffer to increase the performance of the technical architecture.

What is 3 Tier Architecture in SAP?

SAP Architecture consists of three separate layers that operate on their own:

1) Presentation Layer

The presentation layer is responsible for providing the graphical interface for users and configuring the system to ensure users can access the data they need to complete tasks and promote a stronger user experience. With this layer, users enter data on the screen, and the system will process and show the data to the user, facilitating more efficient data exchange processes across their SAP landscape.

This layer does not have any knowledge of the underlying data stores in the database layer and exists to help users easily access data from SAP systems and external systems.

2) Application Layer

The application layer is responsible for receiving and parsing other user’s data before it can be used across any part of the organization, providing data in the correct format to the right SAP application, and ensuring the data is secure before sending it to the next layer of the architecture.

This layer of the architecture is a critical component, simplifying the creation and management of work processes across the entire SAP environment. It enables users to create and leverage their own work processes, automatically generate records for the process, and ensure they have access to the data they need within their specific area of the database or SAP architecture as a whole.

3) Database Layer

The database layer is responsible for managing and storing all the data across a company’s SAP environment, making it easier for users to keep business rules, processes, and data in the same place for improved process efficiency across teams. This layer exists between the application server layer and the presentation layer.

With this layer, users are able to build a more solid foundation for their data management processes and facilitate more efficient data storage and processing functions across the SAP landscape.

Understanding the Design of SAP NetWeaver Application Server

The SAP NetWeaver Application Server acts as the central foundation for the entire SAP software stack, providing robust technical components and fully supported applications. Let’s take a closer look at the core components of the SAP NetWeaver architecture:

The Application Server Java (AS JAVA) provides a Java EE 1.6-compliant environment that allows users to develop, deploy, and run Java EE programs more efficiently across teams. The Java runtime environment is designed and optimized to run business-critical applications, including the simplification of server process infrastructure and central cache and session management. The AS Java architecture is comprised of:

  • A S Java Cluster Architecture: Involves the building units of each application server, including all the components that allow user requests to be processed accurately and efficiently.
  • SAP JVM: Involves the implementation of the Java Virtual Machine, the runtime platform of AS Java.
  • AS Java System Architecture: Involves the logical layers of the AS Java system components and the relationships between them.
  • Zero Administration: Involves a dynamic configuration environment that simplifies technical configuration tasks within AS Java.

The Application Server ABAP (AS ABAP) provides the technology configurations and infrastructure needed to run ABAP applications. It includes the message server that represents the application layer of SAP’s multi-tier architecture, making it easier to execute ABAP applications and communicate with other components across the landscape. AS ABAP is made up of a few core components, including:

  • Work processes: Facilitates the execution of ABAP work processes and applications and links each application to a memory area that contains the context of each one.
  • Gateway: Acts as the interface for communication protocols of the SAP NetWeaver AS ABAP system and initiates communication between other ABAP application servers, SAP systems, and non-SAP systems.
  • Dispatcher queue: Provides a link between work processes and the users logged in to the ABAP application server, receives requests for dialog steps from SAP GUI, and directs screen output to the appropriate users.
  • Shared memory: Offers a common main memory area to save concepts for work processes or buffer data in the local environment.

SAP NetWeaver can act as both a web server and a web client, making it easier for customers to send, manage, and process HTTP requests across their entire SAP landscape.

As a web server, SAP NetWeaver can accept HTTP requests from any web client, process each request, and send a response to the client. As a web client, it allows users to create HTTP requests in an application program, send requests to a web server, and send responses to clients to proceed as advised.

How Can We Help?

From helping customers begin their journey with SAP for the first time to handling complex integrations between SAP and non-SAP systems, facilitating the installation of Java components through the SAP Software Deployment Manager, navigating central services to manage locks and messages, or anything else SAP-related, Surety Systems is here to help.

Our team of senior-level, US-based SAP consultants has the skills and experience needed to handle all your SAP project needs, regardless of how complex your organizational structure is or where the state of your SAP HANA architecture lies.

Getting Started with Us

Interested in learning more about SAP Architecture or where our team of expert SAP consultants can fit in your organization?

Contact us today for more information!

Already know exactly what you need?

  • Company Name *
  • Technology * Technology Healthcare Interoperability JD Edwards UKG/Kronos/Ultipro Infor/Lawson Salesforce SAP Workday Epic Oracle Cloud ERP Other
  • What's your situation? * What's your situation? We have a high-priority project Our team needs an expert boost Our team is a man down We're ready to team up with a new consulting firm Our project is behind schedule We need an unbiased audit Something Else

You May Also Be Interested In...

The History of SAP GRC: Paving the Way for Advanced Data Security

The History of SAP GRC: Paving the Way for Advanced Data Security

The modern enterprise landscape, complete with ever-increasing security threats, bad actors, and data complexities, requires advanced access control and risk management functionality. One of our...

Your Guide to Maintaining SAP Material Master Data and Records

Your Guide to Maintaining SAP Material Master Data and Records

In the modern SAP landscape, where precision and efficiency govern the intricacies of critical business operations, the material master data and records assume an increasingly...

SAP MaxDB: Navigating Data Management in SAP Operating Systems

SAP MaxDB: Navigating Data Management in SAP Operating Systems

In the dynamic realm of enterprise database management, SAP MaxDB emerges as a robust and versatile solution, playing a pivotal role in supporting the data...

what is presentation layer in sap abap

Fill out the form below and let’s get started!

  • Name * First Last
  • Anything else we should know?

Not sure how to get started with your project?

We’ve got you covered.

Understanding Different Layers of ABAP Application Server Layers

Developed by SAP®, Advanced Business Application Programming (ABAP) is a programming language built for developing applications used on SAP® R/3 system, and executing within the SAP Web Application Server – at application layer. Also, it is used for customization and implementation of SAP® R/3 system.

ABAP encompasses Logical Databases (LDBs) which differentiates database, operating system and applications. ABAP is also used for boosting SAP applications and allows customers to prepare customized reports and interfaces.

Working on ABAP Application Server

The Application Server ABAP offers run time environment; integrated change and transport system (CTS), and Workbench for creating applications in ABAP. It uses a couple of protocols for SAP GUI that are Remote Function Call (RFC) protocol and HTTP/HTTPS/SMTP for Internet. Thus software can be used with web browsers or SAP GUI or some software via. Network.

Components of Application Server ABAP

The main components of Application Server ABAP are divided into different layers. They are:

Presentation Layer: As the name suggests, this layer receives and presents data to the users. This layer comes into play when web browsers act as a user interface to invoke application programs and Internet Connection Framework (ICF) interface to wrap the HTML pages. Web Dynpro ABAP (platform-independent web-based interfaces) and Business Server Pages (BSP, HTML pages) control web browser presentation. In case of MS Windows, Java and Web Browsers (SA GUI), display of user interface happens in windows using Web DynPro technology. Web DynPro, developed by SAP SE, is a web application technology (proprietary) used for server-side business applications development.

Application Layer: This layer serves as a platform for executing application programs. With its kernel made in C/C++, it uses ABAP Objects, ST, JavaScript, and XSLT to provide virtual machines.

Persistence Layer: Persistent data is present in database. Using ABAP programs which employ database interface, containing Native SQL (database-based SQL instructions) interface and Open SQL (part of the Structured Query Language -SQL) interface, database can be accessed.

SAP® ABAP online training

ABAP Programming to manage SQL database and create applications involves both relational database design and object-oriented programming. Hence for professionals who want to enhance their knowledge or get a deep insight about SAP® ABAP programming , considering ABAP online training program from a recognized organization would be a better option. With expert trainers; best study materials, and 24x 7 access to the portal, learning will become easy and ensure 360 degree learning for better understanding of the tool.

what is presentation layer in sap abap

Related Posts

SAP S/4HANA EWM

Your email address will not be published. Required fields are marked *

Email Address: *

Notice: It seems you have Javascript disabled in your Browser. In order to submit a comment to this post, please write this code along with your comment: 1b0b0c8d47cb8864c48bd7f89955dc16

  • All Courses
  • Practice Tests
  • Video Library

Online Tutorials & Training Materials | STechies.com

  • What is SAP ABAP?
  • SAP ABAP Training Tutorials for Beginners
  • ABAP Data Types and Objects
  • SAP ABAP System Variables
  • ABAP Internal Tables
  • ABAP Table Control
  • ABAP Date & Time
  • ABAP Data Dictionary
  • ABAP Views Types
  • SSCR Key in SAP ABAP
  • ABAP Script Commands
  • ABAP Menu & Screen Painter
  • ABAP Search Help
  • ABAP Lock Object
  • ABAP Function Modules
  • ABAP Classes
  • SAP ABAP Performance Tuning
  • ABAP Smartforms
  • ABAP WEB DYNPRO
  • ABAP SAPScript
  • ABAP User Exits, Customer Exits and BADI
  • SAP ABAP PBO and PAI
  • ABAP Core Data Service
  • ABAP Native vs. Open SQL
  • SAP ABAP Interview Questions
  • SAP ABAP Certification Cost

File Handling - Presentation and Application Server

Updated May 18, 2018

File Transfer

  • The runtime environment, implemented on the application server, executes the ABAP programs. ABAP supports file transfer on the application server and on the front-end computers.
  • The processing of the sequential files on the application server is supported by using ABAP language elements.
  • You process sequential files with the ABAP commands OPEN DATASET, READ DATASET (read records), TRANSFER (write records), and CLOSE DATASET.
  • The file interface on the presentation server is implemented by function modules.
  • Before data records can be written to a sequential file or read from a file, the file has to be opened.
  • After processing the file is closed again.
  • The data is transferred from the application server to the database server with batch input (BI), Call Transaction (CT) or Direct Input (DI).

what is presentation layer in sap abap

Some of the Commonly Used File-types

  • Tab delimited
  • Comma separated
  • Fixed length etc.

Presentation Server File Handling

Upload and Download

what is presentation layer in sap abap

  • Using the function module DOWNLOAD you can transfer the contents of an internal table to a local file.
  • Using the function module UPLOAD you can transfer the contents from a local sequential file into an internal table.
  • Enter the whole file path and name of the local file (e.G. '/tmp/myfile' for a Unix file and e.G. 'C: MYFILE.TXT' for a PC file).
  • The presentation server must know the directory.
  • Customers can choose an appropriate file name.
  • The system asks you for the file name and file type.
  • The data is then converted into the appropriate file type.

Read here How to read an Excel file from presentation server?

Important Function Groups:

  • SFES (Frontend Services)
  • GRAP (Calling Up Graphics / File transfer)

Reading Data From Presentation Server

what is presentation layer in sap abap

  • For the function module UPLOAD you need an internal table for the data transfer. You can define this table to fit your data structure at the start of the program.
  • If you want, you can specify default values for the file name and file type and enter a title for the file dialog.
  • If the function module UPLOAD stores a file under DOS, the export parameter CODEPAGE must be set to 'IBM‘. The parameter has no other meaning.

IMPORT PARAMETERS

  • CODEPAGE DEFAULT SPACE
  • FILENAME LIKE RLGRAP-FILENAME DEFAULT SPACE
  • FILETYPE LIKE RLGRAP-FILETYPE DEFAULT 'ASC'
  • HEADLEN DEFAULT SPACE
  • LINE_EXIT DEFAULT SPACE
  • TRUNCLEN DEFAULT SPACE
  • USER_FORM DEFAULT SPACE
  • USER_PROG DEFAULT SPACE
  • DAT_D_FORMAT TYPE DATEFORMAT DEFAULT SPACE

EXPORT PARAMETERS

  • DATA_TAB (Mandatory)
  • CONVERSION_ERROR
  • FILE_OPEN_ERROR
  • FILE_READ_ERROR
  • INVALID_TYPE
  • UNKNOWN_ERROR
  • INVALID_TABLE_WIDTH
  • GUI_REFUSE_FILETRANSFER
  • CUSTOMER_ERROR

Writing Data to Presentation Server

what is presentation layer in sap abap

  • For the function module DOWNLOAD you need an internal table for the data transfer. You can define this table to fit your data structure and then fill it with your data.
  • With the parameter MODE you can decide which write mode is used ('A' for extend file, ' ' for create new file).
  • The IMPORT parameters specify the actual values entered by the user for the file name and file type and also the number of bytes transferred.
  • If the function module DOWNLOAD stores a file under DOS, the export parameter CODEPAGE must be set to 'IBM‘. The parameter has no other meaning.
  • All EXPORTING parameters are optional.
  • If a binary file is to be created, the file length must be specified. In this case the transfer table must consist of one column of type X (hexadecimal numbers).

WS_DOWNLOAD

  • BIN_FILESIZE DEFAULT SPACE
  • MODE DEFAULT SPACE
  • WK1_N_FORMAT DEFAULT SPACE
  • WK1_N_SIZE DEFAULT SPACE
  • WK1_T_FORMAT DEFAULT SPACE
  • WK1_T_SIZE DEFAULT SPACE
  • COL_SELECT DEFAULT SPACE
  • COL_SELECTMASK DEFAULT SPACE
  • NO_AUTH_CHECK TYPE C DEFAULT SPACE
  • FIELDNAMES OPTIONAL
  • FILE_WRITE_ERROR
  • INVALID_FILESIZE

Exercise – Presentation Server

  • Sales document (VBAP-VBELN)
  • Sales document item (VBAP-POSNR)
  • Material number (VBAP-MATNR)
  • Material group (VBAP-MATKL)
  • Sales order item description (VBAP-ARKTX)
  • Upload the data from the file to an internal table using F4 help and display in the report.
  • Tab delimited (‘DOWNLOAD.Txt’)
  • Excel file (‘DOWNLOAD.XLS’)

Read here Presentation and Application Servers in SAP

Application Server File Handling

Read / Write File

what is presentation layer in sap abap

  • A file processing program must define the required structures for the data records using a TABLES or DATA statement. These structures are used as program-internal work areas for the data records.
  • The OPEN statement is used to begin file processing and open the source and target sequential files for reading or writing.
  • Reading: The READ DATASET statement is used to read the records from the source file into the data structures for later processing in the program.
  • Writing: TRANSFER statements are used to transfer the filled structures to the target file.
  • The CLOSE DATASET statement is used to end file processing and close the sequential files.
  • You can explicitly open a file using the command OPEN DATASET .
  • If the file can be opened, SY-SUBRC is set to 0, otherwise it is set to 8. Any errors are ignored.
  • We recommend, for reasons of clarity, that you open the file explicitly. Using the OPEN DATASET statement allows you to test whether an error has occurred when you open the file (SY-SUBRC = 8). If you do not explicitly open the file, a READ DATASET or TRANSFER command will attempt to open the file using the default mode. In this case, if an open error occurs, you cannot trap the error and the program will terminate processing.

Open Dataset

Basic form 1

OPEN DATASET dsn.

  • ... FOR INPUT
  • ... FOR OUTPUT
  • ... FOR APPENDING
  • ... IN BINARY MODE
  • ... IN TEXT MODE
  • ... AT POSITION p
  • ... TYPE ctrl
  • ... MESSAGE mess
  • ... FILTER f

Transfer Data

  • The TRANSFER command is used to write a data record into a sequential file.
  • A field or structure would be filled wit data before each TRANSFER command.
  • can be a field or a structure.
  • The execution of the TRANSFER command depends on the mode: -
  • - Binary mode: Appends the length of the field or the structure to the file - Text mode: Writes a new record to the file
  • If the specified file is not opened, TRANSFER attempts to open the file FOR OUTPUT (IN BINARY MODE or with the further specifications of the last OPEN command for this file). If this does not work, a runtime error results.
  • Any errors will result in the program terminating.
  • The additional parameter LENGTH permits an explicit length specification in bytes. In this case the exact number of characters specified in are transferred. If the structure is shorter, it is padded (in text mode with blank characters and in binary mode with hexadecimal zeros). If the structure is longer, it is truncated.

TRANSFER f TO dsn.

  • ... LENGTH len

DATA w_rec(80).

TRANSFER w_rec TO '/scma/test.dat'.

  • With READ DATASET you can read a record from a sequential file into a field or structure.
  • Possible structures are field strings or table work areas.
  • The execution of the READ DATASET command depends on the mode: -
  • - Binary mode: Reads the structure length

- Text mode: Reads one record of data

  • If the specified file is not opened, READ DATASET attempts to open the file (IN BINARY MODE FOR INPUT) or with the additions of the last OPEN DATASET command for this file).
  • If the file end has been reached, SY-SUBRC is set to 4, otherwise it is set to 0. If the file cannot be opened, SY-SUBRC is set to 8. Any errors will result in the program terminating.
  • READ DATASET, like TRANSFER, does not execute any implicit conversions. The data is imported as it has been written.
  • The READ DATASET command together with the additional parameter LENGTH returns the length of the imported file record into the field <len>.

Read Dataset

READ DATASET dsn INTO f.

  • ...LENGTH len

DATA: w_dsn(20) VALUE '/scma/test.dat',

OPEN DATASET w_dsn.

IF sy-subrc = 0.

READ DATASET w_dsn INTO w_rec.

IF sy-subrc <> 0.

WRITE / w_ rec.

CLOSE DATASET w_dsn.

Close / Delete File

  • The command CLOSE DATASET closes a sequential file. Errors are ignored the same as with OPEN DATASET.
  • Within a program when the screen is changed all open files are shut and opened again with their old status when processing is started again.
  • All files are closed when the program is exited.
  • We recommend, for reasons of clarity, that you open and close the file directly. OPEN DATASET has also the advantage that if an error does occur when you open the file (SY-SUBRC = 8), it will not result in a termination.
  • A file is not implicitly closed, if READ DATASET reaches the end of the file.
  • With the command DELETE DATASET you can physically delete a sequential file. The file will then not longer exist in the operating system. Once it has been deleted, SY-SUBRC is set to 0.
  • The current file status can be displayed in debugging.

Delete Dataset

DELETE DATASET w_dsn.

Important Commands

  • OPEN DATASET

- for Input, Output

  • READ DATASET

- for Input

- Create file

  • DELETE DATASET

- Delete file

Exercise – Application Server

  • Sales document Item (VBAP-POSNR)
  • Where Sales document lies between 10 and 100.
  • Read the data from the created file and display a report.

The File Monitor AL11

what is presentation layer in sap abap

Logical File Name

what is presentation layer in sap abap

  • A common use of logical file names is when archiving of R/3 application data using the transaction "SARA". However, logical file names can also be useful for external data transfer programs.
  • Using the platform-independent, logical file name you can specify the file name and menu path under which files are to be created. According to the operating system used, the physical paths and file names specified in Customizing (transaction "FILE") are used.
  • The portability of programs can be implemented using a function module (FILE_GET_NAME).
  • You can create logical paths and files using the Customizing transaction "FILE".
  • Platform-specific physical path must contain the reserved word as the placeholder for the file name. It may also contain other reserved words - see the documentation (F1 help).

KD_GET_FILENAME_ON_F4

  • PROGRAM_NAME LIKE SY-REPID DEFAULT SYST-REPID
  • DYNPRO_NUMBER LIKE SY-DYNNR DEFAULT SYST-DYNNR
  • FIELD_NAME DEFAULT SPACE
  • STATIC DEFAULT SPACE
  • MASK TYPE C DEFAULT SPACE

CHANGING PARAMETERS:

  • FILE_NAME LIKE RLGRAP-FILENAME
  • MASK_TOO_LONG

Read more ABAP Interview Questions and Answer

You must be Logged in to download this file

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

@SAP-samples

SAP Samples

  • 1.9k followers
  • Walldorf, Germany
  • https://developers.sap.com/
  • X @SAPCommunity
  • developers@sap.com

We've verified that the organization SAP-samples controls the domains:

  • developers.sap.com

Popular repositories

Explore ABAP syntax in a nutshell supported by executable demo examples.

ABAP 696 198

This project contains sample applications for SAP Cloud Application Programming Model.

JavaScript 441 479

Samples for the openSAP course "Building Apps with the ABAP RESTful Application Programming model (RAP)."

Simulate a federated setting and run differentially private federated learning.

Python 345 90

This repository offers optional hands-on exercises for the free openSAP course "Developing and Extending SAP Fiori Elements Apps."

ABAP 236 141

The home of Devtoberfest 2021 - an open celebration of what makes us developers - coding and collaboration!

JavaScript 218 155

Repositories

This repo aims to help developers to get into the genAI topic quicker by automating AI Core and HANA Vector Engine provisioning and configuration with Terraform Provider for SAP BTP.

An extension to SAP S/4HANA product availability service, using SAP Business Application Studio, SAP Cloud Application Programming (CAP), and SAP Integration Suite.

Best practices and examples to use the Terraform provider for SAP BTP.

Contains the metadata of SAP BTP services - in a machine-readable format - available in an SAP BTP pay-as-you-go account.

Sample code to reproduce the research on "Deep Learning-Based Code Vulnerability Detection: A New Perspective" at SAP Security Research. The repository implements an GNN evaluation pipeline as well as pretraining schedules.

Using SAP Cloud Application Programming Model and SAP Fiori elements to build a simple travel management app, both with Node.js and Java.

Explore how to create a low code capital expenditures application using this sample.

Explore how you can build an e-commerce application with low code tooling using this sample project.

This repository provides code samples and examples how to use the SAP Cloud SDK for JavaScript/TypeScript. The SAP Cloud SDK makes developing applications on the SAP Business Technology Platform easy.

@valentinvieriu

Top languages

Most used topics.

COMMENTS

  1. Presentation layer

    ABAP Keyword Documentation → ABAP Glossary →. Presentation layer. A software layer of the AS ABAP that functions as the user interface of the system. The presentation layer is usually distributed across several presentation servers. The presentation layer analyzes user actions and transfers these to the application layer .

  2. Sap R/3 Architecture Tutorial

    The Presentation Layer contains the software components that make up the SAPgui (graphical user interface). This layer is the interface between the R/3 System and its users. ... Gateway: It enables communication between SAP system and between SAP system and external systems. ABAP-Work processes: - It separately executes dialog steps in R/3 ...

  3. SAP Architecture

    To better grasp the SAP architecture, let's look at these three elements in more detail. The SAP System Architecture consists of the Presentation, Application, and Database layers. 1. Presentation Layer. The presentation layer is responsible for the user experience and for making sure that the SAP system is responsive and easy to interact with.

  4. SAP R/3 Architecture

    Definition of SAP R/3 Architecture. SAP R/3 architecture is a multi-tiered structure that comprises three main layers: the Presentation Layer, the Application Layer, and the Database Layer. This architectural model enables organizations to integrate and streamline their business processes and data management effectively. with SAP R/3, we are moving our resources from mainframe computing to the ...

  5. SAP ABAP R/3 Architecture

    The SAP R/3 architecture is basically divided into three layers and those are - Presentation layer; Application layer; Database layer; Presentation layer - Presentation layer is an interface between the R/3 system and its end-users. Presentation layer is a distributed to the workstations of end users.

  6. SAP Advanced Business Application Programming (ABAP)

    It has 3 Layers:-Presentation Layer: - The presentation layer offers two mechanisms: Input, which lets users communicate with the system, and output, which lets the system show the results of human engagement. A graphical user interface is the SAP GUI. The SAP GUI is installed on individual machines that act as the presentation layer.

  7. What is ABAP? A Guide to SAP's Coding Language

    SAP GUI (SAP Graphical User Interface): The interface in the presentation layer of applications built with ABAP code that run on the desktop as opposed to in a browser. SAP NetWeaver AS ABAP : Part of a client server which allows for creating ABAP programs and consists of at least three layers, including the presentation, application, and ...

  8. presentation layer (BC-CST) (SAP Library

    Software level of an AS ABAP that displays the user interface. The presentation layer is usually distributed across many presentation servers. The presentation layer evaluates user actions and passes them on to the application layer. The presentation layer is, for example, the SAPGUI, Web browser or a mobile frontend.

  9. What is SAP ABAP: A Brief Overview

    Presentation Layer: The presentation layer offers two mechanisms: Input, which lets users communicate with the system, and output, which lets the system show the results of human engagement. A graphical user interface is the SAP GUI. The SAP GUI is installed on individual machines that act as the presentation layer.

  10. SAP

    Three-Tier Architecture of SAP R/3. Presentation Servers. Presentation servers contain systems capable of providing a graphical interface. Presentation Layer is also known as client Layer; Presentation Layer is a user interaction ... (ABAP) work in SAP R/3 is performed in a client. However, the data from both customizing and development work ...

  11. Understanding the Key Components of the SAP Architecture

    The presentation layer is responsible for providing the graphical interface for users and configuring the system to ensure users can access the data they need to complete tasks and promote a stronger user experience. ... the interface for communication protocols of the SAP NetWeaver AS ABAP system and initiates communication between other ABAP ...

  12. Understanding Different Layers of ABAP Application Server Layers

    Thus software can be used with web browsers or SAP GUI or some software via. Network. Components of Application Server ABAP. The main components of Application Server ABAP are divided into different layers. They are: Presentation Layer: As the name suggests, this layer receives and presents data to the users.

  13. File Handling

    Enter the whole file path and name of the local file (e.G. '/tmp/myfile' for a Unix file and e.G. 'C: MYFILE.TXT' for a PC file). The presentation server must know the directory. Customers can choose an appropriate file name. The system asks you for the file name and file type. The data is then converted into the appropriate file type.

  14. Presentation Server in SAP

    Definitions by Module. Single site server of the user of an AS ABAP, on which the presentation layer is realized either through the installation of a SAP GUI or through a Web browser. Presentation Server in SAP - Everything you need to know about Presentation Server; definition, explanation, tcodes, tables, wiki, relevant SAP documents, PDFs ...

  15. SAP Samples · GitHub

    Samples illustrate software features and capabilities and provide other helpful resources to show how an SAP solution may be extended to meet customer needs. - SAP Samples ... This repository offers optional hands-on exercises for the free openSAP course "Developing and Extending SAP Fiori Elements Apps." ABAP 235 140 ...

  16. application layer in SAP

    Definitions by Module. Technical layer of the Portal Server that contains all the semantics of the portal, that is, parts of the portal content directory, content management features, user data, and personalization data. application layer in SAP - Everything you need to know about application layer; definition, explanation, tcodes, tables, wiki ...