1. Escuela Normal autorizada
Profesora: “María de la luz Serradel”
Clave oficial 30PNL0011J
Licenciatura en educación preescolar 2 semestres
Investigación en equipo: “ABAP”
“Educación y niñez, Nuestro compromiso”
Karla Veronica Ramirez Santos
Edith Ivet Wong Martínez
Leslie Ma. Jose Perez Morteo
Ana Laura Fernandez Izezaga.
Mtro. Israel Campos Enríquez
2. 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.
3. 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
4. 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
5. 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