ABAP Objects and application areas
Target Audience
This course is intended for the following audiences:
•        Development consultants who are responsible for adapting
         and developing ABAP/ABAP Objects programs
Course Prerequisites
Required knowledge
    •        TAW10(ABAP Workbench Fundamentals)
    •        Included in booking: TAW11
Recommended Knowledge
     BC410 – Programming User Dialogs with dynpro
                Course Goals
• Use fundamental elements object-oriented
  modeling in UML
• Create ABAP Objects programs that contain all
  useful object-oriented programming techniques
• Use the relevant tools to create object-oriented
  Repository objects
• Describe and use the application areas of ABAP
  objects
• Define, raise and handle class-based exceptions
• Query type and class attributes at runtime
             Unit1 -Objectives
• Differences between procedural and object-oriented
  programming models
• List the advantages of object oriented programming
  model
• Name the important diagram types in UML
• Create simple class diagrams
• Create simple object diagrams
• Describe sequence diagrams
• Define Classes
• Generate and delete objects
• Access attributes
  The object-oriented programming model : Moving
from the procedural to object-oriented programming
                     model:
Characteristics of procedural
  programming language
Typical ABAP Program
Encapsulating data using function
             groups
Example of a function group
Instances of function group
Multiple instantiation in Object-
    Oriented programming
ABAP Main memory encapsulation
DATA management
ABAP objects
Client/server relation ship between
               objects
Additional Concepts
Charecteristics/Advantages
Software Development Process
      Analysis and design with UML-
                Objectives
•   Most important diagram types in UML
•    class diagrams
•   Object diagrams
•   sequence diagrams
Class creation/ modeling
Classes as abstraction forms
Comparison of classes and objects
              Modeling with UML
• Class Diagrams:
  Show the classes and the relation ships between them, that is a
  static view of a model
• Behavior diagrams
  Pay particular attention to the sequence in which the objects relate
  to each other
• Component diagrams
  show the organization and dependencies of components
Representation of a class
Association
Association with roles
Assocation classes
Aggregation and composition
Generalization and Specialization
Object diagram
Sequence diagram
Delegation principle in Sequence
            diagram
    Fundamental Object oriented syntax
          elements-objectives
•   Define classes
•   Generate and delete objects
•   Access attributes
•   Call methods
Classes ,attributes , and methods
Defining classes
Attributes
Definition of attributes, Types, and
             Constants
Visibility section of attributes
Accessing private attributes
Instance and static attributes
Syntax for methods
Visibility section of Methods
Accessing private methods
Instance Methods and Static Methods
Visibility Sections and UML notation
Instances of Classes
References Variables
Creating Objects
Semantics of Object References
Garbage Collector
Administration with multiple
       instantiation
Aggregation
Accessing attributes and methods
Functional Methods
Accessing public attributes
Constructors
Static Constructor
Self Reference
    Unit-2 Object-Oriented concepts and
    programming techniques-Objectives
•   Define inheritance relationships between classes
•   Redefine methods
•   Create up-cast assignments(Widening Cast)
•   Create down-cast assignments(narrowing cast)
•   Explain the concept of polymorphism with reference to inheritance
•   Use cast assignments with inheritance to make generic calls
•   Define and implement interfaces
•   Implement interface methods
•   Use interface references to make up-cast assignments
•   Use interface references to make down-cast assignments
•   Explain the term polymorphism with reference to interfaces
•   Use cast assignments with interfaces to make generic calls
•   Define and trigger events
•   Handle events
•   Register and deregister event handling
Inheritance and Casting-Objectives
• Define inheritance relationships between classes
• Redefine methods
• Create up-cast assignments
• Create down-cast assignments
• Explain the concept of polymorphism with
  reference to inheritance
• Use cast assignments with inheritance to make
  generic calls
Generalization/specialization
Inheritance
Redefining methods
Inheritance and Visibility
Protected versus Private Section
Up-cast
Static and dynamic references
Generic calls in the procedural
          modeling
Down Cast
Input of class Hierarchies
Misuse of inheritance
  Interfaces and casting-objectives
Define and implement interfaces
Implement interface methods
Use interface references to make up-cast
  assignments
Use interface assignment to make down cast
  assignments
Explain the term polymorphism with reference to
  interfaces
Use cast assignments with interfaces to make
  generic calls
Central definition of shared
       components
Interfaces in UML notation
Defining and implementing interfaces
Addressing interfaces
Polymorphism with interfaces
Down cast assignment and exception
             handling
Interface hierarchy
Compound interface
Using interfaces
        Lesson: Events-Objectives
•   Define and trigger events
•   Handle events
•   Register and deregister event handling
•   Explain the key differences between explicit
    method calls and event method controlled
    calls
Event Method Controlled calls
Event Handling in a UML Class
         Diagram
Triggering and Handling Events-
           Overview
Defining and triggering events
Handling events
Registering Event Handling
Registration/Deregistration
Visibility Section in the event handling
     Unit3:Object-Oriented repository
            objects-objectives
•   Describe the functions of the class builder
•   Create the global classes using the class builder
•   Create interfaces using class builder
•   Reference global classes and interfaces in other repository
    objects
•   Define abstract classes
•   Define abstract methods
•   Define final classes
•   Define final methods
•   Limit the visibility of the constructor
•   Define friendship relationship between classes
•   Explain the “singleton pattern”.
      Global classes and interfaces-
                objectives
• Describe the functions of the class builder
• Create the global classes using the class
  builder
• Create interfaces using class builder
• Reference global classes and interfaces in
  other repository objects
Creating global classes in the object
             navigator
Definition of attributes
Definition of methods
Definition of method signatures
Implementation of methods
Displaying the method definition
Definition of components using the
          navigation area
Global interfaces
Test environment
Importing local classes and interfaces
Other functions-inheritance
Redefining inherited method
Local types
Sorting the component display of
             classes
Separating the navigation and editing
    areas of the object navigator
Object instantiation using drag and
               drop
Method calls using drag and drop
Working with refactoring assistant
    Special object oriented-oriented
             programming
• Define abstract classes
• Define abstract methods
• Define final classes
• Define final methods
• Limit the visibility of the constructor
• Define friendship relationships between
  classes
• Explain the “singleton pattern”.
Abstract classes and abstract methods
Final classes and methods
Visibility of instance constructor
Singleton class
Friendship relationship
Definition of friendship relationship
 Unit 4 Exception Handling-objectives
• Handle class-based exceptions in ABAP
  programs
• Create exception class
• Raise class-based exceptions in programs
• Propagate class-based exceptions
• Map class-based exceptions in ABAP programs
  to one another
Overview of Both Exception concepts
Exception Classes: The inheritance
            Hierarchy
TRY-ENDTRY Sequence
Handling a predefined exceptions
Catching Exceptions with the pattern
Creating Global Exception Classes
Defining variable Exception Texts
Propagating Exceptions
Class-Based Exceptions in Debugging
               Mode
Integration of Standard exceptions in
         the Runtime System
Mapping exceptions to Each other-the
             principle
         Unit 5 Shared Objects
• Explain how classes are created for shared
  objects
• Explain how you can use shared objects to
  implement applications
• Access Shared objects from with in ABAP
  program
Uses
Memory Model of an Application
          Server
Accessing Shared Objects
Attributes of Shared Objects
Areas and Area Instances
Area classes and Area Handlers
Developing Example Application
Accessing Areas
Area management
Maintaining Areas
Before Creating an Area Instance
Creating Area Instance
Generating Objects in the Shares
           Memory
Generating Objects in the Shared
          Memory II
Setting the Root Object
Releasing the Write Lock
Accessing an Existing Object in the
         Shared Memory
Releasing the Read Lock
     States of areas of instances
Setting a read lock on active version
Version Being Set Up
Obsolete Version
New Read Locks for the New Active
            Version
Expired Version
New Read Locks for Active Version
     Unit 6 Dynamic Programming-
              Objectives
• Access class components and objects
  dynamically
• Define field symbols
• Define data references
• Dereference data references
• Generate data objects dynamically
• Query type attributes at runtime
• Create types dynamically
Field symbols
Type casting for Field symbols
Data references
Validity of References – logical
           Expression
Dereferencing Generically typed Data
            references
Cast assignment of data references
         Runtime type services
• Query type attributes at runtime
• Create types dynamically
Hierarchy
RTTS Inheritance Tree
Dynamic data type analysis
Dynamic Object type analysis
Runtime Type Creation