Professional Documents
Culture Documents
Overview of The ABAP Workbench
Overview of The ABAP Workbench
Purpose
This section introduces you to the ABAP Workbench and the basic concepts you need to be familiar with
before using it. The ABAP Workbench is a collection of tools you use to develop, test and run ABAP
programs.
Integration
All tools in the ABAP Workbench are integrated. For example, when you edit a program in the ABAP
Editor and want to open an object created with another tool, you just need to choose the object and the
ABAP Workbench automatically launches the tool you need to edit that object.
To help you organize your application development in this integrated environment, SAP has developed
the Object Navigator. It provides a tree-like hierarchy of development objects that makes it easier for you
to navigate and edit the objects you need.
We recommend that you use the Object Navigator as a starting point when you develop your applications.
For this reason, this documentation is written from the perspective of an Object Navigator user.
Features
What are Development Objects and Packages?
When you work with the ABAP Workbench, you work with development objects and packages.
Development objects are the individual parts of an ABAP application. Some examples of development
objects are:
● Programs: reports, transactions, and function modules
● Objects that programs can share: database fields, field definitions, and program messages.
A package is a container for objects that logically belong together. For example, all objects in an
application belong to a single package. A package is also a type of development object. An example of a
package is General Ledger Accounting.
**Note--> When you create a new object or change an existing object, the system asks you to assign the
object to a package.
The following documentation contains more information about the ABAP Workbench and ABAP
programming:
ABAP Dictionary
An introduction to ABAP data. Basic objects and aggregated objects are discussed. Here you can
find information about maintaining dictionary objects.
Transport Organizer
A guide to organizing large development projects in an SAP system. It covers how to set up the
ABAP Workbench Organizer and transport system, version management, and the modification
concept.
Background Processing
A description of the programming interfaces for SAP components including background processing
and batch input.
The Old Package Concept
Current situation
At present, the SAP System contains more than 300 000 development objects (programs, tables,
screens, BAPIs, function modules, types, and so on). These objects are grouped in over 1700
development classes stored in a flat structure.
Any developer can use any object. A developer can hardly set up a protection for his own development
objects. He can also only with difficulty mark the development objects that he would like to make available
to others. The technical modularization options open to developers on a small scale – for example, using
module pools, function groups, or classes – are very limited. Whether on a large or small scale however,
there are no mechanisms for technical modularization.
The package concept was developed to address these issues. Packages are a further development of the
current development classes with new additional semantics. They are designed to help
developers modularize, encapsulate, and decouple units in the SAP System.
Packages
Existing development classes are simply containers for development objects with a transport layer that
determines how the objects will be transported. Packages extend the concept of development classes
with the addition of new attributes: nesting, interfaces, visibility, and use accesses.
Packages use interfaces and visibility to make their services known to other packages. All the visible
elements in a package can, potentially, be sued by other packages. In contrast, invisible elements cannot
be used by other packages as well. This allows the package to encapsulate its contents and protect its
elements from being used by unspecified external packages.
Use accesses restrict the use of the visible elements of other packages’ interfaces. Not all visible
elements can be used. A package can only use the visible elements of the provider package after the use
access to the latter’s interface has been created.
Nesting allows you to split up larger units of the SAP System and structure them in a hierarchy. The
interplay between interfaces and use accesses allows the elements of a package to be hidden simply,
and thus protect them from unintentional use.
The package concept also offers the option of splitting and encapsulating the SAP System into technical
units (the packages), reducing high levels of dependency and thus decoupling the system on a large and
small scale.
Note:-
For either the user package, provider package, or both, there may be consistent exceptions to the
package check. This is, for example, makes sense in system programs or generated programs.
There is also a transitional phase for migration projects in general, during which package checks will be
less strict.
Transport Organizer
The Transport Organizer provides you with functions for organizing software development projects. It is
designed to support projects of all sizes, whether they are carried out centrally or in a distributed
environment.