0 оценок0% нашли этот документ полезным (0 голосов)
1K просмотров32 страницы
ABAP Objects, the object-oriented (OO) extension to the ABAP language, is available with releases 4. And 4.6. Release 4. Adds inheritance, nested interfaces, and dynamic method invocation.
ABAP Objects, the object-oriented (OO) extension to the ABAP language, is available with releases 4. And 4.6. Release 4. Adds inheritance, nested interfaces, and dynamic method invocation.
Авторское право:
Attribution Non-Commercial (BY-NC)
Доступные форматы
Скачайте в формате PPT, PDF, TXT или читайте онлайн в Scribd
ABAP Objects, the object-oriented (OO) extension to the ABAP language, is available with releases 4. And 4.6. Release 4. Adds inheritance, nested interfaces, and dynamic method invocation.
Авторское право:
Attribution Non-Commercial (BY-NC)
Доступные форматы
Скачайте в формате PPT, PDF, TXT или читайте онлайн в Scribd
extension to the ABAP language, is available with releases 4.5 and 4.6. Release 4.6 adds inheritance, nested interfaces, and dynamic method invocation. In this training, we’ll take you through an introduction to ABAP Objects and give you a comprehensive example (The code for the example can be tested and debugged in DEMO_ABAP_OBJECTS program in R/3 release 4.6 or higher).
2 The ASPplus Solutions Compan
What are ABAP Objects ?
• ABAP objects are compatible extension
of the existing ABAP language. • You can use existing ABAP statements within ABAP objects. • You can use ABAP objects within existing programs. • ABAP objects are fully integrated in ABAP debugger. 3 The ASPplus Solutions Compan Continued….
• The term has two meanings
• On one hand, it stands for the entire ABAP runtime environment. • On the other hand, it represents the object oriented extension of the ABAP language.
4 The ASPplus Solutions Compan
ABAP objects are created because
• The Business Object Repository(BOR)
already presented an OO view of the system to the outside, and we wanted a common programming model for both outside and inside. • We wanted seamless integration with external object modules (DCOM and CORBA). 5 The ASPplus Solutions Compan Continued…
• We wanted the potential benefits of
objects with in R/3, including better control of complexity, a better means for encapsulation, extensibility, and reuse, and a language basis for patterns and frameworks. • We needed objects to be the foundation for a new GUI Programming model. 6 The ASPplus Solutions Compan Design Goals
• To make ABAP Objects as simple as
possible. • To use only proven OO concepts. • To comply with external standards whenever possible (for example, to allow mapping to COM, CORBA, and UML).
7 The ASPplus Solutions Compan
Continued...
• To require much stronger typing (type
checking) than traditional ABAP, where type specification is almost always optional.
Classes • Classes are the central element of object- orientation • A class describes a general element or a general concept, for example the abstract concepts Business Partner, Material, Transaction, Equipment or list. • You can define classes globally using the class builder (Transaction SE24) or locally in an ABAP program. • All of the ABAP programs can access the global classes. • Local classes and interfaces can only be used in 10 The ASP Solutions Compan plus
the program in which they are defined.
Components of classes
• Attributes • Methods • Events • Types and Constants
11 The ASPplus Solutions Compan
Continued…
• In ABAP Objects classes are made up of
a definition and an implementation part. • Example CLASS C1_PARTY DEFINITION. ENDCLASS. CLASS C1_PARTY IMPLEMETAION. ENDCLASS. 12 The ASPplus Solutions Compan Attributes
• Attributes can take on values within an
object at runtime. The sum of all attributes and values describes the state of an object. • Attributes can be of two types 3. Static attributes 4. Instance attributes
13 The ASPplus Solutions Compan
Instance Attributes
• Instance attributes represents the instance-
dependent status of an object. Instance attributes are declared using the statement DATA
14 The ASPplus Solutions Compan
Static Attributes
• Static attributes represents the instance-
independent status of the class, which applies to all instances. Static attributes exist once for each class. They are declared using the statement CLASS- DATA and are retained for the entire runtime.
15 The ASPplus Solutions Compan
Example
Class C1_party DEFINITION.
PUBLIC SECTION. CLASS-DATA : instance_count type I. DATA : name(50) type C. ENDCLASS.
16 The ASPplus Solutions Compan
Methods
• Methods describe the behavior of objects
within a class. • They could be compared to the subroutine in normal ABAP • They can access all attributes of their class and can thus change the status of an object.
17 The ASPplus Solutions Compan
Continued…
• Again Methods are of two type
Static Methods Instance Methods • Special Method : Constructor
18 The ASPplus Solutions Compan
Methods
• An instance method is declared using the
statement METHODS. It can access all attributes of a class and trigger all events of the class. • Static method is declared using the statement CLASS-METHODS. It can access static attributes and trigger only static events.
19 The ASPplus Solutions Compan
Methods
• Methods can have any number of IMPORTING
parameters and one RETURNING parameter. • In addition to the regular methods, there are special methods called CONSTRUCTOR and CLASS_CONSTRUCTOR, which are called implicitly when objects are generated or when class components are called for the first time.
20 The ASPplus Solutions Compan
Example
Types : Boolean(1) type c,
Pname(50) type c. CLASS C1_party DEFINITION. PUBLIC SECTION. CLASS-METHODS : is_class_with_objects RETURNING VALUE(re_bool) TYPE bollean. METHODS : change_name IMPORTING value (im_new_name) TYPE pname. ENDCLASS 21 The ASPplus Solutions Compan Events
• Events enable objects or classes to trigger
event handler methods in other objects or classes. They are declared in the declaration part of a class and raised in its methods. • They are of two types Instance Events Static Events 22 The ASPplus Solutions Compan Continued…
• You can declare events by using the
statements EVENTS for instance events and CLASS-EVENTS for static events. • Instance events can be raised in any method of the declaring class, whereas static events can only be raised in static methods.
23 The ASPplus Solutions Compan
Example Class ship DEFINITION. PUBLIC SECTION. METHODS DRIVE. EVENTS emergency_call. ENCLASS. CLASS ship IMPLEMENTATION. METHOD DRIVE. if speed > more_speed. RAISE EVENT emergency_call. Endif. 24 ENDMETHOD. The ASP Solutions Compan plus Types and Constants.
• The statements TYPES can be used to
declare self-defined ABAP data types within a class. • Constants are specific static attributes whose values are defined in the declaration and cannot be changed. Constants, are not instance-dependent and exist ones for all objects of a class.
25 The ASPplus Solutions Compan
Interface
• The Interface concept describes a class
interface. You can define the same components in an interface that you can in classes, however without implementing them. • Classes can implement interfaces, and subsequently be addressed via these interfaces. For example, a class cl_class can implement the interface if_archive and thereby become archivable, or it can implement if_workflow and thereby take part in a workflow. 26 The ASPplus Solutions Compan Nested Interfaces
• By using the INTERFACES statement
within the interface definition, you can define nested interfaces.
27 The ASPplus Solutions Compan
Interface References
• A class which implements a specific interface
can be addressed via this interface reference. Using such an interface reference, you can access the components defined in the interface. In this way a user can view different classes through the 'spectacles' of an interface and address them in a uniform manner. (DATA: reference TYPE REF TO cl_interface).
28 The ASPplus Solutions Compan
Inheritance
• Inheritance allows you to define classes by
deriving them from existing classes. The new class adopts or inherits all components of the existing class. The existing class is called a super class of the new class. • A class can have any number of direct subclasses, but only one super class. ABAP Objects thus uses single inheritance.
29 The ASPplus Solutions Compan
Objects
• Objects are instance of classes. All transient
objects exist within the context of an internal session (memory area of an ABAP program). You can create any number of objects(instances) for a class. Each one has a unique identity and its own attributes. • An object remains intact for as long as it is used in a program.
30 The ASPplus Solutions Compan
Object References
• Object references are used as pointer to
objects. Object references (the value of reference variables) are the only way to access component of an object in an ABAP program.You can use references to access attributes and methods, but not events.