SlideShare a Scribd company logo
1 of 4
ABAP
(Advanced Business Application Programming) es un lenguaje de cuarta
generación, propiedad de SAP, que se utiliza para programar la mayoría de sus
productos (R/3, mySAP Business suite...). Utiliza sentencias de Open SQL para
conectarse con prácticamente cualquier base de datos. Cuenta con miles de
funciones para el manejo de archivos, bases de datos, fechas, etc. Permite
conexiones RFC (Remote Function Calls) para conectar a los sistemas SAP con
cualquier otro sistema o lenguaje de programación.
Historia
ABAP fue desarrollado por SAP como lenguaje de informes para SAP R/2, en los
años 80, una plataforma que permitía a las grandes corporaciones construir
aplicaciones de negocios para gestión de materiales y finanzas. ABAP, muy
parecido al COBOL en sus orígenes, originalmente
significaba Allgemeiner Berichtsaufbereitungsprozessor, palabras alemanas
para procesador genérico para la preparación de informes. En sus inicios ABAP
incluía el concepto de Bases de datos lógicas, que suministraba un alto nivel de
abstracción para el acceso a bases de datos.
ABAP fue pensado como un lenguaje de programación para que los usuarios
finales pudieran manipular la información, pero el 4GL se fue volviendo demasiado
complicado para usuarios normales, por lo que es necesario programadores
experimentados para realizar desarrollos.
ABAP se mantuvo como el lenguaje de desarrollo para la siguiente versión cliente-
servidor de SAP R/3, que fue lanzada al mercado en 1992, en el que casi todo el
sistema, menos las llamadas al sistema básicas estaban escritas en ABAP. En
1999, con el lanzamiento de la versión 4.6 de R/3, SAP lanzó una extensión
orientada a objetos denominadaABAP Objects. La versión más actual en estos
momentos de SAP es la release 6.6.
La última plataforma de desarrollo de SAP, NetWeaver, soporta ABAP
y Java como lenguajes de programación.
Tipos de programas ABAP
Como en otros lenguajes de programación, un programa ABAP no es simplemente
una unidad ejecutable o una biblioteca, sino que proporciona código ejecutable
para otros programas no ejecutado independientemente.
ABAP distingue entre dos tipos de programas:
 Informes
 Module pool
Los informes siguen un modelos de programación relativamente simple, donde el
usuario introduce una serie de parámetros y el programa los usa para producir un
informe en forma de lista interactiva. El término informe puede llevar a equívoco
puesto que los informes pueden ser diseñados para modificar datos, la razón por
la que estos programas se llaman informes es la “lista-orientada” que estos
producen como salida.
Los module pools definen unos patrones más complejos de interacción con el
usuario a través de una colección de pantallas. El término “pantalla” se refiere a la
actualidad, la imagen física que los usuarios pueden ver. Cada pantalla también
tienen un “flujo lógico”, el cual se refiere a código implícito de ABAP invocado por
las pantallas. Cada pantalla tiene su propio flujo lógico, el cual se divide en
“PBO”(Process Before Output) y PAI (Process after Input). En la documentación
de SAP el término “dynpro” (programa dinámico) se refiere a la combinación entre
las pantallas y el flujo lógico.
Los tipos de programas no ejecutables son:
 INCLUDE modules
 Subroutine pools
 Function groups
 Object clases
 Interfaces
 Type pools
Un Include module incluye en tiempo de generación en la unidad de llamada; Esto
es usado en ocasiones para subdividir programas muy largos. Subroutine pools
contienen subrutinas ABAP (bloques de código cerrados por FORM/ENDFORM e
invocados por PERFORM). Las Functions groups son librerías de modulos de
funciones (encerradas entre FUNCTION/ENDFUNCTION e invocadas por CALL
FUNCTION). Los object clases e interfaces son similares a las clases e interfaces
de java; las primeras definen una serie de métodos y atributos y las segundas
contienen la definición de los métodos, para cada una de las clases
implementadas se debe ofrecer el código de la misma. Las Type pools definen una
colección de datos, tipos y constantes.
Diccionario ABAP
El diccionario ABAP contiene todos los metadatos acerca del sistema SAP. Está
muy ligado con la plataforma de trabajo de ABAP en el que cualquier referencia a
los datos se obtiene del diccionario (por ejemplo, tablas, vistas, tipos de datos ) .
Los desarrolladores usan el diccionario de transacciones de ABAP(directamente o
a través del objeto navegador dentro de la plataforma de trabajo SE80) para
mostrar y mantener los metadatos.
Cuando un objeto del diccionario es modificado, un programa que lo referencie
automáticamente cambia su referencia al nuevo estado del objeto la próxima vez
que se ejecute. Ya que ABAP es interpretado, no es necesario recompilar
programas que referencien a objetos que se modifiquen dentro del diccionario
A continuación una breve descripción de los tipos de datos más importantes del
diccionario:
 Tablas: son contenedores de datos que existen en la base de datos relacional
subyacente. En la mayoría de los casos hay una relación 1 a 1 entre la
definición de la tabla en el diccionario ABAp y la definición de la misma tabla
en la base de datos(mismo nombre, mismas columnas…). Estas tablas se
conocen como “transparentes”. Hay dos tipos de tablas no transparentes:
“pooled”, que son las que existen como entidades independientes dentro del
diccionario pero que se agrupan juntas en una largas tablas físicas (“pools”) a
nivel de base de datos. Las tablas combinadas son normalmente pequeñas
tablas que mantienen por ejemplo datos de configuración. Las tablas clustered
están físicamente agrupadas en clusters, basados en claves primarias;.
 Índices, proporcionan accesos rápidos a los datos de las tablas para aquella
selecciones usadas con mayor frecuencia. Todas las tablas de SAP tienen un
índice primario, el cual se crea implícitamente a lo largo de que la tabla es
usada forzando así que estos sean únicos, otros índices tienen que definirse y
se llaman: “índices secundarios”
 Vistas: tienen el mismo propósito que en la base de datos subyacente: estas
definen un subconjunto de columnas desde una o más tablas usando
condiciones join. Una vista es una tabla virtual que no contiene ningún dato
físicamente. Ocupan muy poco espacio puesto que solo contienen la definición
del dato.
 Estructuras: son tipos de datos complejos que contienen varios campos(como
los strutct en C/C++)
 Elementos de datos: proporcionan contenido semántico a una tabla o campo
estructurado. Por ejemplo, una docena de tablas y estructuras pueden
contener un campo que da un precio. Todos estos campos pueden tener el
mismo elemento “PRECIO”.
 Dominios: definen las características estructurales de los elementos
anteriormente mencionados. Por ejemplo, el elemento “precio” puede poseer
un dominio que lo define como un campo numérico con dos decimales. Los
dominios también pueden proporcionar contenido semántico proporcionando
una posible lista de valores.
 Búsquedas de ayuda: proporciona una estrategia de búsqueda avanzada
cuando un usuario quiere ver el posible valor que tiene un campo. El runtime
de ABAP proporciona asistencia implícita pero dicha ayuda puede refinar esta
funcionalidad
 Objetos bloqueados implementan bloqueos a nivel de aplicación cuando se
modifican datos.
Bibliografía
http://es.wikipedia.org/wiki/ABAP

More Related Content

What's hot (20)

Partes de una base de datos y herramientas 903 (1)
Partes de una base de datos y herramientas 903 (1)Partes de una base de datos y herramientas 903 (1)
Partes de una base de datos y herramientas 903 (1)
 
Tarea07 pasquel chuquiyauri_deisy_janneth.
Tarea07 pasquel chuquiyauri_deisy_janneth.Tarea07 pasquel chuquiyauri_deisy_janneth.
Tarea07 pasquel chuquiyauri_deisy_janneth.
 
windows access
windows accesswindows access
windows access
 
Programacion
ProgramacionProgramacion
Programacion
 
Definiciones básicas-de-spss2
Definiciones básicas-de-spss2Definiciones básicas-de-spss2
Definiciones básicas-de-spss2
 
Spss
SpssSpss
Spss
 
Jasperreports
JasperreportsJasperreports
Jasperreports
 
base de datos
base de datosbase de datos
base de datos
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
Nikol cardozo y juan camelo 903
Nikol cardozo y juan camelo 903Nikol cardozo y juan camelo 903
Nikol cardozo y juan camelo 903
 
Cuadros para trabajar en exposición
Cuadros para trabajar en exposiciónCuadros para trabajar en exposición
Cuadros para trabajar en exposición
 
Que es SPSSS
Que es SPSSSQue es SPSSS
Que es SPSSS
 
BASE DE DATOS DE ACCESS
BASE DE DATOS DE ACCESSBASE DE DATOS DE ACCESS
BASE DE DATOS DE ACCESS
 
Sql Pau
Sql PauSql Pau
Sql Pau
 
base de datos
base de datosbase de datos
base de datos
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
51. glosario
51. glosario51. glosario
51. glosario
 
Spss.
Spss.Spss.
Spss.
 
Tareas 1- 4 Olap, Molap Y Rolap
Tareas 1- 4 Olap, Molap Y RolapTareas 1- 4 Olap, Molap Y Rolap
Tareas 1- 4 Olap, Molap Y Rolap
 
Access trabajo de sebastian vargas
Access trabajo de sebastian vargasAccess trabajo de sebastian vargas
Access trabajo de sebastian vargas
 

Similar to Abap

Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objetoRaul Quispe P
 
diapositivas de informática BASE DE DATOS
diapositivas de informática BASE DE DATOSdiapositivas de informática BASE DE DATOS
diapositivas de informática BASE DE DATOSDayanaperezflorez
 
Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Gustavo Bernardo
 
Bases de datos
Bases de datosBases de datos
Bases de datosfabio0314
 
Bases de datos1
Bases de datos1Bases de datos1
Bases de datos1fabio0314
 
Que es una base de datos
Que es una base de datosQue es una base de datos
Que es una base de datosjosetrejo1993
 
Base de datos kerwin mendez
Base de datos kerwin mendezBase de datos kerwin mendez
Base de datos kerwin mendezkerwin Mendez
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionalaa31072000
 
la estructura de una Base de Datos
la estructura de una Base de Datosla estructura de una Base de Datos
la estructura de una Base de DatosNathaliarache
 
Bases de datos
Bases de datosBases de datos
Bases de datosJosue Diaz
 

Similar to Abap (20)

Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
diapositivas de informática BASE DE DATOS
diapositivas de informática BASE DE DATOSdiapositivas de informática BASE DE DATOS
diapositivas de informática BASE DE DATOS
 
Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]Entrenamiento Power BI [GerdauCorsa-Sep2019]
Entrenamiento Power BI [GerdauCorsa-Sep2019]
 
Manual visual fox pro
Manual visual fox proManual visual fox pro
Manual visual fox pro
 
Manual abap
Manual abapManual abap
Manual abap
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos1
Bases de datos1Bases de datos1
Bases de datos1
 
Base de datos douglas
Base de datos douglasBase de datos douglas
Base de datos douglas
 
Que es una base de datos
Que es una base de datosQue es una base de datos
Que es una base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos kerwin mendez
Base de datos kerwin mendezBase de datos kerwin mendez
Base de datos kerwin mendez
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Base de datos!
Base de datos! Base de datos!
Base de datos!
 
Base de datos!
Base de datos! Base de datos!
Base de datos!
 
Ba se de datos! ♥
Ba se de datos! ♥Ba se de datos! ♥
Ba se de datos! ♥
 
la estructura de una Base de Datos
la estructura de una Base de Datosla estructura de una Base de Datos
la estructura de una Base de Datos
 
Herramientas 1
Herramientas 1Herramientas 1
Herramientas 1
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Herramientas 1
Herramientas 1Herramientas 1
Herramientas 1
 
Sebastian
SebastianSebastian
Sebastian
 

More from karlaa95

Comunidades virtuales
Comunidades virtualesComunidades virtuales
Comunidades virtualeskarlaa95
 
Herramienta evaluada
Herramienta evaluadaHerramienta evaluada
Herramienta evaluadakarlaa95
 
Comentario de modelos
Comentario de modelosComentario de modelos
Comentario de modeloskarlaa95
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativakarlaa95
 
Objeto de aprendizaje
Objeto de aprendizajeObjeto de aprendizaje
Objeto de aprendizajekarlaa95
 
Evaluación de herramienta
Evaluación de herramientaEvaluación de herramienta
Evaluación de herramientakarlaa95
 
Pasos para mi actividad
Pasos para mi actividadPasos para mi actividad
Pasos para mi actividadkarlaa95
 
Actividad para niños paso 3
Actividad para niños paso 3Actividad para niños paso 3
Actividad para niños paso 3karlaa95
 
Actividad para niños paso 2
Actividad para niños paso 2Actividad para niños paso 2
Actividad para niños paso 2karlaa95
 
Actividad para niños paso 1
Actividad para niños paso 1Actividad para niños paso 1
Actividad para niños paso 1karlaa95
 
Blogmeister clase
Blogmeister claseBlogmeister clase
Blogmeister clasekarlaa95
 
El efecto de las herramientas
El efecto de las herramientasEl efecto de las herramientas
El efecto de las herramientaskarlaa95
 
Importancia de herramientas
Importancia de herramientasImportancia de herramientas
Importancia de herramientaskarlaa95
 
Modelos equipamiento
Modelos equipamientoModelos equipamiento
Modelos equipamientokarlaa95
 

More from karlaa95 (15)

Comunidades virtuales
Comunidades virtualesComunidades virtuales
Comunidades virtuales
 
Herramienta evaluada
Herramienta evaluadaHerramienta evaluada
Herramienta evaluada
 
Comentario de modelos
Comentario de modelosComentario de modelos
Comentario de modelos
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 
Descarga
DescargaDescarga
Descarga
 
Objeto de aprendizaje
Objeto de aprendizajeObjeto de aprendizaje
Objeto de aprendizaje
 
Evaluación de herramienta
Evaluación de herramientaEvaluación de herramienta
Evaluación de herramienta
 
Pasos para mi actividad
Pasos para mi actividadPasos para mi actividad
Pasos para mi actividad
 
Actividad para niños paso 3
Actividad para niños paso 3Actividad para niños paso 3
Actividad para niños paso 3
 
Actividad para niños paso 2
Actividad para niños paso 2Actividad para niños paso 2
Actividad para niños paso 2
 
Actividad para niños paso 1
Actividad para niños paso 1Actividad para niños paso 1
Actividad para niños paso 1
 
Blogmeister clase
Blogmeister claseBlogmeister clase
Blogmeister clase
 
El efecto de las herramientas
El efecto de las herramientasEl efecto de las herramientas
El efecto de las herramientas
 
Importancia de herramientas
Importancia de herramientasImportancia de herramientas
Importancia de herramientas
 
Modelos equipamiento
Modelos equipamientoModelos equipamiento
Modelos equipamiento
 

Recently uploaded

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Recently uploaded (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Abap

  • 1. ABAP (Advanced Business Application Programming) es un lenguaje de cuarta generación, propiedad de SAP, que se utiliza para programar la mayoría de sus productos (R/3, mySAP Business suite...). Utiliza sentencias de Open SQL para conectarse con prácticamente cualquier base de datos. Cuenta con miles de funciones para el manejo de archivos, bases de datos, fechas, etc. Permite conexiones RFC (Remote Function Calls) para conectar a los sistemas SAP con cualquier otro sistema o lenguaje de programación. Historia ABAP fue desarrollado por SAP como lenguaje de informes para SAP R/2, en los años 80, una plataforma que permitía a las grandes corporaciones construir aplicaciones de negocios para gestión de materiales y finanzas. ABAP, muy parecido al COBOL en sus orígenes, originalmente significaba Allgemeiner Berichtsaufbereitungsprozessor, palabras alemanas para procesador genérico para la preparación de informes. En sus inicios ABAP incluía el concepto de Bases de datos lógicas, que suministraba un alto nivel de abstracción para el acceso a bases de datos. ABAP fue pensado como un lenguaje de programación para que los usuarios finales pudieran manipular la información, pero el 4GL se fue volviendo demasiado complicado para usuarios normales, por lo que es necesario programadores experimentados para realizar desarrollos. ABAP se mantuvo como el lenguaje de desarrollo para la siguiente versión cliente- servidor de SAP R/3, que fue lanzada al mercado en 1992, en el que casi todo el sistema, menos las llamadas al sistema básicas estaban escritas en ABAP. En 1999, con el lanzamiento de la versión 4.6 de R/3, SAP lanzó una extensión orientada a objetos denominadaABAP Objects. La versión más actual en estos momentos de SAP es la release 6.6. La última plataforma de desarrollo de SAP, NetWeaver, soporta ABAP y Java como lenguajes de programación.
  • 2. Tipos de programas ABAP Como en otros lenguajes de programación, un programa ABAP no es simplemente una unidad ejecutable o una biblioteca, sino que proporciona código ejecutable para otros programas no ejecutado independientemente. ABAP distingue entre dos tipos de programas:  Informes  Module pool Los informes siguen un modelos de programación relativamente simple, donde el usuario introduce una serie de parámetros y el programa los usa para producir un informe en forma de lista interactiva. El término informe puede llevar a equívoco puesto que los informes pueden ser diseñados para modificar datos, la razón por la que estos programas se llaman informes es la “lista-orientada” que estos producen como salida. Los module pools definen unos patrones más complejos de interacción con el usuario a través de una colección de pantallas. El término “pantalla” se refiere a la actualidad, la imagen física que los usuarios pueden ver. Cada pantalla también tienen un “flujo lógico”, el cual se refiere a código implícito de ABAP invocado por las pantallas. Cada pantalla tiene su propio flujo lógico, el cual se divide en “PBO”(Process Before Output) y PAI (Process after Input). En la documentación de SAP el término “dynpro” (programa dinámico) se refiere a la combinación entre las pantallas y el flujo lógico. Los tipos de programas no ejecutables son:  INCLUDE modules  Subroutine pools  Function groups  Object clases  Interfaces  Type pools Un Include module incluye en tiempo de generación en la unidad de llamada; Esto es usado en ocasiones para subdividir programas muy largos. Subroutine pools contienen subrutinas ABAP (bloques de código cerrados por FORM/ENDFORM e invocados por PERFORM). Las Functions groups son librerías de modulos de
  • 3. funciones (encerradas entre FUNCTION/ENDFUNCTION e invocadas por CALL FUNCTION). Los object clases e interfaces son similares a las clases e interfaces de java; las primeras definen una serie de métodos y atributos y las segundas contienen la definición de los métodos, para cada una de las clases implementadas se debe ofrecer el código de la misma. Las Type pools definen una colección de datos, tipos y constantes. Diccionario ABAP El diccionario ABAP contiene todos los metadatos acerca del sistema SAP. Está muy ligado con la plataforma de trabajo de ABAP en el que cualquier referencia a los datos se obtiene del diccionario (por ejemplo, tablas, vistas, tipos de datos ) . Los desarrolladores usan el diccionario de transacciones de ABAP(directamente o a través del objeto navegador dentro de la plataforma de trabajo SE80) para mostrar y mantener los metadatos. Cuando un objeto del diccionario es modificado, un programa que lo referencie automáticamente cambia su referencia al nuevo estado del objeto la próxima vez que se ejecute. Ya que ABAP es interpretado, no es necesario recompilar programas que referencien a objetos que se modifiquen dentro del diccionario A continuación una breve descripción de los tipos de datos más importantes del diccionario:  Tablas: son contenedores de datos que existen en la base de datos relacional subyacente. En la mayoría de los casos hay una relación 1 a 1 entre la definición de la tabla en el diccionario ABAp y la definición de la misma tabla en la base de datos(mismo nombre, mismas columnas…). Estas tablas se conocen como “transparentes”. Hay dos tipos de tablas no transparentes: “pooled”, que son las que existen como entidades independientes dentro del diccionario pero que se agrupan juntas en una largas tablas físicas (“pools”) a nivel de base de datos. Las tablas combinadas son normalmente pequeñas tablas que mantienen por ejemplo datos de configuración. Las tablas clustered están físicamente agrupadas en clusters, basados en claves primarias;.  Índices, proporcionan accesos rápidos a los datos de las tablas para aquella selecciones usadas con mayor frecuencia. Todas las tablas de SAP tienen un índice primario, el cual se crea implícitamente a lo largo de que la tabla es
  • 4. usada forzando así que estos sean únicos, otros índices tienen que definirse y se llaman: “índices secundarios”  Vistas: tienen el mismo propósito que en la base de datos subyacente: estas definen un subconjunto de columnas desde una o más tablas usando condiciones join. Una vista es una tabla virtual que no contiene ningún dato físicamente. Ocupan muy poco espacio puesto que solo contienen la definición del dato.  Estructuras: son tipos de datos complejos que contienen varios campos(como los strutct en C/C++)  Elementos de datos: proporcionan contenido semántico a una tabla o campo estructurado. Por ejemplo, una docena de tablas y estructuras pueden contener un campo que da un precio. Todos estos campos pueden tener el mismo elemento “PRECIO”.  Dominios: definen las características estructurales de los elementos anteriormente mencionados. Por ejemplo, el elemento “precio” puede poseer un dominio que lo define como un campo numérico con dos decimales. Los dominios también pueden proporcionar contenido semántico proporcionando una posible lista de valores.  Búsquedas de ayuda: proporciona una estrategia de búsqueda avanzada cuando un usuario quiere ver el posible valor que tiene un campo. El runtime de ABAP proporciona asistencia implícita pero dicha ayuda puede refinar esta funcionalidad  Objetos bloqueados implementan bloqueos a nivel de aplicación cuando se modifican datos. Bibliografía http://es.wikipedia.org/wiki/ABAP