ABAP_001
-
Upload
miguel-aranda-bilbao -
Category
Documents
-
view
5 -
download
0
Transcript of ABAP_001
-
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