Вы находитесь на странице: 1из 51

TAPM50 Workload Analysis

Novedades ABAP 6.40


Csar Martin

SAP ESPAA 2005

Copyright

Copyright 2005 SAP ESPAA. Reservados todos los derechos. Prohibida la distribucin, reproduccin o traduccin de este manual o de parte del mismo, sea cual sea el fin y la forma, sin la autorizacin expresa por escrito de SAP ESPAA. La informacin contenida en este manual puede modificarse o complementarse sin previo aviso. Reservados todos los derechos.

SAP ESPAA 2005

Novedades ABAP 6.40

Lo nuevo en ABAP 6.40

ABAP Unit

Checkpoints/Assertions

Shared Objects

Memory Inspector

New ABAP Debugger

Simple Transformations

Y ms all de 6.40

New ABAP Editor

Web Dynpro for ABAP

SAP ESPAA 2005

Objetivos de la presentacin

Una vez terminada esta presentacin, podr: Conocer las nuevas caractersticas presentes en ABAP 6.40 Saber cundo poder usarlas Saber los problemas de programacin que solucionan Saber cmo integrar las mejoras ABAP en sus programas

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

SAP ESPAA 2005

ABAP Unit

ABAP Unit

SAP ESPAA 2005

ABAP Unit

Qu es 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

SAP ESPAA 2005

ABAP Unit

Qu es una unidad (Unit)? Una unidad es una porcin de cdigo no trivial (por ejemplo un mtodo, una funcin o un form) donde una entrada 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 verificar.

SAP ESPAA 2005

ABAP Unit

Por qu los ABAP Unit forman parte del cdigo ABAP? 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.

SAP ESPAA 2005

ABAP Unit

Qu metodos hay en CL_AUNIT ASSERT? Demo

Cmo se programa? Demo

SAP ESPAA 2005

Assertions/Breakpoint groups

Assertions/Breakpoint groups

SAP ESPAA 2005

Assertions/Breakpoint groups

Assertions
Son condiciones lgicas insertadas en el cdigo que validan 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.

SAP ESPAA 2005

Assertions/Breakpoint groups

Sentencia ASSERT
Las aserciones se insertan en el cdigo a travs de la sentencia ABAP ASSERT:
ASSERT [ID group [SUBKEY sub] [FIELDS dobj1 dobj2 ...] CONDITION] log_exp.

SAP ESPAA 2005

Assertions/Breakpoint groups

Breakpoint groups
Si no se cumple la condicin, las aserciones generan un dump salvo que se asignen a un grupo de breakpoints con el modificador ID. Un grupo de breakpoints se utiliza para identificar un conjunto de breakpoints. El debugger solo se detendr en esos puntos cuando no se haya cumplido la condicin que verifica el ASSERT. Los Breakpoints Groups se mantienen en la transaccin SAAB.

SAP ESPAA 2005

Assertions/Breakpoint groups

SAP ESPAA 2005

Shared Objects

Shared Objects

SAP ESPAA 2005

Shared Objects

Shared Objects
Es una nueva clase de objetos ABAP que tienen la caracterstica de que se mantienen en la memoria compartida. Los objetos compartidos suponen un nuevo mecanismo para compartir informacin entre diferentes sesiones en el entorno ABAP.

SAP ESPAA 2005

Shared Objects

Precedentes
Los mecanismos que anteriormente permitan compartir 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.

SAP ESPAA 2005

Shared Objects

Objetos compartidos
Para superar las limitaciones de los mecanismos anteriores, en ABAP 6.40 se introducen los objetos compartidos. Con los objetos compartidos se consigue: Reducir operaciones de copia de datos: se accede directamente a los objetos en memoria compartida. Se evitan inconsistencias de datos. Mejora de rendimiento al evitar accesos repetidos a base de datos.

SAP ESPAA 2005

Shared Objects

Cmo utilizarlos
Se crea una zona especial en la memoria compartida denominada shared memory area: Transaccin SHMA

SAP ESPAA 2005

Shared Objects

Cmo utilizarlos
Se marca la clase ABAP que se quiera utilizar como Shared Memory Enabled en el class builder (SE24)

SAP ESPAA 2005

Shared Objects

Cmo utilizarlos
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.

SAP ESPAA 2005

Shared Objects

Cmo utilizarlos
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.

SAP ESPAA 2005

Shared Objects

Demo

SAP ESPAA 2005

Shared Objects

Monitorizacin de Shared Objects


Transaccin SHMM

SAP ESPAA 2005

Memory Inspector

Memory Inspector

SAP ESPAA 2005

Memory Inspector

Memory Inspector
Es una nueva funcionalidad del entorno ABAP que permite: Generar un fichero (memory dump) que contiene una foto de la memoria asociada a una sesin. Analizar el contenido de ese fichero para ver el consumo de memoria que realiza cada uno de los elementos ABAP (objetos, tablas, programas, etc).

SAP ESPAA 2005

Memory Inspector

Cmo se genera un volcado de memoria?


Desde el ABAP Debugger, en la opcin de men Desarrollo->Anlisis de memoria->crear volcado de memoria, Llamando al mtodo esttico CL_ABAP_MEMORY_UTILITIES=>WRITE_MEMORY_CO NSUMPTION_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 del Application Server.

SAP ESPAA 2005

Memory Inspector

Transaccin S_MEMORY_INSPECTOR

SAP ESPAA 2005

New ABAP Debugger

New ABAP Debugger

SAP ESPAA 2005

New ABAP Debugger

Nuevo Debugger ABAP

SAP ESPAA 2005

Simple Transformations

Simple Transformations

SAP ESPAA 2005

Simple Transformations

SAP ESPAA 2005

Simple Transformations

Simple Tranformations (ST)


Es un nuevo lenguaje de SAP que describe transformaciones de datos en ABAP a XML (serializacin) y de XML a ABAP (deserializacin) Se ofrece como una alternativa ms sencilla de utilizar que XSLT (tambin disponible en ABAP) Transaccin: XSLT_TOOL

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 XML<->ABAP Slo transformaciones lineales (no DOM) Mayor eficacia Integrados en ABAP: Workbench: transportes, mantenimiento CALL TRANSFORMATION
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
SAP ESPAA 2005

Simple Transformations
Estructura de un programa ST:
<?sap.transform simple?> <tt:transform [template="tmpl"] xmlns:tt="http://www.sap.com/transformation-templates"> [<tt:root name="root1" /> <tt:root name="root2" /> ...] [<tt:parameter name="para1" [...] /> <tt:parameter name="para2" [...] /> ...] [<tt:variable name="vari1" [...] /> <tt:variable name="vari2" [...] /> ...] <tt:template [name=="tmpl"]> ... </tt:template> [<tt:template [name=="..."]> ... </tt:template> ...] </tt:transform>
SAP ESPAA 2005

Simple Transformations

Ejemplo:
<tt:transform template="tmpl1" xmlns:tt="http://www.sap.com/transformationtemplates"> <tt:root name="ROOT1"/> <tt:root name="ROOT2"/> <tt:template name="tmpl1"> <X1> <tt:value ref="ROOT1" /> </X1> <X2> <tt:value ref="ROOT2" /> </X2> </tt:template> </tt:transform>

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.

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)

SAP ESPAA 2005

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

SAP ESPAA 2005

Nuevo Editor ABAP

Nuevo Editor ABAP

SAP ESPAA 2005

Nuevo Editor ABAP

SAP ESPAA 2005

Nuevo Editor ABAP

Nuevo Editor ABAP


Presente en SAP_BASIS 700 y superiores. Se debe utilizar 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...)

SAP ESPAA 2005

Nuevo Editor ABAP

Para activar: Men utilidades->opciones:

SAP ESPAA 2005

Web Dynpro for ABAP

Web Dynpro for ABAP

SAP ESPAA 2005

Web Dynpro for ABAP

Web Dynpro for ABAP


Es el nuevo interfaz de usuario para aplicaciones SAP basadas en Web Utiliza herramientas visuales para el diseo (reduce la programacin requerida) Est basado en el Model-View-Controller: asegura separacin entre elementos de interfaz de usuario y lgica de programa Da a los programadores control total del cdigo generado

SAP ESPAA 2005

Web Dynpro for ABAP

high ABAP Dynpros ABAP Dynpros

Error potential

BSP BSP BSP HTMLB BSP HTMLB Web Dynpro Foundation Web Dynpro Foundation Web Dynpro Pattern Web Dynpro Pattern

low short
Development time long

SAP ESPAA 2005

Web Dynpro for ABAP


Desarrollo basado en MVC
Fuerza a una separacin clara entre interfaz de usuario y lgica de programa: 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

SAP ESPAA 2005

Web Dynpro for ABAP

Web Dynpro Explorer (SE80)

SAP ESPAA 2005

Preguntas?

SAP ESPAA 2005

Вам также может понравиться