
UNIDAD 1: INTRODUCCION A SAP Y ABAP
TEMA 8: LENGUAJE DE PROGRAMACION ABAP
A.- QUE ES ABAP?
* Es un lenguaje de programación de cuarta generación propiedad de SAP
* Se utiliza para programar SAP ECC y SAP S/4Hana.
* ABAP= Advanced Business Application Programming.
* ABAP significa Programación Avanzada de Aplicaciones de Negocios.
* ABAP también es conocido como SAP ABAP.
* Es de alto nivel, fácil de leer y aprender.
* ABAP Development Workbench = ABAP Enterno de Desarrollo: Es una serie de herramientas integradas, que permiten crear desarrollos nuevos en poco tiempo.
* El lenguaje de programación ABAP se caracteriza por su total integración en el sistema SAP.
* ABAP es un lenguaje de programación estructurado.
* La programación estructurada: es un paradigma de programación orientado a mejorar la claridad y el tiempo de desarrollo de un programa de computación, solo se puede recurrir únicamente a subrutinas y tres estructuras básicas:
- Secuencias: el orden en que las instrucciones deben ser ejecutadas.
- Instrucciones Condicionales o Selecciones: es la posibilidad de poder elegir entre dos instrucciones y la decisión se tomará en base a una evaluación, a la cual se le llama condición.
- Interacciones: es la repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.
*ABAP también es un lenguaje orientado a eventos, donde la secuencia de instrucciones depende del cumplimiento de una condición o evento.
* Programación Orientada a Eventos: es en donde la estructura y la ejecución de los programas va determinado por los sucesos o acciones en los sistemas definidos por el usuario o por el propio sistema.
* El sistema SAP este compuesto por un conjunto de áreas funcionales o líneas de negocios, según la versión de SAP, por lo cual utilizaremos el lenguaje de programación ABAP para realizar nuevos desarrollos o modificar los desarrollos existentes.
B.- Historia de ABAP
* En los 80. ABAP fue desarrollado como lenguaje de programación para elaborar reportes para el sistema SAP R/2, COBOL y SQL.
* ABAP fue pensado como un lenguaje de programación para que los usuarios finales del sistema SAP pudieran manipular la información, pero con el paso del tiempo y de las versiones, se fue volviendo demasiado complicado.
* En 1992 se mantuvo el lenguaje desarrollado para la versión cliente-servidor SAP R/3.
* En 1999 se lanzó la extensión orientada a objetos denomina ABAP Objetos.
* ABAP llega incorporar a objetos ABAP permitiendo funciones que pueden ser pensadas y desarrolladas con POO (Programación Orientada a Objetos).
C.- Principales Fortalezas de ABAP
- Utiliza sentencias de OPEN SQL para conectarse con prácticamente cualquier base de datos: si bien a partir de la versión s/4 Hana solo trabaja con SAP Hana como base de datos, en las versiones anteriores se utilizaban otras bases de datos tal como Oracle y otras.
- Es un lenguaje de programación estructurado que también puede ser programado orientado a eventos y también puede programarse utilizando la orientación a objetos.
- Cuenta con miles de funciones para el manejo de archivos, base de datos fechas, caracteres entre otros: de esta forma operaciones complejas se vuelven más simples.
- Permite conexiones RFC para conectar a los sistemas SAP con cualquier otro sistema de lenguaje de programación: mediante estas conexiones podemos conectar nuestro sistema SAP con otros sistemas SAP o no SAP y ABAP con otros lenguajes tal como Java etc.
- Permite la creación de aplicaciones multiidioma: todos los textos de nuestras aplicaciones los puede traducir a diferentes idiomas.
- Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje: ¡simplente con presionar F! sobre la sentencia que queramos.
- Permite la realización de reportes en forma rápida y sencilla: dispone de varias opciones para la realización de estos en forma rápida. REPORTES AVL.
D.- Herramientas propias de ABAP
D.1. El diccionario de datos ABAP (transacción SE11):
* Es el punto de referencia para los programadores.
* permite aislar el sistema de gestión de base de datos que se utilice.
* Se puede crear, modificar, borrar los objetos de base de datos, entre los que se incluyen las tablas de datos, estructuras, vistas, elementos de datos y dominios.
* Es utilizada para la administración de todas las definiciones de datos utilizadas en el sistema.
D.2. Editor de programas (transacciones SE38 y SE80):
* Aparte de proveer funciones básicas para editar textos, tiene múltiples características que facilitan la programación enormemente.
* Permite resaltar las palabras clave y tener una vista en forma de estructura jerárquica que ofrece la posibilidad de ocultar o desglosar bloques sintácticos
* Transacción SE38 y SE80: Ambas transacciones estándares son utilizadas para el desarrollo de aplicaciones o programas ABAP dentro del sistema SAP.
D.3. El Scrren Painter (transacción SE51)
* con esta herramienta crearemos interfaces graficas de usuario incluyendo una amplia variedad de elementos de control, como botones de pulsación, botones de radio, etiquetas, etc.
* Las pantallas, campos, lógica que se crean se denominan dynpros.
* Es utilizada para la creación de las denominadas pantallas de Dynpros que es el termino de SAP.
D.4. El entorno de depuración (dentro de la transacción SE38):
* el modo debugging de ABAP es posiblemente la herramienta más alabada de los programadores.
* Tiene todas las ventajas de este tipo de ayudas a la programación tal como la creación de Breakpoints y watchpoints.
La ejecución paso a paso y por bloquees, nos permite hacer todo esto viendo el código fuente del programa por lo tanto localizar el lugar exacto del error.
D.5. Otras herramientas:
* Existe una gran variedad de herramientas adicionales cuyo uso no es tan frecuente
* El Menú Painter, el análisis del tiempo de ejecución, el class builder, etc.
E.- Modificaciones al sistema estándar de SAP
* Las Ampliaciones: Son huecos que existen en el sistema.
* Las ampliaciones son los que amplían o extiende las funciones del sistema estándar.
* Las principales aplicaciones son:
E.1. Customer Exists (transacciones CMOD y SMOD)
** son espacios que los usuarios pueden agregar código para validaciones y mejoras.
** Las transacciones CMOD y SMOD son utilizadas para la administración de las aplicaciones de usuario SAP
E.2. Field Exists (transaccion CMOD y escribir PRFB):
** Ampliaciones de campo.
** Son validaciones de los elementos de datos asociados a campo de pantallas SAP.
E.3. BADIS (Business Adds-ins- Transacciones SE18 y SE19):
** son un nuevo tipo de extensión al sistema SAP.
** Utilizan los objetos ABAP para la implementación de validaciones.
** Utilizan las ampliaciones del código estándar de SAP sin tener que modificar el código estándar.
** Las transacciones SE18 y SE19 son utilizadas para la definición y la declaración de la BADIS en SAP.
E.4. Enhancements (desde la misma transaccion SE38):
** Son ampliaciones al código estándar de SAP mediante las cuales podemos agregar funcionalidades determinadas.
E.5. Estructuras Append (desde la misma SE11):
** Son objetos ABAP que se crean para agregar datos o configuraciones adicionales.
F. Consultores ABAP
* Es el profesional que ofrece servicios para la implementación, optimización y ejecución de los productos SAP y otros sistemas.
* Estos profesionales mediante interfaz con SAP aseguran el máximo aprovechamiento de los conocimientos y las herramientas de tecnología de la compañía.
* El consultor SAP adapta el sistema a lo que cada empresa quiere y necesita.
*Requisitos importantes
** Escuchar: debe saber escuchar y entender al cliente.
** Parametrizar: o programar en algun modulo o herramienta. Su supuesto no es evidente
** Analizar: deben entender y comprender los procesos de negocio de una emoresa y transformarlos al lenguaje SAP
** Hablar: debe saber comunicar al cliente el funcionamiento del sistema y ayudarle a entender como será su trabajo con la herramienta.
** Aprender: Seguir con los nuevos avances en herramientas.
** Colaborar: Tiene que trabajar en equipo, preparando ideas.
**Dentro de SAP existen tres tipos de consultores:
- Consultor Funcional:
** Son aquellos profesionales que tienen el conocimiento de un área funcional o modulo del sistema y están encargado de ayudar a las empresas a configurar el sistema SAP de acuerdo con las necesidades.
- Consultor ABAP Basis:
** SAP Basis nos referimos a la base técnica de las aplicaciones SAP.
** Los consultores especialistas en SAP Basis tienen como principal responsabilidad la administración del entorno SAP asegurando la integridad del sistema, esto incluye tareas de mantenimiento, actualizaciones, generación de buckups.
- Consultor Técnico:
** Nos estamos refiriendo a las personas que poseen los conocimientos técnicos dentro del sistema SAP.
** En general nos referimos a los programadores ABAP, pero también a otros perfiles dependiendo de la tecnología utilizada.
** Dentro del mundo ABAP cuando hablamos de consultores técnicos hablamos de Consultor ABAP, Desarrollador ABAP, Programador ABAP.
** Los desarrolladores ABAP, realizan la programación en el lenguaje ABAP, la documentación, pruebas, asesoramiento a los consultores funcionales, optimizar el sistema.
G. Ciclo de Trabajo de un consultor ABAP:
* Se trata de explicar la interacción de los consultores ABAP con los consultores funcionales
* Explica cómo es la metodología de trabajo más utilizada en el ciclo de vida de desarrollo SAP.
* Una metodología bien implementada mejora el control de costos de los requerimientos de los usuarios.
*Estructura Organizativa de trabajo
- Reunión del usuario con el consultor funcional:
** Es quien analiza si el trabajo se puede realizar parametrizando el sistema.
- Elaboración del diseño funcional:
** La forma básica de realizar este trabajo funcional y técnico en conjunto se inicia elaborando una documentación "diseño funcional" en este documento se indica al consultor lo siguiente:
- Si se trata de hacer un programa nuevo o modificar uno existente.
- La funcionalidad del programa a realizar.
- Detalle de la interfaz de selección de datos.
- Las tablas bases de datos que se accederán para obtener la información.
- Las pruebas básicas a realizar luego que el programo esté terminado.
*Una vez que el consultor funcional elaboro el diseño funcional, se pedirá al consultor técnico que en base al diseño funcional elabore el diseño técnico en el cual debe especificar:
- Nombre del programa a crear
- Campos que componente lo que se denomina en ABAP la pantalla de selección.
- La forma de acceder a las tablas de la base de datos para obtener información.
- Las validaciones que se realizaran en el programa.
- Si se imprimirán los datos de la pantalla
- Si se generará un archivo de salida y muchas cuestiones más.
*Se estima las horas en que se realizar o modificara el programa.
* La dificultad de la tarea.
* La experiencia que posee el consultor ABAP.
3. La elaboración del diseño técnico y la programación:
· Una vez finalizado el diseño técnico el consultor ABAP comenzara el desarrollo del programa o modificación a realizar.
· Al terminarlo lo probara, realizando pruebas unitarias (pruebas básicas) para asegurarnos que el programa cumple con los requisitos que nos solicitaron y avisa al consultor funcional.
· El consultor funcional a su vez realizara sus Pruebas Integrales en donde se probará el programa rigurosamente si esta todo en orden avisara al cliente.