01 ABAP Objects

Embed Size (px)

Citation preview

  • 8/18/2019 01 ABAP Objects

    1/43

    Coritel Spain Delivery Centre

    ABAP Orientado a

    ObjetosIntroducción a ABAP Objects

    Abril 2007

    ABAP Orientado a

    Objetos

  • 8/18/2019 01 ABAP Objects

    2/43

    ©2005 Coritel. All rights reservedPage 2 of 19

    Contenido

    1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos

    2) Conceptos de Objeto ! Clase

    ") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'

    • Consistencia

    • (ncapsulación

    • erencia

    • Polimor*ismo

  • 8/18/2019 01 ABAP Objects

    3/43

    ©2005 Coritel. All rights reservedPage 3 of 19

    Contenido

    +) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas

    .) Principios de Objetos , Creación de clases globales ! locales

    • -ransacción se2+

    • (jemplos

  • 8/18/2019 01 ABAP Objects

    4/43

    ©2005 Coritel. All rights reservedPage 4 of 19

    Contenido

    1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos

    2) Conceptos de Objeto ! Clase

    ") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'

    • Consistencia

    • (ncapsulación

    • erencia

    • Polimor*ismo

  • 8/18/2019 01 ABAP Objects

    5/43

    ©2005 Coritel. All rights reservedPage 5 of 19

    1. Prog. Procedural vs. Prog.Orientada a Objetos

    P/OC(/A

    • as *unciones se de*inenindependientemente delas estructuras de datos

    • 3e accede de *ormadirecta a los datos

    O/I(4-AA A OB5(-O3

    • Agrupación de datos !*unciones en 6clases

    • Creación de 6objetos

    con las propiedades !comportamientosde*inidos en las 6clases

  • 8/18/2019 01 ABAP Objects

    6/43

    ©2005 Coritel. All rights reservedPage 6 of 19

    1. Prog. Procedural vs. Prog.Orientada a Objetos

    8rupo de 9unciones

    • atos globales al grupode *unciones

    • :ódulos de *unciones

    Clases

    • Atributos

    • :%todos

  • 8/18/2019 01 ABAP Objects

    7/43©2005 Coritel. All rights reserved

    Page 7 of 19

    Contenido

    1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos

    2) Conceptos de Objeto ! Clase

    ") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'

    • Consistencia

    • (ncapsulación

    • erencia

    • Polimor*ismo

  • 8/18/2019 01 ABAP Objects

    8/43©2005 Coritel. All rights reserved

    Page 8 of 19

    2. Conceptos de Objeto Clase

    OB5(-O3'

    • 3on una abstracción del mundo real

    • nidades compuestas de datos ! *unciones

    pertenecientes a dic;os datos

    Método

    Método

    Avión

    Atributos

  • 8/18/2019 01 ABAP Objects

    9/43©2005 Coritel. All rights reserved

    Page 9 of 19

    2. Conceptos de Objeto Clase

    CA3(3

    • (ntidad teórica

  • 8/18/2019 01 ABAP Objects

    10/43©2005 Coritel. All rights reserved

    Page 1$ of 19

    2. Conceptos de Objeto Clase

    Propiedades de los Objetos'

    • (ncapsulación Objetos restringen la visibilidad de sus recursos

    =m%todos ! atributos) al resto de objetos

    • Polimor*ismo :%todos ación de clases !a de*inidas para la creación de

    nuevas clases =3uperclases ! subclases)

  • 8/18/2019 01 ABAP Objects

    11/43©2005 Coritel. All rights reservedPage 11 of 19

    Contenido

    1) Comparación breve Programación Procedural vsProgramación Orientada a Objetos

    2) Conceptos de Objeto ! Clase

    ") #$u% es ABAP Objects& Comentarios breves ventajas deusar ABAP Objects'

    • Consistencia

    • (ncapsulación

    • erencia

    • Polimor*ismo

  • 8/18/2019 01 ABAP Objects

    12/43©2005 Coritel. All rights reservedPage 12 of 19

    !. ABAP Objects

    #$u% es ABAP Objects&

    • (?tensión Compatible de ABAP

    • as sentencias de ABAP 6objects se pueden usaren los programas 6convencionales de ABAP@ !viceversa

    • ABAP 6objects no es un lenguaje nuevo@ ;a sidodesarrollado como una e?tensión de ABAP

  • 8/18/2019 01 ABAP Objects

    13/43©2005 Coritel. All rights reservedPage 13 of 19

    !. ABAP Objects

    entajas'

    • Consistencia durante el proceso de desarrollo(l lenguaje utili>ado durante el proceso de desarrollo

    es uni*orme@ lo ideal sera adas durante la *ase de implementación sere*lejarn directamente en el diseDo

    • (ncapsulación a implementación de un objeto es oculta para los

    dems objetos del sistema@ as

  • 8/18/2019 01 ABAP Objects

    14/43©2005 Coritel. All rights reservedPage 14 of 19

    !. ABAP Objects

    entajas'

    • Polimor*ismon objeto en di*erentes clases puede tener

    di*erentes reacciones a un mismo mensaje

    • erenciae*ine la implementación de la relación entre

    clases@ en la cual una clase =la subclase) compartela estructura =atributos) ! el comportamiento=m%todos) de*inidos en una o ms clases=superclases)

    4ota' (n ABAP solo est permitida la ;erencia simple

  • 8/18/2019 01 ABAP Objects

    15/43©2005 Coritel. All rights reservedPage 15 of 19

    Contenido

    +) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas

    .) Principios de Objetos , Creación de clases globales ! locales

    • -ransacción se2+

    • (jemplos

  • 8/18/2019 01 ABAP Objects

    16/43©2005 Coritel. All rights reservedPage 16 of 19

    ". ABAP Objects # $ipo de tablas

    nión entre tipos de tablas ! tipos de acceso

  • 8/18/2019 01 ABAP Objects

    17/43©2005 Coritel. All rights reservedPage 17 of 19

    ". ABAP Objects # $ipo de tablas

    -ipos de de*inición para tablas internas

  • 8/18/2019 01 ABAP Objects

    18/43©2005 Coritel. All rights reservedPage 18 of 19

    ". ABAP Objects # $ipo de tablas

    e*inición del tipo de una tabla interna

  • 8/18/2019 01 ABAP Objects

    19/43©2005 Coritel. All rights reserved

    Page 19 of 19

    ". ABAP Objects # $ipo de tablas

    Atributo de la tabla' -ipo de tabla

  • 8/18/2019 01 ABAP Objects

    20/43©2005 Coritel. All rights reserved

    Page 2$ of 19

    ". ABAP Objects # $ipo de tablas

    Atributo de la tabla' -ipo de lnea

  • 8/18/2019 01 ABAP Objects

    21/43©2005 Coritel. All rights reserved

    Page 21 of 19

    ". ABAP Objects # $ipo de tablas

    (jemplo' 3-A4A/ -AB( con tipo local

  • 8/18/2019 01 ABAP Objects

    22/43©2005 Coritel. All rights reserved

    Page 22 of 19

    ". ABAP Objects # $ipo de tablas

    (jemplo' 3O/-( ! A3( -AB(

  • 8/18/2019 01 ABAP Objects

    23/43©2005 Coritel. All rights reserved

    Page 23 of 19

    ". ABAP Objects # $ipo de tablas

    -ipos de Operaciones

  • 8/18/2019 01 ABAP Objects

    24/43©2005 Coritel. All rights reserved

    Page 24 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' I43(/-

  • 8/18/2019 01 ABAP Objects

    25/43

    ©2005 Coritel. All rights reservedPage 25 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' /(A de 1 Enica entrada a un ForGarea usando el nH de lnea

  • 8/18/2019 01 ABAP Objects

    26/43

    ©2005 Coritel. All rights reservedPage 26 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' /(A de 1 Enica entrada a un ForGarea usando el contenido del campo

  • 8/18/2019 01 ABAP Objects

    27/43

    ©2005 Coritel. All rights reservedPage 27 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' /(A de 1 Enica entrada usando un 9ield,3!mbol

  • 8/18/2019 01 ABAP Objects

    28/43

    ©2005 Coritel. All rights reservedPage 28 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' :OI9 usando un ForGarea

  • 8/18/2019 01 ABAP Objects

    29/43

    ©2005 Coritel. All rights reservedPage 29 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' :OI9 de 1 Enica entrada usando un 9ield,3!mbol

  • 8/18/2019 01 ABAP Objects

    30/43

    ©2005 Coritel. All rights reservedPage 3$ of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' ((-(

  • 8/18/2019 01 ABAP Objects

    31/43

    ©2005 Coritel. All rights reservedPage 31 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' Proceso de un OOP

  • 8/18/2019 01 ABAP Objects

    32/43

    ©2005 Coritel. All rights reservedPage 32 of 19

    ". ABAP Objects # $ipo de tablas

    Operaciones' OvervieF

  • 8/18/2019 01 ABAP Objects

    33/43

    ©2005 Coritel. All rights reservedPage 33 of 19

    ". ABAP Objects # $ipo de tablas

    3ituaciones especiales' -ablas internas con cabecera

  • 8/18/2019 01 ABAP Objects

    34/43

    ©2005 Coritel. All rights reservedPage 34 of 19

    Contenido

    +) Introducción a los nuevos tipos de datos usados en ABAP Objects, -ipos de tablas

    .) Principios de Objetos , Creación de clases globales ! locales

    • -ransacción se2+

    • (jemplos

  • 8/18/2019 01 ABAP Objects

    35/43

    ©2005 Coritel. All rights reservedPage 35 of 19

    5. Principios% Objetos

    n objeto viene caracteri>ado por'

    • Identidad

    • 3tatus =Atributos)

    • Comportamiento =:%todos)

    Identidad'

    Cada objeto generado a partir de una clase tiene su propiaidentidad =Cada objeto es 4ICO)

  • 8/18/2019 01 ABAP Objects

    36/43

    ©2005 Coritel. All rights reservedPage 36 of 19

    5. Principios% Clases

    Clases ,J Plantillas para los objetos

    eclaración

    CA33 KnombreLclaseJ (9I4I-IO4

    M

    (4CA33

    Implementación

    CA33 KnombreLclaseJ I:P(:(4-A-IO4

    M

    (4CA33

    (n la de*inición declaramos loscomponentes de la clase'

    Atributos(ventos

    :%todos

    (n la implementación reali>amosla codi*icación en s de losm%todos =implementación)

  • 8/18/2019 01 ABAP Objects

    37/43

    ©2005 Coritel. All rights reservedPage 37 of 19

    5. Principios% Clases

    Componentes de las ClasesAtributos

    3on los datos en s ! representan elstatus del objeto

    e Instancia'

    A-A M -P( M

    (stticos'

    CA33,A-A M -P( M

    :%todos

    3on los procedimientos internos de unaclase

  • 8/18/2019 01 ABAP Objects

    38/43

    ©2005 Coritel. All rights reservedPage 38 of 19

    5. Principios% Clases

    isibilidada parte declarativa de una clase se divide en " reas'

    CA33 KnombreLclaseJ (9I4I-IO4

    PBIC 3(C-IO4

    A-AM:(-O3M

    P/IA-( 3(C-IO4

    A-AM

    :(-O3M

    P/O-(C-( 3(C-IO4

    A-AM

    :(-O3M

    (4CA33

    PBIC 3(C-IO4' $odos los co&ponentes son accesiblespara todos los usuarios de la clase para todos los

    &'todos de la clase de cual(uier clase (ue herede deella. I4-(/9AN (4-/( 3A/IO CA3(

    P/IA-( 3(C-IO4' )os co&ponentes s*lo son visibles enlos &'todos de la &is&a clase. 4O 9O/:A4 PA/-( (A I4-(/9AN (-(/4A ( A CA3(

    P/O-(C-( 3(C-IO4' )os co&ponentes s*lo son visiblesen los &'todos de la &is&a clase de las subclases (ue

    hereden de ella. I4-(/9AN (4-/( CA3( 3BCA3(3

    5 P i i i

  • 8/18/2019 01 ABAP Objects

    39/43

    ©2005 Coritel. All rights reservedPage 39 of 19

    5. Principios Clases +lobales )ocales

    )as clases +lobales se de,inen en el generador de clases en el ABAP-orbench /2" todos los progra&as ABAP pueden acceder a lasclases globales.

    )as clases locales se de,inen en un progra&a ABAP solo pueden serinvocadas desde los progra&as en (ue se de,inen.

    C)A 3classna&e4 6787$7O8.

    8C)A.

    C)A 3classna&e4 79P)98$A$7O8.

    8C)A.

  • 8/18/2019 01 ABAP Objects

    40/43

    ©2005 Coritel. All rights reservedPage 4$ of 19

    5. PrincipiosAtributos% eclaraci*n

    C)A >clLejemplo 6787$7O8.

      CO8$A8$%

     c:,ijo $;P P 

    p:resultado $;P p ?A#O8);.

    8C)A.

    5 P i i i

  • 8/18/2019 01 ABAP Objects

    41/43

    ©2005 Coritel. All rights reservedPage 41 of 19

    5. Principios9'todos% eclaraci*n

    C)A >clLejemplo 6787$7O8.

      9$@O%

      9:8=9?O:A)A$O?7O 

    79PO?$78+ i:para&eter $;P

    PO?$78+ e:para&eter $;P

      C@A8+78+ c:para&eter $;P

      ?$=?878+

      9:OB$8?:78clLejemplo 79P)98$A$7O8.

      9$@O 9:8=9?O:A)A$O?7O.

      89$@O.

      9$@O 9:OB$8?:78

  • 8/18/2019 01 ABAP Objects

    42/43

    ©2005 Coritel. All rights reservedPage 42 of 19

    5. PrincipiosObjetos% Creaci*n

    Antes de crear un objeto de una clase es necesario declararuna variable de re*erencia'

    A-A' KvarLre*erenciaJ -P( /(9 -O KnombreLclaseJ

    na ve> declarada la variable@ el objeto se crea con lasentencia'

    C/(A-( OB5(C- KvarLre*erenciaJ

    A$A% l:re,:Fcl:eje&plo -P( /(9 -O Fcl:eje&plo.

    C?A$ OBGC$ l:re,:Fcl:eje&plo.

    5 P i i i

  • 8/18/2019 01 ABAP Objects

    43/43

    5. PrincipiosObjetos% Acceso a co&ponentes

    os programas sólo pueden acceder a los componentes de las instanciasusando las re*erencias de las variables re*erenciadas'

    varLre*erencia,JA-/IB-O

    CA :(-O varLre*erencia,J:-OO

    Para los componentes estticos se pueden usar tanto el nombre de la clasecomo la variable de re*erencia'

    nombreLclaseQJA-/IB-O

    CA :(-O nombreLclaseQJ:-OO

    entro de una clase se puede acceder tambi%n a los componentesindividuales mediante la re*erencia a s misma :('

    :(,JA-/IB-O

    :(,J:-OO