Using ABAP

Being able to use ABAP effectively requires more than just knowledge of the keywords. As a programmer, you need to have a basic understanding of the architecture of the SAP NetWeaver Application Server ABAP and how specific fundamental concepts are implemented in ABAP and its infrastructure.

The aim of this guide is to enable you to use the possibilities of ABAP and the NW Application Server ABAP as effectively as possible. It is to provide you with guidelines on how best to solve certain standard tasks, which are part of any business programming.

Determining the best method to solve a problem in ABAP also means finding the most useful of the various possibilities this language provides. In ABAP, there are often a number of different ways of achieving the same goal. This is the price that has to be paid for evolutionary development and downward compatibility. If old constructs are still required in a new release, because they appear in important application programs, they remain part of the language. Programmers can continue to use them, but should be aware in which cases there are now more effective ways of solving a specific task.

Not only does the ABAP Developer Guider provide programmers with an overview of working with ABAP, but also show the best solution to standard problems of business programming. In any cases where there are multiple, equally useful solutions, this guide is to provide information on their advantages and disadvantages.

The section Getting Involved introduces the basic features of the ABAP language and the SAP NetWeaver Application Server ABAP. You will learn how ABAP and its tools support the entire lifecycle of an application and what tailor-made, business programming features the language offers. You will also be familiarized with the three-layer architecture of the server and learn why you do not develop locally with ABAP but always centrally on the server.

Programming is a practical experience, and the best way to get an impression of the possibilities of a language and its infrastructure is to write a small program in this language and thus understand its development.  The tutorial in the section Go and Create shows how easily you can use ABAP to create a database table – declaratively and with metadata control – with the relevant fields and attributes. A simple ABAP Objects program manages the data of this table.

With the knowledge gained from these two sections, you are ready to understand how specific basic programming concepts are implemented in ABAP. The section Core Development Tasks provides an overview of the following topics:

·        UI Technology: The standard Web user interface is Web Dynpro. For special requirements, Business Server Pages can be configured.

·        ABAP Objects offers a number of advantages, even if you want to continue using procedural programming. If you want to use new ABAP features, you have to use object-oriented interfaces anyway.

·        Sharing Data: With ABAP shared objects, you can aggregate data once at a central location and the different users and programs can then access this data without the need for copying.

·        Exception Handling: With the class-based exception concept of ABAP, you can define a special control flow for a specific error situation and provide the user with information about the error.

·        Developing Persistency: For permanent storage of data in ABAP, you use relational database tables by means of database-independent Open SQL, which is integrated in ABAP. However, you can also store selected objects transparently or access the integrated database or other databases using proprietary SQL.

·        Using Connectivity and Interoperability: The Exchange Infrastructure and Web services are the means by which developers can implement a service-oriented architecture. With Web services, you can provide and consume services independently of implementation or protocol. Furthermore, you can do so within NetWeaver and in the communication with other systems. With the features of the Exchange Infrastructure, you can enable, manage, and adapt integration scenarios between systems.

·        Making Enhancements: With the Enhancement Framework, you can enhance programs, function modules, and global classes without modification as well as replace existing code. The Switch Framework enables you activate only specific development objects or enhancements in a system.

Testing is an essential part of the software development cycle. The ABAP development environment also provides support for this.  The section Ensuring Quality introduces the basic features of ABAP Unit, a framework with which you can take advantage of unit testing in ABAP. The relevant tools are fully integrated in the standard development environment (SE80, SE24, SE37, SE38) and the code required for testing is implemented in ABAP Objects.