02 Manual ABAP Objects CORT480

75
 CORT480 - Programación ABAP Orientada a Objetos

Transcript of 02 Manual ABAP Objects CORT480

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 1/75

CORT480 - ProgramaciónABAP Orientada a Objetos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 2/752

1. Introducción

2. Análisis y Diseño3. Principios4. Generalización / Especialización5. Eventos6. Casos Prácticos

Contenido

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 3/753

Comprender los siguientes principios:• Clases• Herencia• Interfaces• Polimorfismo• Eventos

Conocer objetos standares utililes a utilizar enproyectos

Objetivos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 4/754

• Programación procedural

• Programación Orientada a Objetos

1. Introducción

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 5/755

• Programación Procedural: – Las funciones se definen independientemente de las

estructuras de datos – Se accede de forma directa a los datos

• Estructura de un programa ABAP: – Declaración de Datos – Llamadas a Subrutinas / módulos – Definición de Subrutinas

1. Introducción

Programación Procedural

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 6/756

• ¿Qué son los objetos? – Son una abstracción del mundo real

 – Unidades compuestas de datos y funcionespertenecientes a dichos datos

1. Introducción 

Programación Orientada a Objetos

Method

Method 

AAvión 

Data 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 7/757

1. Introducción

Modelo de programación OOData 

• Clases – Da una descripción del objeto – Establece los tipos de

estados(Atributos) y eldesarrollo de losEstados(Métodos)

• Objetos

 – Reflejo de la vida real – Instancias especificas de una

clase. Ejemplo: Boing 727

lcl_Avión 

Nombre

Plazas

Subir_pasajeros

Despegar

Method

Method Data 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 8/758

• Consistencia durante el proceso de desarrollo: – El lenguaje utilizado durante el proceso de desarrollo es

uniforme, lo ideal sería que las modificaciones realizadas

durante la fase de implementación se reflejarán directamenteen el diseño

• Encapsulación – La implementación de un objeto es oculta para los demás

objetos del sistema,así que no se pueden hacer suposicionessobre el estado interno de un objeto y por lo tanto no surgendependencias sobre las implementaciones especificas 

1. Introducción

Ventajas de la OOP (I)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 9/759

• Polimorfismo: – Un objeto en diferentes clases puede tener diferentes

reacciones a un mismo mensaje

• Herencia: – Define la implementación de la relación entre clases, en la cual

una clase (la subclase) comparte la estructura (atributos) y elcomportamiento (métodos) definidos en una o más clases

(superclases). Nota: En ABAP solo está permitida la herenciasimple

1. Introducción

Ventajas de la OOP (II)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 10/7510

• Extensión Compatible de ABAP

• Las sentencias de ABAP “objects” se pueden usar enlos programas “convencionales” de ABAP, y viceversa • ABAP “objects” no es un lenguaje nuevo, ha sido

desarrollado como una extensión de ABAP

1. Introducción

ABAP Objects

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 11/7511

• UML

• Diagramas de Clases

• Asociaciones

2. Análisis y diseño

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 12/7512

• Un lenguaje de Modelado Orientado a Objetos

Unified Modeling Languaje

• Un Lenguaje y forma de notación para laespecificación, visualización y documentación deModelos de software de sistemas

 – Varios tipos de Diagramas

• Un estándar Global

2. Análisis y diseño

¿Qué es UML?

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 13/7513

• Punto de vista estático del Modelo – Elementos 

• Clases

• Objetos – Su estructura interna 

• Atributos• Métodos

 – Su relación con otros elementos • Generalización/Especialización• Asociación

2. Análisis y diseño

Diagramas de Clases

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 14/7514

2. Análisis y diseño

Diagrama de Clases: Ejemplo

lcl_flight lcl_flightbooking lcl_flightcustomer

lcl_seat

lcl_airplane lcl_wing

lcl_cargo_airplane lcl_passenger_airplane

1 0..* 0..* 1

1

1

1..*

1

1..*1

1

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 15/7515

• La Asociación describe las relaciones entre clases. La relaciónespecifica de objetos de las clases se llama vinculo o conexión deobjetos. Por lo tanto las conexiones entre objetos serán lasrealizaciones de las asociaciones.

• Las asociaciones pueden ser recursivas, es decir, las clases puedentener asociaciones con ellas mismas. Las asociaciones recursivas sonusadas para describir las conexiones de los objetos de la misma clase.

• Las asociaciones tienen dos direcciones y cada dirección puede tenerun nombre

• Cada dirección tiene una cardinalidad que muestra cuantos objetospueden estar en conexión con el objeto origen

2. Análisis y diseño

Asociaciones (1)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 16/7516

2. Análisis y diseño

Tipos de asociaciones

Agregación•Tipos Especiales de asociaciones•Relación completa

Composición•Tipo especial de Agregación

•Depende de la Existencia para 

para la relación completa

lcl_airplane lcl_wing

1 1..*

lcl_flight lcl_flightbooking1 0..*

Símbolo de Composición

Símbolo de Agregación

Agregación y composición

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 17/7517

2. Análisis y diseño

Tipos de Asociaciones

cl_airplane

cl_cargo_airplane cl_cargo_airplane

E  s  p e  c i   a l  i  z  a  c i   ó n

cl_airplane

cl_cargo_airplane cl_cargo_airplane

 G e n e r  a l  i  z  a  c i   ó n

Especialización y Generalización

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 18/75

18

• Objetos

• Clases• Atributos• Métodos

• Ejercicios

3. Principios

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 19/75

19

• ¿Qué caracteriza a un objeto? – Identidad – Status (atributos) – Comportamiento (métodos)

• Cada objeto generado a partir de una clase tiene su propiaidentidad, es decir cada objeto es único.

• Esta identidad del objeto es la característica que nos permitediferenciar unos objetos de otros. Pese a que dos objetos tuvieranidéntico valor para todos sus atributos, serían distintos objetos yaque cada objeto tiene su propio nombre. Ej: Tenemos 2 tazas decafé idénticas.Pese a que se ven idénticas son dos objetosdistintos

3. Principios

Objetos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 20/75

20

Clases: Plantillas para los objetos

3. Principios

Clases

CLASS <classname> DEFINITION.

ENDCLASS.

Parte de definición

Componentes de la clase como:

atributos y métodos.

CLASS <classname> IMPLEMENTATION.

ENDCLASS.

Parte de implementación

Contiene la implementación

de los métodos.

Atributos:

Son los datos y representanel status del objeto

Componentes de una clase:Métodos:

Código ejecutable, determinanel comportamiento del objeto

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 21/75

21

• Las clases Globales se definen en el generador de clases en elABAP Workbench (SE24) y todos los programas ABAP puedenacceder a las clases globales.

3. Principios

Clases Locales y Globales

• Las clases locales se definen en un programa ABAP y solopueden ser invocadas desde los programas en que se definen.

CLASS <classname> DEFINITION.

ENDCLASS.

CLASS <classname> IMPLEMENTATION.

ENDCLASS..

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 22/75

22

• Los atributos describen la información que puede seralmacenada en los objetos generados a partir de unaclase

• Estos atributos pueden ser de cualquier tipo:- Elementos de datos, estructuras, tablas internas,… - Cualquier tipo de datos ABAP (char, enteros,…) - Referencias a otros objetos- Referencias a Interfaces

3. Principios

Atributos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 23/75

23

3. Principios

Atributos: Declaración

CLASS <classname> DEFINITION.

TYPES: <definición normal de tipo>.

CONSTANTS: constant TYPE <type> VALUE <value>.

DATA: variable1 TYPE <type>,

variable2 TYPE <ddic_type>,variable3 LIKE <variable1>,

variable4 TYPE REF TO <classname>,

variable5 TYPE REF TO <interface>,

variable6 TYPE <type> VALUE <value>,

variable7 TYPE <type> READ-ONLY.

CLASS-DATA: ….

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 24/75

24

3. Principios

Atributos: VisibilidadAtributos Públicos

Son accesibles (usuarios y métodos).

Acceso directo. 

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

DATA: name TYPE string.

PRIVATE SECTION.

DATA: weigth TYPE saplane-weigth.

ENDCLASS.CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

…. 

PRIVATE SECTION.

DATA: weigth TYPE saplane-weigth,

name TYPE string.

ENDCLASS.

Atributos privados

No son accesibles desde

fuera de la propia clase.

Se ven y se cambian desdela propia clase.

MEJOR

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 25/75

25

3. Principios 

Atributos de la clase y del objetoCLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

PRIVATE SECTION.

DATA: weigth TYPE saplane-weigth,

name TYPE string.

CLASS-DATA: count TYPE I.

ENDCLASS.

Existen dos tipos de atributos:

• Los atributos del objeto (Public attributes) son aquellos que existen para cada uno de losobjetos generados por una determinada clase. Es decir, para cada objeto estos atributos

pueden tener valor propio. Estos objetos se declaran con la sentencia DATA:•Los atributos de la clase (Static attributes) existen sólo una vez para toda la clase. Todos losobjetos de la clase tendrán el mismo valor para cada uno de los atributos definidos de estamanera. De tal modo, que si en un objeto se cambia el valor de alguno de estos atributos, elcambio afectaría a todos los objetos de la clase, que adoptarían para el atributo cambiadoese nuevo valor. Se definen mediante la sentencia: CLASS-DATA.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 26/75

26

• Los métodos son procedimientos internos de la claseque determinan cómo se va a comportar el objeto.Tienen acceso a todos los atributos de la clase y por

tanto pueden realizar cambios en el estado de losatributos.

• La Interface de los métodos son sus parámetros, que

hacen posible que los métodos puedan recibir valorescuando son llamadas y que puedan devolver valorescuando devuelvan el control al programa de llamada.

3. Principios 

Métodos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 27/75

27

3. Principios 

Métodos: Definición

CLASS <classname> DEFINITION.

…. 

METHODS: <method_name>

[ IMPORTING <im_var> TYPE <type>

EXPORTING <ex_var> TYPE <type>

CHANGING <ch_var> TYPE <type>

RETURNING VALUE ( <re_var> ) TYPE<type>

EXCEPTIONS <exceptions> ].

ENDCLASS.CLASS<classname> IMPLEMENTATION.METHOD <method_name>.

….. ENDMETHOD.

ENDCLASS. 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 28/75

28

3. Principios 

Métodos: VisibilidadMétodos Públicos

-Se les puede llamar desde

fuera de la clase.

Métodos privados

-No se les puede llamar desdefuera de la propia clase.

- Se ven y se cambian desde lapropia clase.

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS: set_name importing im_name.

PRIVATE SECTION.METHODS: init_name.

DATA: name TYPE string.

ENDCLASS.

CLASS lcl_airplane IMPLEMENTATION.METHOD: init_name. Name = ‘No Name’. 

ENDMETHOD.

METHOD: set_name. Name = im_name.

ENDMETHOD.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 29/75

29

3. Principios 

Métodos: Instance Vs. Static

•Métodos del objeto (Instance methods)

 –Pueden utilizar tanto atributos de laclase como propios del objeto en laparte de implementación del método.

 –Se puede acceder a ellos mediante elnombre del objeto

•Métodos de la clase (Static methods) –Sólo pueden utilizar componentes dela clase en la parte de implementacióndel método.

 –Se puede acceder a ellos mediante elnombre de la clase

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS: set_nameIMPORTING im_name TYPE string.

PRIVATE SECTION.

DATA: name TYPE string.

CLASS-DATA: count type I.

ENDCLASS. 

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

CLASS-METHODS: get_counterRETURNING VALUE (re_count) TYPEI.

PRIVATE SECTION.

DATA: name TYPE string.

CLASS-DATA: count type I.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 30/75

30

• Para poder crear objetos, y para poder acceder a los objetos yaexistentes, es necesario la utilización de variables de referencia.

3. Principios 

Creación de Objetos

Name: LH Boston Weight: 30000kg  

Creación del

objeto

Lcl_airplane

Name

weigth….. 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 31/75

31

• Asignación de referencias:

3. Principios 

Creación de objetos y

asignaciones

DATA: airplane  TYPE REF TO lcl_airplane,

airplane_tab TYPE TABLE OF REF TO lcl_airplane.

airplane

CREATE OBJECT airplane EXPORTINGim_name = ‘LH_Berlin’... 

APPEND airplane TO airplane_tab.Airplane_tab

airplane

CREATE OBJECT airplane EXPORTINGim_name = ‘LH_Paris... 

APPEND airplane TO airplane_tab.

Airplane_tabLOOP AT TO airplane_tab INTO

airplane. 

*work with the instance

ENDLOOP.

Name:LH_Berlin Weigth: 0Kg 

Name: LH_Paris

 Weigth: 0Kg 

Name:LH_Berlin Weigth: 0Kg 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 32/75

32

• Cada objeto se comporta de cierto modo. Este comportamientoestá determinado por sus métodos. Hay 3 tipos de métodos:

 – Métodos que provocan un comportamiento y no pasan valores – Métodos que pasan un valor – Métodos que pasan o cambian varios valores.

• Un objeto que requiere un servicio de otro objeto envía un

mensaje a otro objeto para que le proporcione el servicio. Estemensaje llama a la operación que se ejecutará. Laimplementación de esta operación conocida como MÉTODO.

3. Principios 

Métodos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 33/75

33

• Los métodos públicos se pueden llamar desde fuera de la clasede varios modos: – Métodos de instancia (objeto) se llaman usando:

• CALL METHOD <referece> -> <instance_method>

 – Métodos estáticos (de clase) se llaman usando:• CALL METHOD <class_name> => <class_method>

• Si se llama a un método estático desde una clase se puede omitirel nombre de la clase. Cuando se llama a un método de instancia

desde otro método de instancia, se puede omitir el nombre de lainstancia. Se ejecutará automaticamente el método para el objetoactual.

3. Principios 

Llamando a métodos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 34/75

34

3. Principios 

Llamadas a métodos: EjemploMétodos del OBJETO: CALL METHOD <instance>-><instance_method>

(instance method) EXPORTING <im_var> = <variable>

IMPORTING <ex_var> = <variable>

CHANGING <ch_var> = <variable>

RECEIVING <re_var> = <variable>EXCEPTIONS <exception> = <nr>.

Métodos de la CLASE: CALL METHOD <classname>=><class_method>

(static method) EXPORTING <im_var> = <variable> … . 

DATA: airplane TYPE REF TO lcl_airplane.

DATA: fuel_consuption TYPE ty_fuel,

DATA: count_planes type i.

CREATE OBJECT airplane.

CALL METHOD airplane-> est_fuel_con EXPORTING (im_distance = 1500= RECEIVINGre_fuel = fuel_consuption.

CALL METHOD lcl_airplane=>get_count RECEIVING re_count = count_planes.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 35/75

35

3. Principios 

Llamadas a métodos: Ejemplo (II)

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS: est_fuel_conIMPORTING im_distance TYPE ty_distance

RETURNING VALUE(re_fuel) TYPE ty_fuel,

CLASS-METHODS: get_count RETURNING VALUE(re_count) TYPE i.

ENDCLASS.

DATA: plane1 TYPE REF TO lcl_airplane,

plane2 TYPE RET TO lcl_airplane,

fuel_consuption TYPE ty_fuel,

count_planes TYPE i.

**CALL METHOD lcl_airplane ->get_count RECEIVING re_count = count_planes.

Count_planes=lcl_airplane=>get_count( ).

Fuel_consuption = plane1->est_fuel_con (1500)

En ciertos casos se puede utilizar una forma abreviada para llamar almétodo:

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 36/75

36

3. Principios 

Constructores

• Son métodos especiales para que al crear un objeto, esteobjeto tenga un estado inicial definido.

• Sólo tienen parámetros import y excepciones.• El método CONSTRUCTOR es uno para toda la clase.• Se ejecuta una vez por objeto creado para la clase

METHODS CONSTRUCTOR IMPORTING <im_parameter>EXCEPTIONS <exception>.

lcl_airplane

Nameweigthcount

constructor 

CREATE OBJECT 

Name: LH Berlin Weigth: 30000Kg  

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 37/75

37

3. Principios 

Constructor: definición

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 38/75

38

3. Principios 

Constructor: Ejemplo

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION. 

METHODS CONSTRUCTOR IMPORTING im_name TYPE string

im_weight TYPE I.

PRIVATE SECTION.

DATA: name TYPE string, weight type I.CLASS-DATA count TYPE I.

ENDCLASS.

CLASS lcl_airplane IMPLEMENTATION.

METHOD CONSTRUCTOR. 

Name = im_name.

Weight = im_weight.

Count = count + 1.

ENDMETHOD.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 39/75

39

3. Principios 

Constructores estáticos

- Se establecen antes de acceder a la clase por primera vez.- Sólo se ejecutan una vez por programa. 

CLASS <classname> DEFINITION.

PUBLIC SECTION.

CLASS-METHODS CLASS_CONSTRUCTOR.

ENDCLASS.

CLASS <classname> IMPLEMENTATION.

METHOD CLASS_CONTRUCTOR… 

ENDMETHOD.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 40/75

40

• Al finalizar estos ejercicios sereis capaces de: – Crear clases

 – Instanciar objetos – Llamar métodos – Crear un constructor para una clase y crear un

objeto utilizando el constructor.

3. Principios 

Ejercicios

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 41/75

41

• Herencia• Cast• Polimorfismo

• Interfaces

4. Generaliz. / Especialización

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 42/75

42

4. Generaliz. / EspecializaciónHerencia

Lcl_airplane 

-name-weight…. 

+ get_fuel_level ( ): ty_level+ estimate_fuel_consuption ( ) : i….. 

Lcl_passenger_airplane -seats-emergency_exits…. 

+ get_seats ( ): i

….. 

Lcl_cargo_airplane 

-name-weight…. 

+ get_cargo ( ): ty_cargo….. 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 43/75

43

• La HERENCIA es una relación por la cuál una clase (subclase)hereda todas las características de otra clase (superclase).

• En la subclase se pueden añadir nuevos componentes (atributos,métodos,…) y modificar los métodos heredados, dotándolos a

estos con su propia implementación• La herencia se basa en el concepto de la similitud entre clases. En

el ejemplo, las similitudes entre el avión de pasajeros y el decarga se extraen de la superclase(aviones). De este modo esoscomponentes „comunes‟ solo se definen una vez(en la superclase)

y son automáticamente heredados por las distintas subclases• En SAP no es posible la herencia múltiple (solo se permite un

nivel de herencia)

4. Generaliz. / EspecializaciónHerencia: Concepto

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 44/75

44

4. Generaliz. / EspecializaciónHerencia: Definición

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS: get_fuel_level RETURNING VALUE (re_level)TYPE ty_level.

PRIVATE SECTION.

DATA: name TYPE string,

weight type i.

ENDCLASS.

CLASS lcl_cargo_airplane DEFINITION INHERITING FROM lcl_airplane.

PUBLIC SECTION.

METHODS: get_cargo RETURNING VALUE (re_cargo)

TYPE ty_cargo.

PRIVATE SECTION.

DATA: cargo TYPE ty_cargo.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 45/75

45

• Los componentes comunes solo están presentes unavez (en la superclase). – Los nuevos componentes declarados en la superclase están

automáticamente disponibles en las subclases – Se reduce con ello considerablemente la cantidad de código

• Las subclases son extremadamente dependientes delas superclases.

 – Se debe tener un profundo conocimiento de cómo estánimplementadas las superclases a la hora de definir una clasecomo subclase de estas

4. Generaliz. / Especialización 

Superclases – Subclases

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 46/75

46

• El concepto de herencia nos proporciona unaextensión en el concepto de visibilidad. Este nuevoconcepto es un concepto intermedio entre el conceptode publico y privado. Así se pueden definircomponentes como protegidos, lo que les permite servisibles y poder ser utilizados por todas las clases quesean subclases de la clase en la que se definen.

• Las subclases no pueden acceder a los componentes

privados de las superclases. Esto es una ventaja a lahora de querer cambiar una superclase ya que esto noafecta a las subclases

4. Generaliz. / EspecializaciónHerencia y visibilidad

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 47/75

47

4. Generaliz. / Especialización

Herencia y visibilidad• Componentes Públicos 

- Totalmente Visibles.

- Permiten accesos directos.

• Componentes Protegidos - Sólo son visibles dentro de sus

clases y de sus subclases.

• Componentes Privados 

- Sólo visibles dentro de la clase.

- No accesibles desde fuera de laclase, incluso desde sussubclases.

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION. 

METHODS get_name RETURNING

VALUE (re_name) TYPE string.

PROTECTED SECTION.

DATA: tank TYPE string.

PRIVATE SECTION.

DATA: name TYPE string.

ENDCLASS.

Lcl_airplane

# tank : lcl_tank- name : string 

+ get_name() : string 

+ public# protected - private

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 48/75

48

4. Generaliz. / EspecializaciónLa Herencia y el Constructor (I)

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS CONSTRUCTOR IMPORTING

im_name TYPE string.

ENDCLASS.

CLASS lcl_airplane IMPLEMENTATION.METHOD CONSTRUCTOR.

name = im_name.

ENDMETHOD. 

ENDCLASS.

CLASS lcl_cargo_airplane DEFINITION INHERITING FROM lcl_airplane.

PUBLIC SECTION.

METHODS: CONSTRUCTOR IMPORTING im_name TYPE string

im_cargo TYPE ty_cargo.

PRIVATE SECTION.

DATA: cargo TYPE ty_cargo.

ENDCLASS.

CLASS lcl_cargo_airplane IMPLEMENTATION.

METHOD CONSTRUCTOR. 

CALL METHOD SUPER->CONSTRUCTOR EXPORTING im_name = name.

Cargo = im_cargo.

ENDMETHOD.ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 49/75

49

DATA: ref2 TYPE REF TO lcl_2,ref3 TYPE REF TO lcl_3.

CREATE OBJECT ref2 EXPORTING im= 100.

CREATE OBJECT ref3 EXPORTING

im_1 = 100im_2 = 1000. 

4. Generaliz. / Especialización 

La Herencia y el Constructor (II)

Lcl_1

# a1 : i

+ constructor

(im_a1:i)

Lcl_2

Lcl_3

# a2:: i

+ constructor

( im_a1:i, im_a2:i )

• La clase a la que pertenece la instacia a crear tieneun constructor – Rellena sus parámetros

• La clase a la que pertenece la instancia a crear notiene un constructor – Busca en el árbol de herencia la siguiente

superclase con un constructor. – Rellena los parámetros.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 50/75

50

• Los métodos heredados se pueden redefinir en lassubclases – Los métodos redefinidos se deben implementar in las

subclases – En la redefinición no se pueden cambiar los parámetros delmétodo

 – Solo se pueden redefinir métodos de instancia (públicos yprotegidos), no los métodos estáticos.

4. Generaliz. / Especialización 

Redefinición de métodos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 51/75

51

4. Generaliz. / EspecializaciónRedefinición métodos: Sintaxis

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.METHODS: estimate_fuel IMPORTING im_distance TYPE ty_distance

RETURNING VALUE (re_fuel) TYPE ty_fuel.

ENDCLASS.

CLASS lcl_cargo_airplane DEFINITION INHERITING FROM lcl_airplane.

PUBLIC SECTION.

METHODS: estimate_fuel REDEFINITION.

….. 

ENDCLASS.

CLASS lcl_cargo_airplane IMPLEMENTATION.

METHOD estimate_fuel.

ENDMETHOD.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 52/75

52

4. Generaliz. / EspecializaciónClases / Métodos Finales

CLASS lcl_passenger_airplane DEFINITION FINAL

INHERITING FROM lcl_airplane.

….. 

ENDCLASS.

•Clases Finales: no pueden tener subclases. 

CLASS lcl_passenger_airplane DEFINITION INHERITING FROM lcl_airplane.

PUBLIC SECTION.

METHODS estimate_number_of_free_seats FINAL.

ENDCLASS.

•Métodos Finales: no pueden redefinirse en las subclases. 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 53/75

53

• Las instancias de una subclase se pueden utilizar en cualquiercontexto en el que aparece la superclase

4. Generaliz. / Especialización“Narrowing Cast” 

DATA: airplane1  TYPE REF TO lcl_airplane,

cargo_airplane TYPE REF TO lcl_cargo_airplane.

CREATE OBJECT cargo_airplane. 

Main memory

airplane1

Cargo_airplane

Name:LH Berlin Weight: 30000Kg  100 T

airplane = cargo_airplane. 

Main memory

airplane1

Cargp_airplane

Name:LH Berlin Weight: 30000Kg  100 T

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 54/75

54

• El tipo estático de una variable de referencia – Se establece utilizando TYPE REF TO – Permanece constante durante la ejecución del programa

 – Determina qué atributos y métodos se pueden direccionar• El tipo dinámico de una variable de referencia

 – Se establece por asignación – Puede cambiar durante la ejecución del programa

 – Determina el código que se ejecutará en los métodosredefinidos

4. Generaliz. / EspecializaciónTipos estáticos y dinámicos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 55/75

55

• Los componentes heredados se deben comportar en lasubclase exactamente igual que lo hacen en la

superclase para todos los usuarios• Los métodos redefinidos deben mantener la misma

semántica de los componentes heredados• La herencia es solo para

generalización/especialización: – Se debe evitar la herencia de código

4. Generaliz. / EspecializaciónSemántica de la herencia

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 56/75

56

• Objetos de diferentes clases reaccionan de forma diferente a lamisma llamada de métodos.Para hacer esto, las clasesimplementan el mismo método de diferentes formas.Esto sepuede hacer usando la herencia, redefiniendo un método de la

superclase en la subclase e implementándolo de forma diferente.

• Cuando una instancia recibe un mensaje para ejecutar un método,el método se ejecuta si ha sido implementado en la clase a la quepertenece la instancia.Si la clase no ha implementado el método,

solo lo ha heredado y no lo ha redefinido, entonces busca haciaarriba en el árbol de herencia hasta que encuentra laimplementación y lo ejecuta

4. Generaliz. / EspecializaciónPolimorfismo

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 57/75

57

4. Generaliz. / EspecializaciónPolimorfismo: Ejemplo

Main memory

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.

CREATE OBJECT: cargo_plane.

APPEND cargo_plane TO plane_list.

CREATE OBJECT passanger_plane

APPEND passanger_airplane TO plane_list

Cargo_airplane

Passenger_airplane

Plane_list

1

2

4

3

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 58/75

58

• Las Interfaces son puntos de contacto externos paralas clases; definen los parámetros y los métodos autilizar, pero sin implementar las reglas de negocio

(sólo contienen declaración)• Es necesario implementarlas en cada una de las

clases que las referencian.• Se consigue trabajar de un mismo modo con diferentes

objetos/clases. (polimorfismo)• Aumentan el alcance de las clases en la que están

definidas

4. Generaliz. / EspecializaciónInterfaces

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 59/75

59

• Para una Interface se definen sus componentes del mismo modoque se hacía con las clases. Sin embargo en las Interfaces noexiste el concepto de zonas de visibilidad

• Las Interfaces se encuentran implementadas en clases, donde:

 – El nombre de la Interface se lista en la zona de declaración dela clase. Esta tiene que estar definida en la parte publica de laclase

 – Las operaciones definidas en la Interface se implementancomo métodos de la clase

 – Los componentes de la clase están disponibles a la clase enel momento que se define la Interface en la clase

• Los componentes de la Interface se direccionan con el operador(~)

4. Generaliz. / EspecializaciónInterfaces (II)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 60/75

60

4. Generaliz. / EspecializaciónInterfaces: Definición

INTERFACE lif_document.

DATA: author TYPE REF TO lcl_author.

METHODS: print, display.

ENDINTERFACE. 

CLASS lcl_text_document DEFINITION.

PUBLIC SECTION.

INTERFACES lif_document.

METHODS: display.ENDCLASS.

CLASS lcl_text_document IMPLEMENTATION.

METHOD lif_document~print.

ENDMETHOD.

METHOD lif_document~display.

ENDMETHOD.

METHOD display. ENDMETHOD.

ENDCLASS. 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 61/75

61

4. Generaliz. / EspecializaciónInterfaces: Business Add Ins

• Las Business Add Ins son Interfaces que proporciona SAP para que seimplementen las clases que utilicen esas interfaces. La idea es que funcionencomo las user-exits, la única diferencia es que ahora en lugar de codificar códigoABAP tradicional hay que implementar todo en una clase que contenga laimplementación de dicha interface

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 62/75

62

• Polimorfismo y herencia: – Solo se puede utilizar entre objetos de clases que están

conectadas por una jerarquía de herencia

• Polimorfismo y Interfaces: – Se pueden utilizar con objetos de cualquier clase, siempre que

esas clases tienen implementados los correspondientesInterfaces

4. Generaliz. / EspecializaciónInterfaces vs Herencia

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 63/75

63

• Al finalizar estos ejercicios sereis capaces de: – Definir subclases – Redefinir métodos de la superclase en la

subclase – Implementar llamadas a métodos – Definir e implementar Interfaces

4. Generaliz. / EspecializaciónEjercicios

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 64/75

64

• Disparar y manejar eventos

• Coordinación en el manejo de eventos• Activación/Desactivación de los métodos quemanejan los eventos.

• Visibilidad de los eventos.

5. Eventos

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 65/75

65

• Cuando se desata un evento (RAISE EVENT), el objeto anuncia que seha producido un cambio de estado, o anuncia que determinado estado seha alcanzado

• En el ejemplo, el objeto de la clase (lcl_airplane) desencadena el evento

(touched_down) en el momento que el avión aterriza (altitude = 0). Otrasclases perciben esto y lo procesan. Así, el controlador aéreo marca que elavión ya a aterrizado y los pasajeros se quitan el cinturón de seguridad

5. EventosCaracterísticas y uso

Airplane

LH Berlin

Air-trafficcontroller

ATC

Passenger 

IF altitude = 0.

RAISE EVENT touched_down.

ENDIF.Miller

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 66/75

66

• En ABAP Objects hay ciertos métodos que se conocen como disparadores (trigger s) yotros que se conocen como manejadores (handler s). Los triggers son los métodos quedisparan un evento, mientras que los handlers son los métodos que se ejecutan cuandoocurre un evento

• Para disparar un evento una clase tiene que:

 – Declarar el evento en la parte declarativa: Los eventos se declaran en la partedeclarativa de una clase o en una interface.

 – Disparar el evento en uno de sus métodos. Un evento dependiente de instancia enuna clase puede ser disparado por cualquier método en la clase.Los eventosestáticos son disparados por métodos estáticos

• Los eventos se usan para ejecutar una serie de métodos. Estos métodos tienen que:

 – estar definidos como eventos manejadores (handler) de ese evento. Una clasepuede contener métodos manejadores de eventos para eventos tanto de su propiaclase como de otras clases.

 – estar registrados en tiempo de ejecución para el evento.

5. EventosDisparar y manejar eventos (I)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 67/75

67

Declaración de métodos manejadores de eventos • Una clase puede contener métodos manejadores de eventos para eventos tanto de su

propia clase como de otras clases

• La interface de un método manejador de eventos sólo puede contener parámetrosformales definidos en la declaración del evento. Los atributos de los parámetros también

son adoptados por el evento. El método manejador de eventos no tiene por que usartodos los parámetros pasados en la sentencia RAISE EVENT

Registro de métodos manejadores de eventos

• Para permitir a un método manejador de eventos reaccionar a un evento, se tiene quedeterminar en tiempo de ejecución el disparador al cual va a reaccionar. Se definirámediante la sentencia SET HANDLER

Hay cuatro tipos diferentes de eventos:

• Eventos dependientes de instancia declarados en una clase

• Eventos dependientes de instancia declarados en una interface• Eventos estáticos declarados en una clase

• Eventos estáticos declarados en una interface

5. EventosDisparar y manejar eventos (II)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 68/75

68

5. EventosDefinición

CLASS <classname> DEFINITION.EVENTS: <event> EXPORTING VALUE ( <ex_par> ) TYPE type.

CLASS <classname> IMPLEMENTATION. METHOD <m>. RAISE EVENT <event> EXPORTING VALUE <ex_par> = act_par>.

CLASS lcl_airplane DEFINITION.

PUBLIC SECTION.

METHODS arrive_at_airport.

EVENTS touched_down EXPORTING VALUE (ex_name) TYPE string.

PRIVATE SECTION.

DATA: name TYPE string.ENDCLASS.

CLASS lcl_airplane IMPLEMENTATION.

METHOD arrive_at_airport.……. 

RAISE EVENT touched_down EXPORTING ex_name = name.

ENDMETHOD.

ENDCLASS.

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 69/75

69

5. EventosGestión: puntos clave

• Tanto eventos estáticos como de instancia se pueden lanzar desdemétodos de instancia

• En métodos estáticos solo se pueden lanzar eventos estáticos

• Los eventos solo pueden tener parámetros EXPORTING que se debenpasar por valor

• Lanzar un evento utilizando la sentencia RAISE EVENT tiene lossiguientes efectos:

 – El flujo del programa se interrumpe en ese punto

 – El manejador de eventos registra que ese evento se ha llamado yprocesado

 – Una vez que todos los métodos manejadores de eventos se ha ejecutado,el flujo del programa comienza de nuevo

• Si un método manejador de eventos vuelve a lanzar un evento, el flujo delprograma se interrumpe de nuevo y todos los métodos manejadores deeventos se ejecutan (bucle)

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 70/75

70

5. Eventos 

Gestión: métodos

CLASS <class_habdle> DEFINITION.METHODS: <on_event> FOR EVENT <event>

OF <classname>/<interface>IMPORTING <ex_par1> … <ex_parN> SENDER.

CLASS lcl_air_traffic_controller DEFINITION.…..

PRIVATE SECTION.

METHODS: on_touched_down FOR EVENT touched_down OF lcl_airplane

IMPORTING ex_name SENDER.

ENDCLASS.Airplane

LH Berlin

Air-traffic controller

Schmidton_touched_down

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 71/75

71

5. EventosGestión: activación

CLASS lcl_air_traffic_controller DEFINITION.

PUBLIC SECTION.

METHODS: add_airplane IMPORTING im_plane TYPE REF TO lcl_airplane.

PRIVATE SECTION.

METHODS: on_touched_down FOR EVENT touched_down OF …... 

ENDCLASS.

CLASS lcl_air_traffic_controller IMPLEMENTATION.

METHOD add_airplane.

SET HANDLER on_touched_down FOR im_plane ACTIVATION ‘X’ … 

ENDMETHOD.

METHOD … ENDCLASS.

Airplane

LH Berlin

Air-traffic controller

Schmidton_touched_down

SETHANDLER

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 72/75

72

5. Eventos 

Gestión: desactivaciónCLASS lcl_air_traffic_controller DEFINITION.

PUBLIC SECTION.

METHODS: add_airplane IMPORTING im_plane TYPE REF TO lcl_airplane.

PRIVATE SECTION.

METHODS: on_touched_down FOR EVENT touched_down OF lcl_airplane

IMPORTING ex_name SENDER.

ENDCLASS.

CLASS lcl_air_traffic_controller IMPLEMENTATION.

METHOD on_touched_down.

SET HANDLER on_touched_down FOR im_plane SENDER ACTIVATION SPACE.

ENDMETHOD.

ENDCLASS.

Airplane

LH Berlin

Air-traffic controller

Schmidton_touched_down

SETHANDLER

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 73/75

73

• El manejo de eventos es secuencial• La secuencia en la que se llaman a los métodos manejadores de

eventos no está definida• La zona de visibilidad en la que se haya definido el evento va a

marcar la visibilidad en la que han de definirse los métodos queresponden al evento

5. Eventos 

Gestión: características

Evento Métodos que responden al evento

Público

Protegido

Privado 

Público, Protegido o Privado

Protegido o Privado

Privado 

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 74/75

74

• Al finalizar estos ejercicios sereis capaces de: – Definir y lanzar eventos

5. Eventos 

Ejercicios

5/16/2018 02 Manual ABAP Objects CORT480 - slidepdf.com

http://slidepdf.com/reader/full/02-manual-abap-objects-cort480-55b078195b8c0 75/75

• Desktop Office Integration: – El objetivo de este ejercicio es aprender a

utilizar los "container" de SAP para insertar

objetos ( docuementos office, páginas html....)en SAP

• ALV Tree

• Demos creadas en SAP (transacción DWDM )

6. Casos Prácticos