SAP
|
SAP stands for System, Andwendungen, and Produkte (in German) which when translated to English means System, Application, Products in Data Processing. The name of the parent Company is SAP AG. The company SAP is based on Walldorf in Germany and is the world's largest enterprise software company. Its foundation is built upon the concept of integration. SAP is written using ABAP. |
ABAP stands for Advanced Business Application Programming. It is a programming language developed by SAP. SAP is a company that develops ERP (Enterprise Resource Planning System) systems. These systems are used by companies to track all information related to the business integrating finance, sales, and materials data. ABAP/4 is the programming language used for the thousand tiny embedded programs called transactions that make up the application.
ABAP is code written in an interpretive language similar to COBOL in syntax. Its use allow SAP customers to extend the functionality of the base product. SAP is very flexible, it can be used for specific business functions rather than the whole enterprise and can be modified for the companies specific needs. Every SAP installation has its own specific configuration and set of functions. The cost of customizing is that when upgraded every customization must be identified in the ABAP code and changes made. This means upgrades are very costly. Customization should be avoided for easier upgrades in the SAP software.
ABAP is more than just a language. It is a set of professional tools used to extend R/3 applications to add enhancements and meet individual needs.
It can be used independent of SAP software to develop your own applications. The ABAP programming language has
evolved to include object-oriented elements. ABAP Objects is a new generation of the APAB virtual machine and allows
component integration using ActiveX or JavaBeans. Release 4 of R/3 will contain object-oriented enhancements to ABAP programming language.
This will improve reusability, maintenance and quality of the code including productivity. In ABAP there are different types of data such
as integer, character field, structure or internal table. The workbench allows developers to quickly and easily customize and extend existing
SAP applications or create new applications to meet their needs. It offers the power, versatility and flexibility needed to develop diverse
client server applications. ABAP is easy to learn and read. Developers do not need to know a specific technological environment to write applications.
ABAP is keyword-oriented. It supports prototyping-based program development and structured programming. The syntax enables programmers to quickly
and easily address mission critical client/server application needs.
Functional areas of SAP :
- MM (Material Management)
- PP (Production Plan)
- SD (Sales & Distribution)
- FI/CO (Finance/Costing)
ABAP is a fourth generation language.It is mainly used for business application.Administration of ABAP is done using BASIS.
Modification of SAP can be done using ABAP.SAP is a 3 tier architecture, which includes:
- Presentation layer (SAPGUI, what we see on the screen)
- Application layer (where ABAP program is interpretted.It consists of Dispatcher & Work Process)
- Database layer (for storing purpose)
SAP R/3 Architecture
"R" in R/3 systems stands for realtime. R/3 means three layers are installed in Different system/server and they are connected with each other.
The SAP system is software which is composed of different software and a server as a whole and has the ability to perform
standard business functions for corporations. The system has become so popular because it can serve a wide range of functionality
from manufacturing to finishing products. There is one simple reason behind the popularity of this system; it can be tuned to any
level for any industry. It has the concepts of enterprise resource planning (ERP) and business process reengineering (BPR) which is
integrated in the system.
Originally, dating back to the 1970s, it took the then controversial approach of combining various business functions into one application and database. Dietmar Hopp, Hans-Werner Hector, Hasso Planttner, Klaus Tschira, and Claus Wellenreuther, former IBM employees, launched SAP in order to turn the real business processing vision into reality.
After a year, the first financial accounting software formed the basis for the continuous development of other software components which later came to be known as the R/1 system.By the end of the decade, intensive examination of SAP's IBM database and dialog control system led to the birth of SAP R/2, designed to handle different languages and currencies. The SAP R/2 system attained high level of stability of the previous generation of programs. With this and other innovations in SAP R/2, SAP saw a very rapid growth.
By the 1990's, when SAP R/3 was unleashed into the market, the client-server concept, uniform appearance of graphical interfaces, consistent use of relational databases and the ability to run on computers from different vendors met with an overwhelming approval. The client-server architecture moved to a more flexible and scalable architecture. Going by this technology, the processing of an application could be split between the server and workstations - the server handling the centralized functionality, while the client workstation maximized for users. The data management was separate from the server.
The term SAP R/3 stands for realtime system three and the client-server environment provides a set of business application for the system. The R/3 architecture allows distribution of the workload to multiple PC's connecting in a network. The SAP runtime system is designed in such a way that it distributes the presentation, application logic and the data management to different computers.
What is SAP Landscape?
Landscape is like a server system or like a layout of the servers or some may even call it the architecture of the servers viz.
SAP is divided into three different lanscape DEV, QAS and PROD.
- DEV would have multiple clients for ex: 190- Sandbox, 100- Golden, 180- Unit Test.
- QAS may again have mutiple clients for ex: 300- Integration Test, 700 to 710 Training.
- PROD may have something like a 200 Production.
These names and numbers are the implementer's discreet on how they want it or they have been using in their previous implementations or how is the client's business scenario.
Now whatever you do in the Sandbox doesn't affect the other servers or clients. Whenever you think you are satisfied with your configuration and you think you can use it moving forward, you RE-DO it in the golden client (remember, this is a very neat and clean client and you cannot use it for rough usage). As you re-do everything that you had thought was important and usable, you get a transport request pop up upon saving everytime. You save it under a transport request and give your description to it. Thus the configuration is transported to the Unit Test client (180 in this example).
You don't run any transaction or even use the SAP Easy Access screen on the 100 (golden) client. This is a configuration only client. Now upon a successful tranport by the Basis guy, you have all the configuration in the Testing client, just as it is in the Golden client. The configuration remains in sync between these two clients.
But in the Testing client you can not even access SPRO (Display IMG) screen. It's a transaction only client where you perform the unit test. Upon a satisfactory unit test, you move the good configuration to the next SERVER (DEV). The incorrect or unsatisfactory configuration is corrected in Golden (may again as well be practised in the sandbox prior to Golden) and accordingly transported back to 180 (Unit Test) until the unit test affected by that particular config is satisfactory. The Golden client remains the 'database' (if you wanna call it that) or you may rather call it the 'ultimate' reference client for all the good, complete and final configuration that is being used in the implementation.
In short Landscape is the arrangement for the servers.
DEVELOPMENT : is where the the consultants do the customization as per the company's requirement.
QUALITY : is where the core team members and other members test the customization.
PRODUCTION : is where the live data of the company is recorded.
A request will flow from DEVELOPMENT ---> QUALITY ----> PRODUCTION and not backwards.
1. Sandbox server: In the initial stages of any implementation project, you are given a sandbox server where you do all the configuration/customization as per the companies business process.
2. Development Server: Once the BBP gets signed off, the configuration is done is development server and saved in workbench requests, to be transported to Production server.
3. Production Server: This is the last/ most refined client where the user will work after project GO LIVE. Any changes/ new develpoment done is development client and the request is transported to production.
These three are landscape of any Company. They organised their office in these three way. Developer develop their program in Development server and then transport it to test server. In testing server tester check/test the program and then transport it to Production Server. Later it will deploy to client from production server.