Object oriented abap

hello abapers,
am new to object oriented abap.cud u pls help me out in explaining me object oriented abap with examples.cud u also pls send me some links related to OO ABAP..
explanation wid suitable examples will b rewarded higher pints.
regards,
praveen

Hi,
please find the below material with examples,
reward points if helpful.
Public attributes
Public attributes are defined in the PUBLIC section and can be viewed and changed from outside the class. There is direct access to public attributes. As a general rule, as few public attributes should be defined as possible.
PUBLIC SECTION.
  DATA: Counter type i.
Private attributes
Private attributes are defined in the PRIVATE section. The can only be viewes and changed from within the class. There is no direct access from outside the class.
PRIVATE SECTION.
    DATA: name(25) TYPE c,
          planetype LIKE saplane-planetyp,
Instance attributes
There exist one instance attribute for each instance of the class, thus they exist seperately for each object. Instance attributes are declared with the DATA keyword.
Static attributes
Static attributes exist only once for each class. The data are the same for all instances of the class, and can be used e.g. for instance counters. Static attributes are defined with the keyword CLASS-DATA.
PRIVATE SECTION.
  CLASS-DATA: counter type i,  
Public methods
Can called from outside the class
PUBLIC SECTION.
  METHODS:  set_attributes IMPORTING p_name(25) TYPE c,
                                                            p_planetype LIKE saplane-planetyp,
Private methods
Can only be called from inside the class. They are placed in the PRIVATE section of the class.
Constructor method
Implicitly, each class has an instance constructor method with the reserved name constructor and a static constructor method with the reserved name class_constructor.
The instance constructor is executed each time you create an object (instance) with the CREATE OBJECT statement, while the class constructor is executed exactly once before you first access a class.
The constructors are always present. However, to implement a constructor you must declare it explicitly with the METHODS or CLASS-METHODS statements. An instance constructor can have IMPORTING parameters and exceptions. You must pass all non-optional parameters when creating an object. Static constructors have no parameters.
Static constructor
The static constructor is always called CLASS_CONSTRUCTER, and is called autmatically before the clas is first accessed, that is before any of the following actions are executed:
•     Creating an instance using CREATE_OBJECT
•     Adressing a static attribute using 
•     Calling a ststic attribute using CALL METHOD
•     Registering a static event handler
•     Registering an evetm handler method for a static event
The static constructor cannot be called explicitly.
Protected components
When we are talking subclassing and enheritance there is one more component than Public and Private, the Protected component. Protected components can be used by the superclass and all of the subclasses. Note that Subclasses cannot access Private components.
Polymorphism
Polymorphism: When the same method is implemented differently in different classes. This can be done using enheritance, by redefining a method from the superclass in subclasses and implement it differently.
Template for making a class
Delete the parts that should not be used
Definition part
CLASS xxx DEFINITION.
Public section
  PUBLIC SECTION.
    TYPES:
    DATA:
  Static data
    CLASS-DATA:
  Methods
    METHODS:
    Using the constructor to initialize parameters
       constructor    IMPORTING xxx type yyy,
    Method with parameters
      mm1 IMPORTING iii   TYPE ttt.
    Method without parameters
      mm2.
  Static methods
    CLASS-METHODS: 
Protected section. Also accessable by subclasses
  PROTECTED SECTION.
Private section. Not accessable by subclasses
  PRIVATE SECTION.
ENDCLASS.
Implementation part
CLASS lcl_airplane IMPLEMENTATION.
  METHOD constructor.
  ENDMETHOD.
  METHOD mm1.
  ENDMETHOD.
  METHOD mm2.
  ENDMETHOD.
ENDCLASS.
Template for calling a class
Create reference to class lcl_airplane
DATA: airplane1 TYPE REF TO lcl_airplane.
START-OF-SELECTION.
Create instance using parameters in the cosntructor method
  CREATE OBJECT airplane1 exporting im_name = 'Hansemand'
                                    im_planetype = 'Boing 747'.
Calling a method with parameters
  CALL METHOD: airplane1->display_n_o_airplanes,
               airplane1->display_attributes.
Subclass
CLASS xxx DEFINITION INHERITING FROM yyy.
Using af class as a parameter for a method
The class LCL_AIRPLANE is used as a parameter for method add_a_new_airplane:
METHODS:
  add_a_new_airplane importing im_airplane TYPE REF to lcl_airplane.
Interfaces
In ABAP interfaces are implemented in addition to, and independently of classes. An interface only has a declaration part, and do not have visibillity sections. Components (Attributes, methods, constants, types) can be defined the same way as in classes.
•     Interfaces are listed in the definition part lof the class, and must always be in the PUBLIC SECTION.
•     Operations defined in the interface atre impemented as methods of the class. All methods of the interface must be present in the
•     implementation part of the class.
•     Attributes, events, constants and types defined in the interface are automatically available to the class carying out the implementation.
•     Interface components are adresse in the class by ]
Define, implement and use simple class
***INCLUDE ZBC404_HF_LCL_AIRPLANE .
Definition part
CLASS lcl_airplane DEFINITION.
Public section
  PUBLIC SECTION.
    TYPES: t_name(25) TYPE c.
    METHODS:
      constructor,
      set_attributes IMPORTING p_name       TYPE t_name
                               p_planetype  TYPE saplane-planetype,
      display_attributes,
      display_n_o_airplanes.
Private section
  PRIVATE SECTION.
  Private attributes
    DATA: name(25) TYPE c,
          planetype TYPE saplane-planetype.
  Private static attribute
    CLASS-DATA n_o_airplanes TYPE i.
ENDCLASS.
Implementation part
CLASS lcl_airplane IMPLEMENTATION.
  METHOD constructor.
  Counts number of instances
    n_o_airplanes = n_o_airplanes + 1.
  ENDMETHOD.
  METHOD set_attributes.
    name      = p_name.
    planetype = p_planetype.
  ENDMETHOD.
  METHOD display_attributes.
    WRITE:/ 'Name:', name, 'Planetype:', planetype.
  ENDMETHOD.
  METHOD display_n_o_airplanes.
    WRITE: / 'No. planes:', n_o_airplanes.
  ENDMETHOD.
ENDCLASS.
REPORT zbc404_hf_maintain_airplanes .
INCLUDE zbc404_hf_lcl_airplane.
Create reference to class lcl_airplane
DATA: airplane1 TYPE REF TO lcl_airplane,
      airplane2 TYPE REF TO lcl_airplane.
START-OF-SELECTION.
Create instance
  CREATE OBJECT airplane1.
  CALL METHOD: airplane1->display_n_o_airplanes.
  CREATE OBJECT airplane2.
Setting attributes using a method with parameters
  CALL METHOD airplane1->set_attributes EXPORTING p_name      = 'Kurt'
                                                  p_planetype = 'MD80'.
END-OF-SELECTION.
Using methods
  CALL METHOD: airplane1->display_n_o_airplanes,
               airplane1->display_attributes. 
The resulting report:
Maintain airplanes                                                                               
No. planes:          1                                
No. planes:          2                                
Name: Kurt                      Planetype: MD80       
Use constructor to create an object with parameters
CLASS lcl_airplane DEFINITION.
  PUBLIC SECTION.
    TYPES: t_name(25) TYPE c.
    METHODS:
      constructor    importing p2_name      type t_name
                               p2_planetype  TYPE saplane-planetype,
..... more code .......
CLASS lcl_airplane IMPLEMENTATION.
  METHOD constructor.
    name      = p2_name.
    planetype = p2_planetype.
..... more code .......
START-OF-SELECTION.
  CREATE OBJECT airplane1 exporting p2_name = 'Hansemand'
                                    p2_planetype = 'Boing 747'.
Subclassing
This example uses a superclass LCL_AIRPLANE and subclasses it into LCL_PASSENGER_AIRPLANE and LCL_CARGO_PLANE.
LCL_AIRPLANE has a method display_n_o_airplanes that displays the number of object instances.
LCL_PASSENGER_AIRPLANE has the private instance attribute n_o_seats, and redefines the superclass method display_attributes, so it also displays n_o_seats.
LCL_CARGO_PLANE has the private instance attribute cargomax, and redefines the superclass method display_attributes, so it also displays cargomax.
All instance attributes are provided by the cunstructor method.
Superclass LCL_AIRPLANE
***INCLUDE ZBC404_HF_LCL_AIRPLANE .
Definition part
CLASS lcl_airplane DEFINITION.
Public section
  PUBLIC SECTION.
    TYPES: t_name(25) TYPE c.
    METHODS:
      constructor    IMPORTING im_name      TYPE t_name
                               im_planetype  TYPE saplane-planetype,
      display_attributes.
  Static methods
    CLASS-METHODS:
      display_n_o_airplanes.
Protected section
  PROTECTED SECTION.
  Private attributes
    DATA: name(25) TYPE c,
          planetype TYPE saplane-planetype.
  Private static attribute
    CLASS-DATA n_o_airplanes TYPE i.
ENDCLASS.
Implementation part
CLASS lcl_airplane IMPLEMENTATION.
  METHOD constructor.
    name      = im_name.
    planetype = im_planetype.
  Counts number of instances
    n_o_airplanes = n_o_airplanes + 1.
  ENDMETHOD.
  METHOD display_attributes.
    WRITE:/ 'Name:', name, 'Planetype:', planetype.
  ENDMETHOD.
  METHOD display_n_o_airplanes.
    WRITE: / 'No. planes:', n_o_airplanes.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_PASSENGER_AIRPLANE
***INCLUDE ZBC404_HF_LCL_PASSENGER_PLANE .
This is a subclass of class lcl_airplane
CLASS lcl_passenger_airplane DEFINITION INHERITING FROM lcl_airplane.
  PUBLIC SECTION.
  The constructor contains the parameters from the superclass
  plus the parameters from the subclass
    METHODS:
      constructor IMPORTING im_name      TYPE t_name
                            im_planetype TYPE saplane-planetype
                            im_n_o_seats TYPE sflight-seatsmax,
    Redefinition of superclass method display_attributes
      display_attributes REDEFINITION.
  PRIVATE SECTION.
    DATA: n_o_seats TYPE sflight-seatsmax.
ENDCLASS.
CLASS lcl_passenger_airplane IMPLEMENTATION.
  METHOD constructor.
  The constructor method of the superclass MUST be called withing the
  construtor
    CALL METHOD super->constructor
                          EXPORTING im_name      = im_name
                                    im_planetype = im_planetype.
    n_o_seats = im_n_o_seats.
  ENDMETHOD.
  The redefined  display_attributes method
  METHOD display_attributes.
    CALL METHOD super->display_attributes.
    WRITE: / 'No. seats:', n_o_seats.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_CARGO_PLANE
***INCLUDE ZBC404_HF_LCL_CARGO_PLANE .
This is a subclass of class lcl_airplane
CLASS lcl_cargo_plane DEFINITION INHERITING FROM lcl_airplane.
  PUBLIC SECTION.
    METHODS:
    The constructor contains the parameters from the superclass
    plus the parameters from the subclass
      constructor IMPORTING im_name      TYPE t_name
                            im_planetype TYPE saplane-planetype
                            im_cargomax  type scplane-cargomax,
    Redefinition of superclass method display_attributes
      display_attributes REDEFINITION.
  PRIVATE SECTION.
    DATA:cargomax TYPE scplane-cargomax.
ENDCLASS.
CLASS lcl_cargo_plane IMPLEMENTATION.
  METHOD constructor.
  The constructor method of the superclass MUST be called withing the
  constructor
    CALL METHOD super->constructor
                          EXPORTING im_name      = im_name
                                    im_planetype = im_planetype.
    cargomax = im_cargomax.
  ENDMETHOD.
  METHOD display_attributes.
  The redefined  display_attributes method
    CALL METHOD super->display_attributes.
    WRITE: / 'Cargo max:', cargomax.
  ENDMETHOD.
ENDCLASS.
The Main program that uses the classes
REPORT zbc404_hf_main .
Super class
INCLUDE zbc404_hf_lcl_airplane.
Sub classes
INCLUDE zbc404_hf_lcl_passenger_plane.
INCLUDE zbc404_hf_lcl_cargo_plane.
DATA:
Type ref to sub classes. Note: It is not necesssary to make typeref to the superclass
  o_passenger_airplane TYPE REF TO lcl_passenger_airplane,
  o_cargo_plane        TYPE REF TO lcl_cargo_plane.
START-OF-SELECTION.
Display initial number of instances = 0
  CALL METHOD  lcl_airplane=>display_n_o_airplanes.
Create objects
  CREATE OBJECT o_passenger_airplane
    EXPORTING
      im_name      = 'LH505'
      im_planetype = 'Boing 747'
      im_n_o_seats = 350.
  CREATE OBJECT o_cargo_plane
    EXPORTING
      im_name      = 'AR13'
      im_planetype = 'DC 3'
      im_cargomax = 35.
Display attributes
  CALL METHOD o_passenger_airplane->display_attributes.
  CALL METHOD o_cargo_plane->display_attributes.
Call static method display_n_o_airplanes
Note: The syntax for calling a superclass method, differs from the syntax when calling a subclass method.
When calling a superclass => must be used instead of ->
  CALL METHOD  lcl_airplane=>display_n_o_airplanes.
Result:
No. planes: 0
Name: LH505 Planetype: Boing 747
No. seats: 350
Name: AR13 Planetype: DC 3
Cargo max: 35,0000
No. planes: 2
Polymorphism
Polymorphism: When the same method is implemented differently in different classes. This can be done using enheritance, by redefining a method from the superclass in subclasses and implement it differently.
Classes:
•     lcl_airplane Superclass
•     lcl_cargo_airplane Subclass
•     lcl_passenger_airplane Subclass
The method estimate_fuel_consumption is implemented differently in the 3 classes, as it depends on the airplane type.
Object from different classes are stored in an internal table (plane_list) consisting of references to the superclass, and the processed
identically for all the classes.
What coding for the estimate_fuel_consumption method taht is actually executed, depends on the dynamic type of the plane reference variable,
that is, depends on which object plane points to.
DATA: cargo_plane            TYPE REF to lcl_cargo_airplane,
          passenger_plane    TYPE REF to lcl_passenger_airplane,
          plane_list                  TYPE TABLE OF REF TO lcl_airplane.
Creating the list of references
CREATE OBJECT cargo_plane.
APPEND cargo_plane to plane_list.
CREATE OBJECT passenger_plane
APPEND passenger_plane to plane list.
Generic method for calucalting required fuel
METHOD calculate required_fuel.
  DATA: plane TYPE REF TO lcl_airplane.
  LOOP AT plane_list INTO plane.
    re_fuel = re_fuel + plane->estimate_fuel_consumption( distance ).
  ENDLOOP.
ENDMETHOD.
Working example:
This example assumes that the classes lcl_airplane,  lcl_passnger_airplane and lcl_cargo plane (Se Subcallsing)  exists.
Create objects of type lcl_cargo_plane and lcl_passenger_airplane, adds them to a list in lcl_carrier, and displays the list. 
*& Include  ZBC404_HF_LCL_CARRIER                                      *
      CLASS lcl_carrier DEFINITION                                   *
CLASS lcl_carrier DEFINITION.
  PUBLIC SECTION.
    TYPES: BEGIN OF flight_list_type,
              connid   TYPE sflight-connid,
              fldate   TYPE sflight-fldate,
              airplane TYPE REF TO lcl_airplane,
              seatsocc TYPE sflight-seatsocc,
              cargo(5) TYPE p DECIMALS 3,
           END OF flight_list_type.
    METHODS: constructor IMPORTING im_name TYPE string,
             get_name RETURNING value(ex_name) TYPE string,
             add_a_new_airplane IMPORTING
                                   im_airplane TYPE REF TO lcl_airplane,
    create_a_new_flight importing
                          im_connid   type sflight-connid
                          im_fldate   type sflight-fldate
                          im_airplane type ref to lcl_airplane
                          im_seatsocc type sflight-seatsocc
                                    optional
                        im_cargo    type p optional,
     display_airplanes.
  PRIVATE SECTION.
    DATA: name              TYPE string,
          list_of_airplanes TYPE TABLE OF REF TO lcl_airplane,
          list_of_flights   TYPE TABLE OF flight_list_type.
ENDCLASS.
      CLASS lcl_carrier IMPLEMENTATION
CLASS lcl_carrier IMPLEMENTATION.
  METHOD constructor.
    name = im_name.
  ENDMETHOD.
  METHOD get_name.
    ex_name = name.
  ENDMETHOD.
  METHOD create_a_new_flight.
    DATA: wa_list_of_flights TYPE flight_list_type.
    wa_list_of_flights-connid   = im_connid.
    wa_list_of_flights-fldate   = im_fldate.
    wa_list_of_flights-airplane = im_airplane.
    IF im_seatsocc IS INITIAL.
      wa_list_of_flights-cargo = im_cargo.
    ELSE.
      wa_list_of_flights-seatsocc = im_seatsocc.
    ENDIF.
    APPEND wa_list_of_flights TO list_of_flights.
  ENDMETHOD.
  METHOD add_a_new_airplane.
    APPEND im_airplane TO list_of_airplanes.
  ENDMETHOD.
  METHOD display_airplanes.
    DATA: l_airplane TYPE REF TO lcl_airplane.
    LOOP AT list_of_airplanes INTO l_airplane.
      CALL METHOD l_airplane->display_attributes.
    ENDLOOP.
  ENDMETHOD.
ENDCLASS.
REPORT zbc404_hf_main .
This reprort uses class LCL_AIRPLNAE and subclasses
LCL_CARGO_PLANE and LCL_PASSENGER_AIRPLANE and class LCL_CARRIER
Super class for airplanes
INCLUDE zbc404_hf_lcl_airplane.
Sub classes for airplanes
INCLUDE zbc404_hf_lcl_passenger_plane.
INCLUDE zbc404_hf_lcl_cargo_plane.
Carrier class
INCLUDE zbc404_hf_lcl_carrier.
DATA:
Type ref to classes
  o_passenger_airplane  TYPE REF TO lcl_passenger_airplane,
  o_passenger_airplane2 TYPE REF TO lcl_passenger_airplane,
  o_cargo_plane         TYPE REF TO lcl_cargo_plane,
  o_cargo_plane2        TYPE REF TO lcl_cargo_plane,
  o_carrier             TYPE REF TO lcl_carrier.
START-OF-SELECTION.
Create objects
  CREATE OBJECT o_passenger_airplane
    EXPORTING
      im_name      = 'LH505'
      im_planetype = 'Boing 747'
      im_n_o_seats = 350.
  CREATE OBJECT o_passenger_airplane2
    EXPORTING
      im_name      = 'SK333'
      im_planetype = 'MD80'
      im_n_o_seats = 110.
  CREATE OBJECT o_cargo_plane
    EXPORTING
      im_name      = 'AR13'
      im_planetype = 'DC 3'
      im_cargomax = 35.
  CREATE OBJECT o_cargo_plane2
    EXPORTING
      im_name      = 'AFL124'
      im_planetype = 'Iljutsin 2'
      im_cargomax = 35000.
  CREATE OBJECT o_carrier
    EXPORTING im_name = 'Spritisch Airways'.
Add passenger and cargo planes to the list of airplanes
  CALL METHOD o_carrier->add_a_new_airplane
     EXPORTING im_airplane = o_passenger_airplane.
  CALL METHOD o_carrier->add_a_new_airplane
     EXPORTING im_airplane = o_passenger_airplane2.
  CALL METHOD o_carrier->add_a_new_airplane
     EXPORTING im_airplane = o_cargo_plane.
  CALL METHOD o_carrier->add_a_new_airplane
     EXPORTING im_airplane = o_cargo_plane2.
Display list of airplanes
  call method o_carrier->display_airplanes.
Result:
Name: LH505                     Planetype: Boing 747        
No. seats:       350                                        
Name: SK333                     Planetype: MD80             
No. seats:       110                                        
Name: AR13                      Planetype: DC 3             
Cargo max:             35,0000                              
Name: AFL124                    Planetype: Iljutsin 2       
Cargo max:         35.000,0000                              
Events
Below is a simple example of how to implement an event.
REPORT zbc404_hf_events_5.
      CLASS lcl_dog DEFINITION
CLASS lcl_dog DEFINITION.
  PUBLIC SECTION.
  Declare events
    EVENTS:
      dog_is_hungry
        EXPORTING value(ex_time_since_last_meal) TYPE i.
    METHODS:
      constructor
          IMPORTING im_name TYPE string,
      set_time_since_last_meal
          IMPORTING im_time TYPE i,
      on_dog_is_hungry FOR EVENT dog_is_hungry OF lcl_dog
          IMPORTING ex_time_since_last_meal.
ENDCLASS.
      CLASS lcl_dog IMPLEMENTATION
CLASS lcl_dog IMPLEMENTATION.
  METHOD constructor.
    WRITE: / 'I am a dog and my name is', im_name.
  ENDMETHOD.
  METHOD set_time_since_last_meal.
    IF im_time < 4.
      SKIP 1.
      WRITE: / 'You fool, I am not hungry yet'.
    ELSE.
   Subsrcribe for event:
   set handler <Event handler method>
   FOR <ref_sender>!FOR ALL INSTANCES [ACTIVATION <var>]
      SET HANDLER on_dog_is_hungry FOR ALL INSTANCES ACTIVATION 'X'.
   Raise event
      RAISE EVENT dog_is_hungry
        EXPORTING ex_time_since_last_meal = im_time.
    ENDIF.
  ENDMETHOD.
  METHOD on_dog_is_hungry.
  Event method, called when the event dog_is_hungry is raised
    SKIP 1.
    WRITE: /  'You son of a *****. I have not eaten for more than',
              ex_time_since_last_meal, ' hours'.
    WRITE: / 'Give me something to eat NOW!'.
  ENDMETHOD.
ENDCLASS.
      R E P O R T
DATA: o_dog1 TYPE REF TO lcl_dog.
START-OF-SELECTION.
  CREATE OBJECT o_dog1 EXPORTING im_name = 'Beefeater'.
  CALL METHOD o_dog1->set_time_since_last_meal
    EXPORTING im_time = 2.
This method call will raise the event dog_is_hungy
because time > 3
  CALL METHOD o_dog1->set_time_since_last_meal
    EXPORTING im_time = 5.
Result:
I am a dog and my name is Beefeater
You fool, I am not hungry yet
You son of a *****. I have not eaten for more than 5 hours
Give me something to eat NOW!
1. Simple class
This example shows how to create a simple employee class. The constructor method is used to initialize number and name of thje employee when the object is created. A display_employee method can be called to show the attributes of the employee, and CLASS-METHOD dosplay_no_of_employees can be called to show the total number of employees (Number of instances of the employee class).
REPORT zbc404_hf_events_1.
L C L _ E M P L O Y E E
*---- LCL Employee - Definition
CLASS lcl_employee DEFINITION.
  PUBLIC SECTION.
The public section is accesible from outside  
    TYPES:
      BEGIN OF t_employee,
        no  TYPE i,
        name TYPE string,
     END OF t_employee.
    METHODS:
      constructor
        IMPORTING im_employee_no TYPE i
                  im_employee_name TYPE string,
      display_employee.
  Class methods are global for all instances      
    CLASS-METHODS: display_no_of_employees.
  PROTECTED SECTION.
The protecetd section is accesible from the class and its subclasses 
  Class data are global for all instances      
    CLASS-DATA: g_no_of_employees TYPE i.
  PRIVATE SECTION.
The private section is only accesible from within the classs 
    DATA: g_employee TYPE t_employee.
ENDCLASS.
*--- LCL Employee - Implementation
CLASS lcl_employee IMPLEMENTATION.
  METHOD constructor.
    g_employee-no = im_employee_no.
    g_employee-name = im_employee_name.
    g_no_of_employees = g_no_of_employees + 1.
  ENDMETHOD.
  METHOD display_employee.
    WRITE:/ 'Employee', g_employee-no, g_employee-name.
  ENDMETHOD.
  METHOD display_no_of_employees.
    WRITE: / 'Number of employees is:', g_no_of_employees.
  ENDMETHOD.
ENDCLASS.
R E P O R T
DATA: g_employee1 TYPE REF TO lcl_employee,
      g_employee2 TYPE REF TO lcl_employee.
START-OF-SELECTION.
  CREATE OBJECT g_employee1
    EXPORTING im_employee_no = 1
              im_employee_name = 'John Jones'.
  CREATE OBJECT g_employee2
    EXPORTING im_employee_no = 2
              im_employee_name = 'Sally Summer'.
  CALL METHOD g_employee1->display_employee.
  CALL METHOD g_employee2->display_employee.
  CALL METHOD g_employee2->display_no_of_employees.
2. Inheritance and polymorphism
This example uses a superclass lcl_company_employees and two subclasses lcl_bluecollar_employee and lcl_whitecollar_employee to add employees to a list and then display a list of employees and there wages. The wages are calcukated in the method add_employee, but as the wages are calculated differently for blue collar employees and white collar emplyees, the superclass method add_employee is redeifined in the subclasses.
Principles:
Create super class LCL_CompanyEmployees.
The class has the methods:
•     Constructor
•     Add_Employee - Adds a new employee to the list of employees
•     Display_Employee_List - Displays all employees and there wage
•     Display_no_of_employees - Displays total number of employees
Note the use of CLASS-DATA to keep the list of employees and number of employees the same from instance to instance.
Create subclasses lcl_bluecollar_employee and lcl_whitecollar_employee. The calsses are identical, except for the redifinition of the add_employee method, where the caclculation of wage is different.
Methodes:
•     Constructor. The constructor is used to initialize the attributes of the employee. Note that the constructor in the supclasss has to be called from within the constructor of the subclass.
•     Add_Employee. This is a redinition of the same method in the superclass. In the redefined class the wage is calcuated, and the superclass method is called to add the employees to the emploee list.:
The program
REPORT zbc404_hf_events_2 .
Super class LCL_CompanyEmployees
CLASS lcl_company_employees DEFINITION.
  PUBLIC SECTION.
    TYPES:
      BEGIN OF t_employee,
        no  TYPE i,
        name TYPE string,
        wage TYPE i,
     END OF t_employee.
    METHODS:
      constructor,
      add_employee
        IMPORTING im_no   TYPE i
                  im_name TYPE string
                  im_wage TYPE i,
      display_employee_list,
      display_no_of_employees.
  PRIVATE SECTION.
    CLASS-DATA: i_employee_list TYPE TABLE OF t_employee,
                no_of_employees TYPE i.
ENDCLASS.
*-- CLASS LCL_CompanyEmployees IMPLEMENTATION
CLASS lcl_company_employees IMPLEMENTATION.
  METHOD constructor.
    no_of_employees = no_of_employees + 1.
  ENDMETHOD.
  METHOD add_employee.
  Adds a new employee to the list of employees
    DATA: l_employee TYPE t_employee.
    l_employee-no = im_no.
    l_employee-name = im_name.
    l_employee-wage = im_wage.
    APPEND l_employee TO i_employee_list.
  ENDMETHOD.
  METHOD display_employee_list.
  Displays all employees and there wage
    DATA: l_employee TYPE t_employee.
    WRITE: / 'List of Employees'.
    LOOP AT i_employee_list INTO l_employee.
      WRITE: / l_employee-no, l_employee-name, l_employee-wage.
    ENDLOOP.
  ENDMETHOD.
  METHOD display_no_of_employees.
  Displays total number of employees
    SKIP 3.
    WRITE: / 'Total number of employees:', no_of_employees.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_BlueCollar_Employee
CLASS lcl_bluecollar_employee DEFINITION
          INHERITING FROM lcl_company_employees.
  PUBLIC SECTION.
    METHODS:
        constructor
          IMPORTING im_no             TYPE i
                    im_name           TYPE string
                    im_hours          TYPE i
                    im_hourly_payment TYPE i,
         add_employee REDEFINITION.
  PRIVATE SECTION.
    DATA:no             TYPE i,
         name           TYPE string,
         hours          TYPE i,
         hourly_payment TYPE i.
ENDCLASS.
*---- CLASS LCL_BlueCollar_Employee IMPLEMENTATION
CLASS lcl_bluecollar_employee IMPLEMENTATION.
  METHOD constructor.
  The superclass constructor method must be called from the subclass
  constructor method
    CALL METHOD super->constructor.
    no = im_no.
    name = im_name.
    hours = im_hours.
    hourly_payment = im_hourly_payment.
  ENDMETHOD.
  METHOD add_employee.
  Calculate wage an call the superclass method add_employee to add
  the employee to the employee list
    DATA: l_wage TYPE i.
    l_wage = hours * hourly_payment.
    CALL METHOD super->add_employee
      EXPORTING im_no = no
                im_name = name
                im_wage = l_wage.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_WhiteCollar_Employee
CLASS lcl_whitecollar_employee DEFINITION
    INHERITING FROM lcl_company_employees.
  PUBLIC SECTION.
    METHODS:
        constructor
          IMPORTING im_no                 TYPE i
                    im_name               TYPE string
                    im_monthly_salary     TYPE i
                    im_monthly_deductions TYPE i,
         add_employee REDEFINITION.
  PRIVATE SECTION.
    DATA:
      no                    TYPE i,
      name                  TYPE string,
      monthly_salary        TYPE i,
      monthly_deductions    TYPE i.
ENDCLASS.
*---- CLASS LCL_WhiteCollar_Employee IMPLEMENTATION
CLASS lcl_whitecollar_employee IMPLEMENTATION.
  METHOD constructor.
  The superclass constructor method must be called from the subclass
  constructor method
    CALL METHOD super->constructor.
    no = im_no.
    name = im_name.
    monthly_salary = im_monthly_salary.
    monthly_deductions = im_monthly_deductions.
  ENDMETHOD.
  METHOD add_employee.
  Calculate wage an call the superclass method add_employee to add
  the employee to the employee list
    DATA: l_wage TYPE i.
    l_wage = monthly_salary - monthly_deductions.
    CALL METHOD super->add_employee
      EXPORTING im_no = no
                im_name = name
                im_wage = l_wage.
  ENDMETHOD.
ENDCLASS.
R E P O R T
DATA:
Object references
  o_bluecollar_employee1  TYPE REF TO lcl_bluecollar_employee,
  o_whitecollar_employee1 TYPE REF TO lcl_whitecollar_employee.
START-OF-SELECTION.
Create bluecollar employee obeject
  CREATE OBJECT o_bluecollar_employee1
      EXPORTING im_no  = 1
                im_name  = 'Gylle Karen'
                im_hours = 38
                im_hourly_payment = 75.
Add bluecollar employee to employee list
  CALL METHOD o_bluecollar_employee1->add_employee
      EXPORTING im_no  = 1
                im_name  = 'Gylle Karen'
                im_wage = 0.
Create whitecollar employee obeject
  CREATE OBJECT o_whitecollar_employee1
      EXPORTING im_no  = 2
                im_name  = 'John Dickens'
                im_monthly_salary = 10000
                im_monthly_deductions = 2500.
Add bluecollar employee to employee list
  CALL METHOD o_whitecollar_employee1->add_employee
      EXPORTING im_no  = 1
                im_name  = 'Karen Johnson'
                im_wage = 0.
Display employee list and number of employees. Note that the result
will be the same when called from o_whitecollar_employee1 or
o_bluecolarcollar_employee1, because the methods are defined
as static (CLASS-METHODS)
  CALL METHOD o_whitecollar_employee1->display_employee_list.
  CALL METHOD o_whitecollar_employee1->display_no_of_employees.
The resulting report
List of Employees
1 Karen Johnson 2.850
2 John Dickens 7.500
Total number of employees: 2
3. Interfaces
This example is similiar to th eprevious example, however an interface is implemented with the method add_employee. Note that the interface is only implemented in the superclass ( The INTERFACE stament), but also used in the subclasses.
The interface in the example only contains a method, but an iterface can also contain attrbutes, constants, types and alias names.
The output from example 3 is similiar to the output in example 2.
All changes in the program compared to example 2 are marked with red.
REPORT zbc404_hf_events_3 .
      INTERFACE lif_employee
INTERFACE lif_employee.
  METHODS:
    add_employee
       IMPORTING im_no   TYPE i
                  im_name TYPE string
                  im_wage TYPE i.
ENDINTERFACE.
Super class LCL_CompanyEmployees
CLASS lcl_company_employees DEFINITION.
  PUBLIC SECTION.
    INTERFACES lif_employee.
    TYPES:
      BEGIN OF t_employee,
        no  TYPE i,
        name TYPE string,
        wage TYPE i,
     END OF t_employee.
    METHODS:
      constructor,
     add_employee      "Removed
        IMPORTING im_no   TYPE i
                  im_name TYPE string
                  im_wage TYPE i,
      display_employee_list,
      display_no_of_employees.
  PRIVATE SECTION.
    CLASS-DATA: i_employee_list TYPE TABLE OF t_employee,
                no_of_employees TYPE i.
ENDCLASS.
*-- CLASS LCL_CompanyEmployees IMPLEMENTATION
CLASS lcl_company_employees IMPLEMENTATION.
  METHOD constructor.
    no_of_employees = no_of_employees + 1.
  ENDMETHOD.
  METHOD lif_employee~add_employee.
  Adds a new employee to the list of employees
    DATA: l_employee TYPE t_employee.
    l_employee-no = im_no.
    l_employee-name = im_name.
    l_employee-wage = im_wage.
    APPEND l_employee TO i_employee_list.
  ENDMETHOD.
  METHOD display_employee_list.
  Displays all employees and there wage
    DATA: l_employee TYPE t_employee.
    WRITE: / 'List of Employees'.
    LOOP AT i_employee_list INTO l_employee.
      WRITE: / l_employee-no, l_employee-name, l_employee-wage.
    ENDLOOP.
  ENDMETHOD.
  METHOD display_no_of_employees.
  Displays total number of employees
    SKIP 3.
    WRITE: / 'Total number of employees:', no_of_employees.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_BlueCollar_Employee
CLASS lcl_bluecollar_employee DEFINITION
          INHERITING FROM lcl_company_employees.
  PUBLIC SECTION.
    METHODS:
        constructor
          IMPORTING im_no             TYPE i
                    im_name           TYPE string
                    im_hours          TYPE i
                    im_hourly_payment TYPE i,
         lif_employee~add_employee REDEFINITION..
  PRIVATE SECTION.
    DATA:no             TYPE i,
         name           TYPE string,
         hours          TYPE i,
         hourly_payment TYPE i.
ENDCLASS.
*---- CLASS LCL_BlueCollar_Employee IMPLEMENTATION
CLASS lcl_bluecollar_employee IMPLEMENTATION.
  METHOD constructor.
  The superclass constructor method must be called from the subclass
  constructor method
    CALL METHOD super->constructor.
    no = im_no.
    name = im_name.
    hours = im_hours.
    hourly_payment = im_hourly_payment.
  ENDMETHOD.
  METHOD lif_employee~add_employee.
  Calculate wage an call the superclass method add_employee to add
  the employee to the employee list
    DATA: l_wage TYPE i.
    l_wage = hours * hourly_payment.
    CALL METHOD super->lif_employee~add_employee
      EXPORTING im_no = no
                im_name = name
                im_wage = l_wage.
  ENDMETHOD.
ENDCLASS.
Sub class LCL_WhiteCollar_Employee
CLASS lcl_whitecollar_employee DEFINITION
    INHERITING FROM lcl_company_employees.
  PUBLIC SECTION.
    METHODS:
        constructor
          IMPORTING im_no                 TYPE i
                    im_name               TYPE string
                    im_monthly_salary     TYPE i
                    im_monthly_deductions TYPE i,
         lif_employee~add_employee REDEFINITION.
  PRIVATE SECTION.
    DATA:
      no                    TYPE i,
      name                  TYPE string,
      monthly_salary        TYPE i,
      monthly_deductions    TYPE i.
ENDCLASS.
*---- CLASS LCL_WhiteCollar_Employee IMPLEMENTATION
CLASS lcl_whitecollar_employee IMPLEMENTATION.
  METHOD constructor.
  The superclass constructor method must be called from the subclass
  constructor method
    CALL METHOD super->constructor.
    no = im_no.
    name = im_name.
    monthly_salary = im_monthly_salary.
    monthly_deductions = im_monthly_deductions.
  ENDMETHOD.
  METHOD lif_employee~add_employee.
  Calculate wage an call the superclass method add_employee to add
  the employee to the employee list
    DATA: l_wage TYPE i.
    l_wage = monthly_salary - monthly_deductions.
    CALL METHOD super->lif_employee~add_employee
      EXPORTING im_no = no
                im_name = name
                im_wage = l_wage.
  ENDMETHOD.
ENDCLASS.
R E P O R T
DATA:
Object references
  o_bluecollar_employee1  TYPE REF TO lcl_bluecollar_employee,
  o_whitecollar_employee1 TYPE REF TO lcl_whitecollar_employee.
START-OF-SELECTION.
Create bluecollar employee obeject
  CREATE OBJECT o_bluecollar_employee1
      EXPORTING im_no  = 1
                im_name  = 'Gylle Karen'
                im_hours = 38
                im_hourly_payment = 75.
Add bluecollar employee to employee list
  CALL METHOD o_bluecollar_employee1->lif_employee~add_employee
      EXPORTING im_no  = 1
                im_name  = 'Karen Johnson'
                im_wage = 0.
Create whitecollar employee obeject
  CREATE OBJECT o_whitecollar_employee1
      EXPORTING im_no  = 2
                im_name  = 'John Dickens'
                im_monthly_salary = 10000
                im_monthly_deductions = 2500.
Add bluecollar employee to employee list
  CALL METHOD o_whitecollar_employee1->lif_employee~add_employee
      EXPORTING im_no  = 1
                im_name  = 'Gylle Karen'
                im_wage = 0.
Display employee list and number of employees. Note that the result
will be the same when called from o_whitecollar_employee1 or
o_bluecolarcollar_employee1, because the methods are defined
as static (CLASS-METHODS)
  CALL METHOD o_whitecollar_employee1->display_employee_list.
  CALL METHOD o_whitecollar_employee1->display_no_of_employees.
4. Events
This is the same example as example 4. All changes are marked with red. There have been no canges to the subclasses, only to the superclass and the report, sp the code for th esubclasses is not shown.
For a simple example refer to Events in Examples.
REPORT zbc404_hf_events_4 .
      INTERFACE lif_employee
INTERFACE lif_employee.
  METHODS:
    add_employee
       IMPORTING im_no   TYPE i
                  im_name TYPE string
                  im_wage TYPE i.
ENDINTERFACE.
Super class LCL_CompanyEmployees
CLASS lcl_company_employees DEFINITION.
  PUBLIC SECTION.
    TYPES:
    BEGIN OF t_employee,
      no  TYPE i,
      name TYPE string,
      wage TYPE i,
   END OF t_employee.
  Declare event. Note that declaration could also be placed in the
  interface

Similar Messages

  • Issue with internal table in object oriented ABAP.

    Hello Gurus,
    I am having trouble defining internal table in Object oriented ABAP. for following:
    DATA: BEGIN OF IT_TAB OCCURS 0.
            INCLUDE STRUCTURE ZCUSTOM.
    DATA    tot_sum   TYPE char40.
    DATA END OF IT_TAB.
    Can someone help ?
    Regards,
    Jainam.
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Edited by: Jainam Shah on Feb 5, 2010 8:33 PM
    Moderator message - Please post in the correct forum. You can easily find out for yourself by looking at SAP help for internal tables using OOP - thread locked
    Edited by: Rob Burbank on Feb 5, 2010 2:49 PM

    No, you can not declare internal table with header line in OO context. You have to declare the work are/header line separately
    Example:
    TYPES: BEGIN OF ty_it_tab.
            INCLUDE STRUCTURE mara.
    TYPES:  tot_sum TYPE char40.
    TYPES: END OF ty_it_tab.
    DATA: it_tab TYPE STANDARD TABLE  OF ty_it_tab.
    DATA: wk_tab TYPE ty_it_tab.
    LOOP AT it_tab INTO wk_tab.
    ENDLOOP.
    Edited by: Dean Q on Feb 5, 2010 8:50 PM

  • Debugging a Module Pool Program(Object Oriented ABAP)

    Hello Experts,
    Could you please advise me on an efficient debugging technoque of Module Pool Program which is based on Object Oriented ABAP?

    Hi
    Debugging Module pool program using ABAP objects is same as debugging any other report/module pool program.
    Click on the Create shortcut icon on the toolbar.
    In the popup window choose "System command" and in the command enter "/h"
    A shortcut on the desktop would be created
    Drag and drop the shortcut to the modal window to set debugging on.
    Approach 2:
    Create a txt file on the desktop with the following lines:
    [FUNCTION]
    Command=/H
    Title=Debugger
    Type=SystemCommandDrag and drop this file to the modal window to set debugging on.
    How do I switch between the Classic and New Debugger
    From within the ABAP workbench, select the Utilities->Settings Menu
    Select the ABAP Editor Tab
    Select the Debugging tab within the ABAP Editor Tab
    Select the Classic Debugger or New Debugger radio button
    Refer to this thread
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    Debugging
    Check these documents.
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_nw04/helpdata/en/5a/4ed93f130f9215e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
    http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
    ABAP Debugging
    http://www.saplinks.net/index.php?option=com_content&task=view&id=24&Itemid=34
    Look at the SAP help link below
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
    Reward points if useful
    Regards
    Anji

  • I want to learn more about OOABAP(Object Oriented ABAP)

    Hi All,
    Please could anybody help me in sending some of material or suggestion in learning(Exploring) the Object Oriented ABAP. Right now I am an ABAP/4 Developer.
    Please if anybody having any such material please send it to my mail-id i.e <u>[email protected]</u> or else please tell me the resources to learn the OOABAP please.
    Now I have to work on that project. Thanks in advance.
    By
    ASHOK
    If anything PDF format material please could you upload to my mail ID <u>[email protected]</u>
    Message was edited by: ashok vanga

    Hi ashok,
    check this link....
    http://www.intelligententerprise.com/channels/applications/feature/archive/heymann.jhtml?_requestid=304802
    http://www.henrikfrank.dk/abapuk.html
    http://sap.ittoolbox.com/documents/document.asp?i=982
    reward points for helpfull answers and close the thread if your question is solved.
    regards,
    venu.

  • Learning tips for Object Oriented ABAP

    Hi Gurus,
    I am in ABAP for last 1 year,
    I want to learn Object oriented ABAP can you please guide me where to start.
    Some learning material etc.
    Regards
    Bikas

    Normal ABAP is process oriented, where is OOP-ABAP is a new methodology in ABAP which uses object oriented programming.
    we have C++, java, C#, etc as OOP languages.
    ABAP has also implemented the OOP technology.
    it uses classes, methods and interfaces instead of functiongroups and function modules.
    As part of SAP’s long-standing commitment to object technology, Release 4.0
    of R/3 will contain object-oriented enhancements to the ABAP programming
    language. SAP’s object strategy is based on SAP Business Objects and now
    covers modeling, programming, interfacing, and workflow. By using principles
    like encapsulation, inheritance, and polymorphism, the object-oriented
    extensions of ABAP will support real object-oriented development. This will
    result in improvements in the areas of reusability, maintenance, and quality of
    code. SAP offers an evolutionary approach toward objects which leverages
    SAP’s own and its customers’ investments in existing business processes,
    functionality and data.
    OO ABAP
    http://www.sapgenie.com/abap/OO/eg.htm
    http://www.sapgenie.com/abap/OO/syntax.htm
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/OO/defn.htm
    Detailed
    OOPS – OO ABAP
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    REward points if useful.

  • Documents of Object Oriented ABAP

    I need some documentation of Object Oriented ABAP, Please send the same

    hi,
    some helful links.
    Go through the below links,
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    rgds'
    Anver

  • Object-oriented + ABAP Objects

    Hello friends,
    I would like to know, is it possible in ABAP Objects to do the followings:
    Single Inheritance
    Multiple Inheritance
    Polymorphism
    Data Abstration
    Method Overloading, and method Overriding
    Inner Classes ?
    Would be nice if some one highlights some of the features of ABAP Objects, in comparision or in regards to JAVA or so...
    Many thanks in advance...

    Hi,
    In ABAP : We do have final concept!
    There are differencies between 'Local Classes' created in abap wihtin One program : for example Handler for ALV Grid
    And Repository classes : Created in the repository available for any program!
    Multi threading can be done via asynchronous Function module or with event!
    greetz!
    <b>Thanks for small-> Big reward!</b>

  • Object Oriented ABAP Materials please

    Hi All,
          Can Any send me the good document link for studying
    OOP's ABAP.
    I'll be grateful to U,if U could do the help.

    Horst Keller and Joachim Jacobitz have a wonderful two volume book called ABAP Objects: The Official Reference.
    You can order it and download a very valuable chapter by visiting:
    http://www.sap-press.com/product.cfm?account=&product=H958
    More information about BC401 - ABAP Objects - may be obtained by visiting the Education Page:
    http://www.sap.com/education
    Specific ABAP Objects course information is found at:
    http://www11.sap.com/services/education/teamtraining/netweaver.epx
    Cheers,
    Marilyn

  • Object Orientated ABAP

    Hi,
    I am totally new in OOABAP. Will u send me some good docs for OOABAP. What is the functionality of Class, interface, method, etc. each & everything used in OOABAP?

    hi Salil
    check the below links u will find lot of material
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    Regards,
    Naveen

  • Object oriented abap problem

    CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.
    Please let me know the meaning of the statement in declaring the class.
    Reward is compulsary.

    Hi vijay,
    1. Usually the class along with the
      definition, should be coded FIRST.
    2. but some times,
       due to some reasons,
       we want to write the code
       for definition,
       after some lines ,ie ... below.
    3. So that syntax error is not recevied,
      WE HAVE TO TELL ABAP ABOUT THIS .
    4. so, as the name suggests,
       DEFINITION DEFERRED,
      we use like this.
    regards,
    amit m.

  • Regarding "Friend Function" in Object oriented Abap.

    Hi! Every Body,
    I need to know about this friend function in ooabap.
    1. Clear Definition.
    2. i need program too.
    3. What is the use Of friend function?
    4. wht is the difference from java and ooabap using this function.
    if any body replies for my query , i really thank full to u.
    regards,
    M.swapna.
    [email protected]

    Hi Swapna,
    Usually private components of a class can be accessed by methods of that class only..Sometimes, it is necessary for two classes to work so close to each other that one class needs to access the private attributes of the other.
    In that case, you can make the former class, a friend of the latter class.
    Suppose class A is made as a friend of class B.
    Then A and its subclasses can access the private or protected components of the class B.
    But they cannot access the private or protected components of subclasses of class B.
    You can refer this link for more help.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/b5/693ec8185011d5969b00a0c94260a5/content.htm
    Award points if found useful.
    Regards,
    SP.

  • Converting sample Procedural ABAP code in Object oriented code...

    Hello Gurus,
    I am learning object oriented ABAP. The best way to learn it is do it practically. If I want to change the following code in OO code , how can it be done ?
    TABLES : gb01.
    Data Declaration
    DATA : BEGIN OF i_mid OCCURS 0,
            mid(2),
            text(10),
           END OF i_mid.
    DATA :v_tabix LIKE sy-tabix.
    Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME
                                       TITLE text-001.
    PARAMETER : p_modif(1) DEFAULT 'U',
                p_class LIKE gb01-boolclass DEFAULT '009',
                p_cltyp LIKE gb01-classtype DEFAULT 'S',
                p_table LIKE gb01-bcltab DEFAULT 'BSEG',
                p_field LIKE gb01-bclfield DEFAULT 'HKONT',
                p_excld LIKE gb01-bexclude DEFAULT ' '.
    SELECTION-SCREEN END OF BLOCK b1.
    Selection Screen F4 Help for Modif ID's
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_modif.
      PERFORM get_modifid.
    Start of Selection
    START-OF-SELECTION.
      CLEAR gb01.
      CASE p_modif.
        WHEN 'U'. "Update
          UPDATE gb01
          SET bexclude = p_excld
          WHERE bcltab = p_table
          AND bclfield = p_field
          AND boolclass = p_class
          AND classtype = p_cltyp.
          IF sy-subrc NE 0.
            WRITE : / 'UPDATE - KO'.
          ELSE.
            WRITE : / 'UPDATE - OK'.
          ENDIF.
        WHEN 'I'. "Insert
          gb01-bcltab = p_table.
          gb01-bclfield = p_field.
          gb01-boolclass = p_class.
          gb01-classtype = p_cltyp.
          gb01-bexclude = p_excld.
          INSERT INTO gb01 VALUES gb01.
          IF sy-subrc NE 0.
            WRITE : / 'INSERTION - KO'.
          ELSE.
            WRITE : / 'INSERTION - OK'.
          ENDIF.
        WHEN 'D'. "Delete
          DELETE FROM gb01
          WHERE bcltab = p_table
          AND bclfield = p_field
          AND boolclass = p_class
          AND classtype = p_cltyp.
          IF sy-subrc NE 0.
            WRITE : / 'DELETE - KO'.
          ELSE.
            WRITE : / 'DELETE - OK'.
          ENDIF.
      ENDCASE.
    *&      Form  get_modifid
          F4 Help for modif id field
    FORM get_modifid.
      i_mid-mid = 'U'.
      i_mid-text = 'Update'.
      APPEND i_mid.
      i_mid-mid = 'I'.
      i_mid-text = 'Insert'.
      APPEND i_mid.
      i_mid-mid = 'D'.
      i_mid-text = 'Delete'.
      APPEND i_mid.
      CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
           EXPORTING
                endpos_col   = '20'
                endpos_row   = '12'
                startpos_col = '10'
                startpos_row = '10'
                titletext    = 'Modification Ids'
           IMPORTING
                choise       = v_tabix
           TABLES
                valuetab     = i_mid
           EXCEPTIONS
                break_off    = 1
                OTHERS       = 2.
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      READ TABLE  i_mid INDEX v_tabix.
      IF sy-subrc EQ 0.
        p_modif = i_mid-mid.
      ENDIF.
      REFRESH i_mid.
    ENDFORM.                    " get_modifid
    Regards,
    Rajesh.

    Hi Rajesh,
    Hey here are some of  the links, please chek these links u have lot of examples
    http://www.****************/Tutorials/OOPS/MainPage.htm
    and also please check these threads
    OOABAP
    book for OOABAP?
    Best regards,
    raam

  • Need documents of ABAP Object Oriented concepts

    Hi,
    I  need materials on ABAP Object Oriented Concepts to learn.
    If you have any good documents which covers all the topics of ABAP OO then please send me to [email protected]
    Thanks in advance.
    Regards,
    Chandru

    Chandra,
    Very good sites with docs.
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    Pls. reward if useful...

  • Abap object oriented

    Hi experts.,
    i am very new in  abap oo . please give me documentation and if possible sample   code.
    thanks in advance,

    Some documentation related with OOPs Abao :
    oops_beginers
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    ALV Gird Control (BC-SRV-ALE)
    SAP Container
    SAP Control Framework
    or Thread New To OOPs ABAP
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc
    General Tutorial for OOPS
    check all the below links
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    these links
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    Check these links.
    http://www.henrikfrank.dk/abapuk.html
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/abap%20objects/abap%20code%20sample%20to%20learn%20basic%20concept%20of%20object-oriented%20programming.doc
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap%20code%20samples/alv%20grid/abap%20code%20sample%20to%20display%20data%20in%20alv%20grid%20using%20object%20oriented%20programming.doc
    Go through the below links,
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    OO ABAP links:
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    go through these links
    http://www.erpgenie.com/abap/index.htm
    http://sic.fh-lu.de/sic/bic.nsf/(vJobangebote)/EC8AD2AE0349CE92C12572200026FDB8/$File/Intern%20or%20Working%20Student%20as%20ABAB%20OO%20Developer.pdf?Open
    http://help.sap.com/saphelp_nw2004s/helpdata/en/43/41341147041806e10000000a1553f6/frameset.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    ABAP_OBJECTS_ENJOY_0 Template for Solutions of ABAP Object Enjoy Course
    ABAP_OBJECTS_ENJOY_1 Model Solution 1: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_2 Model Solution 2: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_3 Model Solution 3: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_4 Model Solution 4: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_5 Model Solution 5: ABAP Objects Enjoy Course
    DEMO_ABAP_OBJECTS Complete Demonstration for ABAP Objects
    DEMO_ABAP_OBJECTS_CONTROLS GUI Controls on Screen
    DEMO_ABAP_OBJECTS_EVENTS Demonstration of Events in ABAP Objects
    DEMO_ABAP_OBJECTS_GENERAL ABAP Objects Demonstration
    DEMO_ABAP_OBJECTS_INTERFACES Demonstration of Interfaces in ABAP Objects
    DEMO_ABAP_OBJECTS_METHODS Demonstration of Methods in ABAP Objects
    DEMO_ABAP_OBJECTS_SPLIT_SCREEN Splitter Control on Screen
    check the below links lot of info and examples r there
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    these links
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    ALVOOPS
    http://www.abap4.it/download/ALV.pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907
    http://www.erpgenie.com/abap/controls/alvgrid.htm
    OOPS with ABAP
    https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action&pageid=37566
    /people/rich.heilman2/blog/2005/07/27/dynamic-internal-tables-and-structures--abap
    http://www.sapgenie.com/abap/OO/
    For understanding COntrol Frameworks in OO ABAP, check this.
    http://www.sapgenie.com/abap/controls/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com.
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    ALVOOPS
    http://www.erpgenie.com/abap/controls/alvgrid.htm
    OOPS with ABAP
    https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action&pageid=37566
    /people/rich.heilman2/blog/2005/07/27/dynamic-internal-tables-and-structures--abap
    http://www.sapgenie.com/abap/OO/
    For understanding COntrol Frameworks in OO ABAP, check this.
    http://www.sapgenie.com/abap/controls/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com.
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.geocities.com/victorav15/sapr3/abap_ood.html
    http://www.brabandt.de/html/abap_oo.html
    Regarding  ALV Grid  Control using OOPs concepts
    Regarding  ALV Grid  Control using OOPs concepts
    OOPS – OO ABAP
    http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    DIRLL DOWN AND INTERACTIVE REPORT
    http://www.sap-img.com/abap/difference-between-drilldown-report-and-interactive-report.htm
    PAGE BREAK FOR ALV LIST
    check out this link
    http://www.abap4.it/download/ALV.pdf
    good book on ABAP objects(OOPS)
    http://www.esnips.com/doc/bc475662-82d6-4412-9083-28a7e7f1ce09/Abap-Objects---An-Introduction-To-Programming-Sap-Applications
    How to check Cluster Table Data
    https://forums.sdn.sap.com/click.jspa?searchID=5215473&messageID=3520315
    http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
    Check this cool weblog:
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    /people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
    http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sapgenie.com/
    http://help.sap.com
    http://www.sapgenie.com/abap/OO/
    http://www.sapgenie.com/abap/OO/index.htm
    http://www.sapgenie.com/abap/controls/index.htm
    http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    http://www.sapgenie.com/abap/OO/index.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    http://www.sapgenie.com/abap/OO/
    these links
    http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
    For funtion module to class
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
    for classes
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
    for methods
    http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
    for inheritance
    http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
    for interfaces
    http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    COLOURING Single Columan
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    Check this thread to get more idea about ALVs.
    Interactive ALV
    Rewards if useful.............
    Minal

  • Can anyone give me document to devlop alv report  in object oriented

    hi
    hi i want document how to devlope alv report in object oriented.
    i need document .
    thanks .

    HI,
    Check these programs and links.
    OOPS ALV standard pgms
    BCALV_EDIT_01
    BCALV_EDIT_02
    BCALV_EDIT_03
    BCALV_EDIT_04
    BCALV_EDIT_05
    BCALV_EDIT_06
    BCALV_EDIT_07
    BCALV_EDIT_08
    ABAP_OBJECTS_ENJOY_0 Template for Solutions of ABAP Object Enjoy Course
    ABAP_OBJECTS_ENJOY_1 Model Solution 1: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_2 Model Solution 2: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_3 Model Solution 3: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_4 Model Solution 4: ABAP Objects Enjoy Course
    ABAP_OBJECTS_ENJOY_5 Model Solution 5: ABAP Objects Enjoy Course
    DEMO_ABAP_OBJECTS Complete Demonstration for ABAP Objects
    DEMO_ABAP_OBJECTS_CONTROLS GUI Controls on Screen
    DEMO_ABAP_OBJECTS_EVENTS Demonstration of Events in ABAP Objects
    DEMO_ABAP_OBJECTS_GENERAL ABAP Objects Demonstration
    DEMO_ABAP_OBJECTS_INTERFACES Demonstration of Interfaces in ABAP Objects
    DEMO_ABAP_OBJECTS_METHODS Demonstration of Methods in ABAP Objects
    DEMO_ABAP_OBJECTS_SPLIT_SCREEN Splitter Control on Screen
    some helful links.
    Go through the below links,
    For Materials:
    1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
    2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
    3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
    4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
    5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
    6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
    7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
    8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
    1) http://www.erpgenie.com/sap/abap/OO/index.htm
    2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
    Regards
    Sudheer

Maybe you are looking for

  • N73 Themes Problem

    I got a problem with my N73 Music Edition. I installed few themes from a trusted website, and they work well at first time. But after about 5-6 months the themes were dissapeared from the themes list. I did search for the themes folder in private at

  • I can't open MainWindow.xib in xCode 3.2

    Im using a Macbook Air ver. 10.6.8 ( last Update today ) Problem: Im watching Tutorials etc. and then .. they open the file MainWindow.xib in xCode ( doubleclick ) and there comes 3 Windows ( Library , The IPhone , and the Window with Label etc.) Whe

  • Read & Modify the table view data

    Dear Experts, CRM 7.0 I've added few extra custom fields to the table view through Workbench enhancment as AET does not work for my object type. Now, I would like to read the current table entries and accordingly i should fill the other columns. I am

  • Nokia Music Subscription

    I purchased nokia music subscription to have access on my PC but the pin I got from oxicash is not working how can I activate my account please help.

  • Help with graphic editing

    I think I have gotten myself in over my head. I am using the FreeHand software, & I know absolutely NOTHING about graphic design or this program. So, I'm hoping that someone with some patience can help me out. I have downloaded a vector image & am tr