Showing posts with label ABAP Programming. Show all posts
Showing posts with label ABAP Programming. Show all posts

Wednesday, June 17, 2009

Position of the Basis System Within the R/3 System

The following sections describe three different views of the R/3 System, which show the role of the Basis system.

Logical View

The following illustration represents a logical view of the R/3 System.

This graphic is explained in the accompanying text

The difference between the logical view and a hardware- or software-based view is that not all of the above components can be assigned to a particular hardware or software unit. The above diagram shows how the R/3 Basis system forms a central platform within the R/3 System. Below are listed the tasks of the three logical components of the R/3 Basis system.

Kernel and Basis Services

The kernel and basis services component is a runtime environment for all R/3 applications that is hardware-, operating system- and database-specific. The runtime environment is written principally in C and C++. However, some parts are also written in ABAP. The tasks of the kernel and basis services component are as follows:

  • Running applications
    All R/3 applications run on software processors (virtual machines) within this component.
  • User and process administration
    An R/3 System is a multi-user environment, and each user can run several independent applications. In short, this component is responsible for the tasks that usually belong to an operating system. Users log onto the R/3 System and run applications within it. In this way, they do not come into contact with the actual operating system of the host. The R/3 System is the only user of the host operating system.
  • Database access
    Each R/3 System is linked to a database system, consisting of a database management system (DBMS) and the database itself. The applications do not communicate directly with the database. Instead, they use Basis services.
  • Communication
    R/3 applications can communicate with other R/3 Systems and with non-SAP systems. It is also possible to access R/3 applications from external systems using a BAPI interface. The services required for communication are all part of the kernel and basis services component.
  • System Monitoring and Administration
    The component contains programs that allow you to monitor and control the R/3 System while it is running, and to change its runtime parameters.

ABAP Workbench

The ABAP Workbench component is a fully-fledged development environment for applications in the ABAP language. With it, you can create, edit, test, and organize application developments. It is fully integrated in the R/3 Basis system and, like other R/3 applications, is itself written in ABAP.

Presentation Components

The presentation components are responsible for the interaction between the R/3 System and the user, and for desktop component integration (such as word processing and spreadsheets).

Software-oriented View

The following illustration represents a software-oriented view of the R/3 System. The software-oriented view describes the various software components that make up the R/3 System. In the software-oriented view, all of the SAPgui components and application servers in the R/3 System make up the R/3 Basis system.

This graphic is explained in the accompanying text

The R/3 Basis system is a multi-tier client/server system. The individual software components are arranged in tiers and function, depending on their position, as a client for the components below them or a server for the components above them. The classic configuration of an R/3 System contains the following software layers:

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 databse itself. SAP does not manufacture its own database. Instead, the R/3 System supports the following database systems from other suppliers: ADABAS D, DB2/400 (on AS/400), DB2/Common Server, DB2/MVS,INFORMIX, Microsoft SQL Server, ORACLE, and ORACLE Parallel Server.

The database does not only contain the master data and transaction data from your business applications, all data for the entire R/3 System is stored there. 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. You work with them in the ABAP Workbench.

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. This means that not all application servers will provide the full range of services. 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 choose an appropriate server when a user logs onto the system.

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.

This software-oriented view can be expanded to include further layers, such as an Intenet Transaction Server (ITS).

Software-oriented and Hardware-oritented View

The software-oriented view has nothing to do with the hardware configuration of the system. There are many different hardware configuration possibilities for both layers and components. When distributing the layers, for example, you can have all layers on a single host, or, at the other extreme, you could have at least one host for each layer. When dealing with components, the distribution of the database components depends on the database sytsem you are using. The application layer and presentation layer components can be distributed across any number of hosts. It is also possible to install more than one application server on a single host. A common configuration is to run the database system and a single application server (containing special database services) on one host, and to run each further application server on its own host. The presentation layer components usually run on the desktop computers of the users.

Advantages of the Multi-tier Architecture

The distribution of the R/3 software over three layers means that the system load is also distributed. This leads to better system performance.

Since the database system contains all of the data for the entire R/3 System, it is subject to a very heavy load when the sytsem is running. It is therefore a good idea not to run application programs on the same host. The architecture of the R/3 System, in which the application layer and database layer are separate, allows you to install them on separate hosts and let them communicate using the network.

It also makes sense to separate program execution from the tasks of processing user input and formatting data output. This is made possible by separating the presentation layer and the application layer. SAPgui and the application servers are designed so that the minimum amount of data has to be transported between the two layers. This means that the presentation layer components can even be used on hosts that have slow connections to application servers a long way away.

The system is highly scalable, due to the fact that the software components of an R/3 System can be distributed in almost any configuration across various hosts. This is particularly valuable in the application layer, where you can easily adapt your R/3 System to meet increasing demand by installing further application servers.

Consequences for Application Programming

The fact that the application and presentation layers are separate carries an important consequence for application programmers. When you run an application program that requires user interaction, control of the program is continually passed backwards and forwards between the layers. When a screen is ready for user input, the presentation layer is active, and the application server is inactive with regard to that particular program, but free for other tasks. Once the user has entered data on the screen, program control passes back to the application layer. Now, the presentation layer is inactive. The SAPgui is still visible to the user during this time, and it is still displaying the screen, but it cannot accept user input The SAPgui does not become active again until the application program has called a new screen and sent it to the presentation server.

As a consequence, the program logic in an application program that occurs between two screens is known as a dialog step.

This graphic is explained in the accompanying text

User-oriented View

The following illustration represents a user-oriented view of the R/3 System:

This graphic is explained in the accompanying text

For the user, the visible components of the R/3 System are those that appear as a window on the screen. The windows are generated by the presentation layer of the R/3 System, and form a part of the R/3 Basis system.

Before the user logs onto the R/3 System, he or she must start a utility called SAP Logon, which is installed at the front end. In SAP Logon, the user chooses one of the available R/3 Systems. The program then connects to the message server of that system and obtains the address of a suitable (most lightly-used) application server. It then starts a SAPgui, connected to that application server. The SAP Logon program is then no longer required for this connection.

SAPgui starts the logon screen. Once the user has successfully logged on, it displays the initial screen of the R/3 System in an R/3 window on the screen. Within SAPgui, the R/3 window is represented as a session. After logging on, the user can open up to five further sessions (R/3 windows) within the single SAPgui. These behave almost like independent SAPguis. The different sessions allow you to run different applications in parallel, independently of one another.

Within a session, the user can run applications that themselves call further windows (such as dialog boxes and graphic windows). These windows are not independent - they belong to the session from which they were called. These windows can be either modal (the original window is not ready for input) or amodal (both windows are ready for input).

The user can open other SAPguis, using SAP Logon, to log onto the same system or another R/3 System. The individual SAPguis and corresponding R/3 terminal sessions are totally independent. This means that you can have SAPguis representing the presentation layers of several R/3 Systems open on your desktop computer.

Leaving content frame

Friday, November 23, 2007

ABAP Programming Documentation

This documentation describes how to write application programs within the three-tier client/server architecture of the R/3 System.

This graphic is explained in the accompanying text

R/3 applications are written in the ABAP programming language, and run within the application layer of the R/3 System.

ABAP programs communicate with the database management system of the central relational database (RDBMS), and with the graphical user interface (SAPgui) at presentation level.

Contents

The documentation is divided into five sections:

Introduction to ABAP

This contains the basics of application programming in the R/3 System. This information is essential for an understanding of ABAP programming. Following an overview of the R/3 Basis system, it introduces the essential features of application programs and the ABAP programming language. Finally, it gives a short introduction to how you can create an application program in the ABAP Workbench.

The ABAP Programming Language

This section describes the statements in the ABAP programming language. Beginning with simple statements for data declarations, data processing, and program flow control, it progresses to topics such as modularization and special techniques, explaining which ABAP statements can be used for which purposes.

ABAP User Dialogs

The different screens that can belong to ABAP programs are displayed here. This shows how you can program and control interaction between ABAP programs and users in the form of screens.

Running ABAP Programs

This section explains how ABAP programs are executed in the R/3 System. It shows how you can start programs, the conditions under which you must start them, and the different kinds of program execution.

ABAP Database Access

This section explains how to work with the database in the R/3 System. It describes the parts of the programming language that are converted into SQL statements in the database, and shows how you can program database updates.

ABAP Objects

This is an introduction to ABAP Objects, the object-oriented extension of ABAP. Objects, classes and interfaces are introduced as the basic elements of ABAP objects. It shows how classes can be defined independently using interfaces or inheritance. It then goes on to introduce further components of classes, namely methods and events.

ABAP and JavaScript

The section describes how to link JavaScript programs in ABAP using class CL_JAVA_SCRIPT.

Appendix

The appendix contains summary descriptions and overviews, including a list of all system fields, an ABAP statement reference and a glossary.

Sample Programs

Note that the sample programs in this documentation can be used for testing purposes in every R/3 System starting with Release 4.5. They can be found in Transaction ABAPDOCU . The program structure corresponds to that of this documentation.

Further Reading

SAP Style Guide

Structure link Changing the SAP Standard

Structure link ABAP Workbench: Tools

Structure link ABAP Dictionary

Structure link Remote Communications

Structure link RFC Programming in ABAP

Structure link ABAP as an OLE Automation Controller

Structure link Basis Programming Interfaces

Structure link ABAP Query

Leaving content frame

Sample Test Questions on ABAP Programming

. What are the 2 boxes in your system for coding for Abap and their logins?

Development System & IDES/Sandbox

# 2. If I get a problem on a report in Production server how can I modify the report.

If the problem in production server we have to alter the program in Developemnt Client and transport it to QA client Test it throughly and then Transport it to Production.

# 3. Tell me about Tokens.

Tokens are Issues sent by the Client to us.

#4 .How to Fix the bugs and where you will do those things.

It Actuall Depends what kind of bugs they asked about:
If it is a problem in Program, then we alter them in the SE38 (Develpment) and transport it after testing to Prd Server.

#5. What is a sandboxes.

SAND BOX is nothing but a test client other than Develpment Client or QA.

#6.How to conncet the from ur office to clinet in US.

It will be configured by the BASIS guys..

In the sap logon pad they will enter the application server id and Routing String and the SERver type in the Sytem Number....
with that we will connect

#7.Tell me about VPN and the connections.

Its a another way to connect to other PC. its a 3rd party utility....

#8. How to login ur system.

Thru SAP Logon enter the client number ,user id & password.

#9 .What is the purpose of SE14.

Database Utility to perform table maintenance such as deleting the table or adjusting the table when there is a structure change.

#10 .What is the purpose of SM30.

SM30 is a table Maintanance for the Ztable Created by us.

#11.In Data dictionary in the table creation,What is the purpose of Technical settings.

To identify the Size of the Table Created and to Set whether buffering needs to be done for the table or not.

#12. What is the purpose of buffering in technical settings and for what type of tables are using buffering.

It will reduce the Network tarffic but disadvantage is it will not update the Server back immediately.

#13. In reporting tell me all the events in a sequentail order.

- Initialization.
- At Selection-Screen
- Start-of-Selection.
- Top-of-Page.
- At Pfn.
- End-of-Page.
- End-of-Selection.

Blog Archive