abap_001

Upload: miguel-aranda-bilbao

Post on 10-Oct-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/20/2018 ABAP_001

    1/51

    SAP ESPAA 2005

    TAPM50 Workload Analysis

    Novedades ABAP 6.40

    Csar Martin

  • 5/20/2018 ABAP_001

    2/51

    SAP ESPAA 2005

    Copyright 2005 SAP ESPAA. Reservados todos los derechos.

    Prohibida la distribucin, reproduccin o traduccin de estemanual o de parte del mismo, sea cual sea el fin y la forma, sinla autorizacin expresa por escrito de SAP ESPAA. Lainformacin contenida en este manual puede modificarse ocomplementarse sin previo aviso.

    Reservados todos los derechos.

    Copyright

  • 5/20/2018 ABAP_001

    3/51

    SAP ESPAA 2005

    Novedades ABAP 6.40

    Checkpoints/Assertions

    New ABAP Debugger

    Shared Objects

    ABAP Unit

    Memory Inspector

    Simple Transformations

    Lo nuevo en ABAP 6.40

    New ABAP Editor Web Dynpro for ABAP

    Y ms all de 6.40

  • 5/20/2018 ABAP_001

    4/51

    SAP ESPAA 2005

    Objetivos de la presentacin

    Una vez terminada esta presentacin,podr:

    Conocer las nuevas caractersticaspresentes en ABAP 6.40

    Saber cundo poder usarlas Saber los problemas de programacin

    que solucionan

    Saber cmo integrar las mejoras ABAPen sus programas

  • 5/20/2018 ABAP_001

    5/51

    SAP ESPAA 2005

    Antes de empezar

    Requisitos previos:

    Programacin ABAP en general

    ABAP Objects

    A quien va dirigida:

    Programadores ABAP

    Administradores de sistema SAP WAS

  • 5/20/2018 ABAP_001

    6/51

    SAP ESPAA 2005

    ABAP Unit

    ABAP Unit

  • 5/20/2018 ABAP_001

    7/51

    SAP ESPAA 2005

    Qu es ABAP Unit?

    ABAP Unit

    ABAP Unit es el mecanismo con el que podemos

    implementar tests unitarios o de mdulos en ABAP

    Qu es un test unitario (Unit Test)?

    En programacin, un test unitario es un test que valida

    el funcionamiento correcto de una porcin de cdigo

  • 5/20/2018 ABAP_001

    8/51

    SAP ESPAA 2005

    Qu es una unidad (Unit)?

    ABAP Unit

    Una unidad es una porcin de cdigo no trivial (por

    ejemplo un mtodo, una funcin o un form) donde unaentrada dada produce un efecto verificable. Idealmente,

    es la parte ms pequea de cdigo que puede ser

    verificada aisladamente.

    Cmo se programa un test ABAP Unit?

    Estos tests se implementan como una clase local ABAP

    definida como FOR TESTING . Esta clase local ha de

    formar parte de la clase, grupo de funciones o

    programa que se quiere verif icar.

  • 5/20/2018 ABAP_001

    9/51

    SAP ESPAA 2005

    Por qu los ABAP Unit forman parte del cdigo ABAP?

    ABAP Unit

    Los Unit tests estn sincronizados con el cdigo que

    validan. Los Unit tests no forman parte del programa que se

    transporta a produccin, por tanto no producen

    prdidas de rendimiento.

    Qu servicios provee ABAP Unit?

    ABAP Unit ofrece una clase de servicio,

    CL_AUNIT_ASSERT, que contiene mtodos estticos

    para comparar datos que validen el test definido.

  • 5/20/2018 ABAP_001

    10/51

    SAP ESPAA 2005

    Qu metodos hay en CL_AUNIT ASSERT?

    ABAP Unit

    Cmo se programa?

    Demo

    Demo

  • 5/20/2018 ABAP_001

    11/51

    SAP ESPAA 2005

    Assertions/Breakpoint groups

    Assertions/Breakpoint groups

  • 5/20/2018 ABAP_001

    12/51

    SAP ESPAA 2005

    Assertions/Breakpoint groups

    Assertions

    Son condiciones lgicas insertadas en el cdigo quevalidan situaciones diseadas para ser siempre ciertas.

    Si se produce el caso de que no son ciertas, el

    programa se detiene para que se pueda realizar un

    anlisis.

  • 5/20/2018 ABAP_001

    13/51

    SAP ESPAA 2005

    Assertions/Breakpoint groups

    Sentencia ASSERT

    Las aserciones se insertan en el cdigo a travs de lasentencia ABAP ASSERT:

    ASSERT [ID group [SUBKEY sub]

    [FIELDS dobj1 dobj2 ...] CONDITION]log_exp.

  • 5/20/2018 ABAP_001

    14/51

    SAP ESPAA 2005

    Assertions/Breakpoint groups

    Breakpoint groups

    Si no se cumple la condicin, las aserciones generanun dump salvo que se asignen a un grupo de

    breakpoints con el modificador ID.

    Un grupo de breakpoints se util iza para identificar un

    conjunto de breakpoints. El debuggersolo se detendren esos puntos cuando no se haya cumplido la

    condicin que verif ica el ASSERT.

    LosBreakpoints Groups

    se mantienen en latransaccin SAAB.

  • 5/20/2018 ABAP_001

    15/51

    SAP ESPAA 2005

    Assertions/Breakpoint groups

  • 5/20/2018 ABAP_001

    16/51

    SAP ESPAA 2005

    Shared Objects

    Shared Objects

  • 5/20/2018 ABAP_001

    17/51

    SAP ESPAA 2005

    Shared Objects

    Shared Objects

    Es una nueva clase de objetos ABAP que tienen lacaracterstica de que se mantienen en la memoria

    compartida.

    Los objetos compartidos suponen un nuevo

    mecanismo para compartir informacin entre diferentessesiones en el entorno ABAP.

  • 5/20/2018 ABAP_001

    18/51

    SAP ESPAA 2005

    Shared Objects

    Precedentes

    Los mecanismos que anteriormente permitancompartir datos entre sesiones son:

    EXPORT TO SHARED BUFFER

    EXPORT TO SHARED MEMORY

    Pero estn limitados a tipos de datos ABAP simples:tablas, estucturas y campos.

    Y no se permite acceso compartido a estos datos: los

    programas deben copiar los datos en su propia roll

    area para poder trabajar con ellos.

  • 5/20/2018 ABAP_001

    19/51

    SAP ESPAA 2005

    Shared Objects

    Objetos compartidos

    Para superar las l imitaciones de los mecanismosanteriores, en ABAP 6.40 se introducen los objetos

    compartidos. Con los objetos compartidos se

    consigue:

    Reducir operaciones de copia de datos: se accededirectamente a los objetos en memoria compartida.

    Se evitan inconsistencias de datos.

    Mejora de rendimiento al evitar accesos repetidos a

    base de datos.

  • 5/20/2018 ABAP_001

    20/51

    SAP ESPAA 2005

    Shared Objects

    Cmo util izarlos Se crea una zona especial en la memoria compartida

    denominada shared memory area: Transaccin SHMA

  • 5/20/2018 ABAP_001

    21/51

    SAP ESPAA 2005

    Shared Objects

    Cmo util izarlos Se marca la clase ABAP que se quiera util izar como

    Shared Memory Enabled en el class builder (SE24)

  • 5/20/2018 ABAP_001

    22/51

    SAP ESPAA 2005

    Shared Objects

    Cmo util izarlos

    Crear un objeto compartido:

    data my_area type ref to ZCL_TEST_SHMA_AREA.

    data my_sh_object type ref to ZCL_TEST_SHMA.TRY.

    my_area = ZCL_TEST_SHMA_AREA=>attach_for_write( ).

    CREATE OBJECT my_sh_object AREA HANDLE my_area.my_area->set_root( my_sh_object ).

    my_area->detach_commit( ).

    CATCH cx_shm_attach_error.

    ENDTRY.

  • 5/20/2018 ABAP_001

    23/51

    SAP ESPAA 2005

    Shared Objects

    Cmo util izarlos

    Acceso a un objeto compartido en lectura:

    data my_area type ref to ZCL_TEST_SHMA_AREA.

    data my_sh_object type ref to ZCL_TEST_SHMA.TRY.

    my_area = ZCL_TEST_SHMA_AREA=>attach_for_read( ).

    my_sh_object ?= my_area->get_root( ).

    my_area->detach( ).

    CATCH cx_shm_attach_error.

    ENDTRY.

  • 5/20/2018 ABAP_001

    24/51

    SAP ESPAA 2005

    Shared Objects

    Demo

  • 5/20/2018 ABAP_001

    25/51

    SAP ESPAA 2005

    Shared Objects

    Monitorizacin de Shared Objects Transaccin SHMM

  • 5/20/2018 ABAP_001

    26/51

    SAP ESPAA 2005

    Memory Inspector

    Memory Inspector

  • 5/20/2018 ABAP_001

    27/51

    SAP ESPAA 2005

    Memory Inspector

    Memory Inspector

    Es una nueva funcionalidad del entorno ABAP quepermite:

    Generar un fichero (memory dump) que contiene una

    foto de la memoria asociada a una sesin.

    Analizar el contenido de ese fichero para ver elconsumo de memoria que realiza cada uno de los

    elementos ABAP (objetos, tablas, programas, etc).

  • 5/20/2018 ABAP_001

    28/51

    SAP ESPAA 2005

    Memory Inspector

    Cmo se genera un volcado de memoria?

    Desde el ABAP Debugger, en la opcin de menDesarrollo->Anlisis de memoria->crear volcado de

    memoria,

    Llamando al mtodo esttico

    CL_ABAP_MEMORY_UTILITIES=>WRITE_MEMORY_CONSUMPTION_FILE desde un programa,

    Escribiendo /hmusa en la entrada de comandos desde

    una transaccin.

    En estos tres casos se genera un fichero de dump en el

    sistema de ficheros delApplication Server.

  • 5/20/2018 ABAP_001

    29/51

    SAP ESPAA 2005

    Memory Inspector

    Transaccin S_MEMORY_INSPECTOR

  • 5/20/2018 ABAP_001

    30/51

    SAP ESPAA 2005

    New ABAP Debugger

    New ABAP Debugger

  • 5/20/2018 ABAP_001

    31/51

    SAP ESPAA 2005

    New ABAP Debugger

    Nuevo Debugger ABAP

  • 5/20/2018 ABAP_001

    32/51

    SAP ESPAA 2005

    Simple Transformations

    Simple Transformations

  • 5/20/2018 ABAP_001

    33/51

    SAP ESPAA 2005

    Simple Transformations

  • 5/20/2018 ABAP_001

    34/51

    SAP ESPAA 2005

    Simple Transformations

    Simple Tranformations (ST)

    Es un nuevo lenguaje de SAP que describetransformaciones de datos en ABAP a XML

    (serializacin) y de XML a ABAP (deserializacin)

    Se ofrece como una alternativa ms sencilla de util izarque XSLT (tambin disponible en ABAP)

    Transaccin: XSLT_TOOL

  • 5/20/2018 ABAP_001

    35/51

    SAP ESPAA 2005

    Simple Transformations

    Lenguajes para transformacin XML en ABAP:

    XSLT

    Desde 6.10

    Base de XI 2.0 Transformaciones complejas (DOM, XML

    cannico)

    Simple Transformations

    Desde 6.40 Slo para XMLABAP

    Slo transformaciones lineales (no DOM)

    Mayor eficacia

    Integrados en ABAP:

    Workbench: transportes, mantenimiento

    CALL TRANSFORMATION

    Si l T f i

  • 5/20/2018 ABAP_001

    36/51

    SAP ESPAA 2005

    Simple Transformations

    ST tiene las siguientes caractersticas:

    Es un lenguaje declarativo simple

    Acceso en modo secuencial a datos XML (no se puede

    acceder a los nodos de XML en cualquier orden)

    Acceso directo a datos ABAP en el programa

    Descripcin simultnea de serializacin y

    deserializacin en el mismo programa Se restringen las transformaciones de ABAP a XML y

    de XML a ABAP (no se permiten de ABAP a ABAP o de

    XML a XML)

    Slo se pueden transformar datos ABAP elementales,estructuras y tablas internas. No se soportan

    referencias y objetos

    Si l T f ti

  • 5/20/2018 ABAP_001

    37/51

    SAP ESPAA 2005

    Simple Transformations

    Estructura de un programa ST:

    [

    ...]

    [

    ...]

    [

    ...]

    ...

    [...

    ...]

    Si l T f ti

  • 5/20/2018 ABAP_001

    38/51

    SAP ESPAA 2005

    Simple Transformations

    Ejemplo:

    Simple Transformations

  • 5/20/2018 ABAP_001

    39/51

    SAP ESPAA 2005

    Simple Transformations

    De ABAP a XML:DATA xml_string TYPE string.

    DATA source1(10) TYPE c VALUE 'Field1'.

    DATA source2(10) TYPE c VALUE 'Field2'.CALL TRANSFORMATION ...

    SOURCE root1 = source1

    root2 = source2

    RESULT XML xml_string.

    De XML a ABAP:DATA result1 LIKE source1.

    DATA result2 LIKE source2.

    CALL TRANSFORMATION ...

    SOURCE XML xml_string

    RESULT root1 = result1

    root2 = result2.

    Simple Transformations

  • 5/20/2018 ABAP_001

    40/51

    SAP ESPAA 2005

    Simple Transformations

    Cuando usarlas:

    Integracin de sistemas (XI)

    Servicios Web en ABAP (SOAP) Proceso XML en ABAP:

    Servicios Web REST (invocacin por URI, XML en

    respuesta)

    Persistencia de datos en XML Repositorios basados en XML (Web Dynpro)

    Mapeos de datos sencillos (Simple Tranformations)

    Mapeos de datos complejos (XSLT)

  • 5/20/2018 ABAP_001

    41/51

    SAP ESPAA 2005

    Y ms all de 6.40... 700... NetWeaver 05

    Nuevo Editor ABAP

  • 5/20/2018 ABAP_001

    42/51

    SAP ESPAA 2005

    Nuevo Editor ABAP

    Nuevo Editor ABAP

    Nuevo Editor ABAP

  • 5/20/2018 ABAP_001

    43/51

    SAP ESPAA 2005

    Nuevo Editor ABAP

    Nuevo Editor ABAP

  • 5/20/2018 ABAP_001

    44/51

    SAP ESPAA 2005

    Nuevo Editor ABAP

    Nuevo Editor ABAP

    Presente en SAP_BASIS 700 y superiores. Se debe util izar SAPGUI 6.40 patch 10 o SAPGUI 7.0

    Es un control ActiveX que se incrusta en SAPGUI

    Una vez activado ser el editor predeterminado en

    todas las transacciones de desarrollo (SE37, SE38,SE24, SE80, etc.).

    Muestra la sintaxis del cdigo iluminada con colores

    Se integra con el nuevo ABAP Debugger

    Se puede utilizar para otros lenguajes (C, C++, Java,HTML...)

    Nuevo Editor ABAP

  • 5/20/2018 ABAP_001

    45/51

    SAP ESPAA 2005

    Nuevo Editor ABAP

    Para activar: Men utilidades->opciones:

    Web Dynpro for ABAP

  • 5/20/2018 ABAP_001

    46/51

    SAP ESPAA 2005

    Web Dynpro for ABAP

    y p

    Web Dynpro for ABAP

  • 5/20/2018 ABAP_001

    47/51

    SAP ESPAA 2005

    y p

    Web Dynpro for ABAP

    Es el nuevo interfaz de usuario para aplicaciones SAPbasadas en Web

    Utiliza herramientas visuales para el diseo (reduce la

    programacin requerida)

    Est basado en el Model-View-Controller: aseguraseparacin entre elementos de interfaz de usuario y

    lgica de programa

    Da a los programadores control total del cdigo

    generado

    Web Dynpro for ABAP

  • 5/20/2018 ABAP_001

    48/51

    SAP ESPAA 2005

    y p

    Development time

    Errorpotentia

    l

    high

    longshortlow

    Web Dynpro FoundationWeb Dynpro Foundation

    BSPBSP

    Web Dynpro PatternWeb Dynpro Pattern

    ABAP DynprosABAP Dynpros

    BSP HTMLBBSP HTMLB

    Web Dynpro for ABAP

  • 5/20/2018 ABAP_001

    49/51

    SAP ESPAA 2005

    Desarrollo basado en MVC

    Fuerza a una separacin clara entre interfaz de usuario y lgica deprograma:

    Permite reutilizacin de la funcionalidad de negocio

    Ms diseo, menos cdigo

    Independiente de la tecnologa del browser

    Navegador, Smart Client, dispositivo mvil

    Soporta las dos plataformas de desarrollo NetWeaver

    Java (desde NetWeaver 04), ABAP (desde NetWeaver 05)

    Implementacin central de los estndares de interfaces de usuario

    Soporte para accesibilidad

    Desarrollo de interfaz de usuario basado en patrones

    Integracin con Adobe Forms

    Web Dynpro for ABAP

  • 5/20/2018 ABAP_001

    50/51

    SAP ESPAA 2005

    Web Dynpro Explorer (SE80)

    Preguntas?

  • 5/20/2018 ABAP_001

    51/51

    SAP ESPAA 2005