🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El lenguaje de programación ABAP

ABAP El lenguaje de programación ABAP

ABAP El lenguaje de programación ABAP

Resumen

Que es ABAP? Advanced Business Application Programing (Programación Avanzada de aplicaciones de negocio)

Es un lenguaje de programación de 4ta generación y sus productos SAP ECC Y SAP S/4HANA. También es conocida como SAP ABAP.

Lenguaje de programación de Alto nivel, facil de leer y se aprende rapidad/.

La cantidad de aplicaciones es gigante xo el cliente q adquiere el sist SAP, es posible q necesite algo en especifico y q no esta en el estandar.

También puede suceder q la funcionalidad q ofrece el sist. estandar no se ajuste competa/ a las necesidades del cliente, xa resolver estas situaciones existe un ambiente de desarrollo de nuevas aplicaciones integradas en el sist. SAP.

SAP se denomina ABAP development Workbench o entorno de desarrollo ABAP => Se compone de una serie de Tools integradas q permiten crear desarrollos nuevos en poco tiempo.

Este lenguaje se caracteriza por su total integración en el sist. SAP. Los millones de líneas de código están escritas en lenguaje de programación ABAP.

ABAP => Lenguaje de programación "estructurado"

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y el tiempo de desarrollo de un programa, q surge a finales de los años 70. Se recurre unica/ a subrutinas y 3 estructuras básicas.

  1. Secuencias: Es el orden en q las instrucciones deben ser ejecutadas.
  2. 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 lo cual ese llama condición.
  3. Iteraciones: Es la repetición de una instrucción o grupo de instrucciones mientras se cumple una condición.

ABAP es un lenguaje "Orientado a eventos", donde la secuencia de instrucciones depende del cumplimiento de una condición o evento.

La programación orientada a eventos es una paradigma de programación en el q las estructura y la ejecución de los programas va determinado x los sucesos o acciones q ocurren en el sist. definidos x el usuario o por el propio sist.

Audio: Una de las pples razones tiene q ver con la estabilidad de SAP q fue evolucionando paulatina/ con c/u de las versiones q la empresa saco.

5 versiones grandes desde hace 40 años R/1 R/2 R/3 SAP ECC, SAP S/4HANA

Se fueron incorporando los últimos adelantos de los lenguajes de programación modernos, el corazón de ABAP, la forma en q se programa y las sentencias en q se hace programación, sigue siendo la misma.

SAP esta compuesto x un conjunto de áreas funcionales, módulos o lineas de negocio s/g la versión de SAP. El lenguaje ABAP lo utilizamos xa realizar nuevo desarrollos o modificar los desarrollos existentes xa todas las áreas funcionales.

2. Un poco de historia de ABAP.

ABAP fue desarrollado x SAP como el lenguaje de programción xa elaborar reportes x SAP R/2 en los años 80.

Este tenia una mezcla de COBOL y SQL

ABAP se creo en una época donde COBOL era el lenguaje preferido de los desarrolladores de aplicaciones de gestión.

El longevo y siempre vigente lenguaje COBOL cumplio + de 60 años.

ABAP fue pensado xa usuarios finales del sist. SAP, pudieran manipular la información, xo con el paso del tiempo y versiones se fue volviendo complicado x usuarios comunes. Entonces programadores experimentados fueron necesarios xa el desarrollo.

ABAP se mantuvo como lenguaje de desarrollo xa la versión cliente-servidor de SAP R/3 => 1992, en q casi todo el sist., menos las llamadas básicas estaban escritas en ABAP.

En 1999 con el lanzamiento de la versión 4.6 R/3, SAP lanzo una extension orientada a objetos => ABAP OBJECTS.

La incorporación de los objetos ABAP, NO convirtió ABAP en un lenguaje orientado a objetos, sino q permite q determinadas funciones pueden ser pensadas y desarrolladas utilizando POO (Programacion Orietada a Objectos).

En las últimas versines de ABAP se fueron incorporando última innovaciones tecnológicas de los lenguajes de programación modenos de hoy en dia, inclusive se dispone de la posibilidad de programar en otros entornos de desarrollo diferentes a ABAP.

3. Las ppales fortalezas de ABAP

Puntos fuertes q presenta ABAP y son:

  • Utiliza sentencias OPEN SQL xa conectar practica/ cualquier DB. A partir de la versión de SAP S/4HANA solo trabaja SAP HANA como DB. En las versiones anteriores solo se utilizaban otras DB como Oracle y otras.
  • Es un lenguaje de programación estructurado q también puede ser programado orientado a eventos y también puede programarse utilizando la orientación a objetos: Tomando de c/u de estos paradigmas las mejores prácticas.
  • Cuenta con miles de funciones xa el manejo de archivos, DB, fechas, caracteres, entro otros: de esta forma operaciones complejas, se vuelven simples.
  • Permite conexiones RFC xa conectar a los sist. SAP con cualquier otro sist. o lenguaje de programación: conectar ABAP con JAVA. La comunicacion SAP y no SAP.
  • Permite la creación de aplicaciones multidioma: podemos traducir todos los textos de nuestras aplicaciones a los diferentes idiomas en donde se utilice la misma aplicación sin necesidad de volverla a crear. Esta funcionalidad es indispensable xa empresas multinacionales (sucursales en otros paises).
  • Posee una ayuda muy potente sobre la sintaxis y la semántica del lenguaje: Simple/ con presionar F1 sobre la sentencia q queramos.
  • Permite la realización de reportes en forma rápida y sencilla: disponible de varias opciones EJ: Reporte ALV

4- Las Herramientas propias de ABAP

ABAP posee algunas Tools q son propias del lenguaje y q no están presentes en otros desarrollos y las más importantes son:

  • El diccionario de datos ABAP (TX SE11): Es el punto de referencia de los programadores ya q permite aislarles el sist. de gestion de DB q se utilice x debajo. Desde una misma pantalla se puede: a= Crear b= Modificar c= Borrar los objetos de DB, entre los q incluyen las tablas base de datos, estructuras, las vistas, los elementos de datos y los dominios. Las definiciones de las tablas bases de datos pueden ser referenciadas directa/ en los programas, permitiéndonos modificar posterior/ las tablas sin modificar los programas. Tenemos posibilidad de gestionar otros objetos de diccionario de datos como: = las ayudas de búsqueda = los objetos de bloqueo = o los objetos de autorización.

Tx SE11 "Diccionario de datos ABAP" es utilizada para la admon de todas las definiciones de datos den el sist.

= El editor de programas (Txs SE38 y SE80): El editor ABAP provee las funciones básicas xa la edición de texto, tiene múltiples características q facilitan la programación.

Nos permite una verificación de sintaxis y aceptar las sugerencias del dispositovo de corrección automática

También nos permite resaltar las palabras clave y tener un vista en forma de estructura jerárquica q ofrece las posibilidad de ocultar o desglosar bloques.

Txs SE38 y SE80 Txs estándares xa el desarrollo de aplicaciones o programas ABAP.

= El Screen Painter (Tx SE51): Con esta Tool creamos rápida/ interfaces graficas de usuario incluyendo una amplia gama de elementos de control como botones de pulsación, botones de radio, checkboxes, etiquetas, campos de entrada, listas de DB, entre otros.

Las pantallas q se creen se denominan "dynpros" y en ella se incluye la definición de la pantalla y sus campos y la lógica del proceso de la misma. Esta lógica de proceso está dirigida x eventos, como los lenguajes visuales modernos, auq de esto s eventos esa limitada.

SE51 Tx estandar "Screen Painter" es utilizada xa la creacion de pantallas o dynpros.

= El entorno de depuración (Dentro de la Tx SE38): El modo debugging de ABAP es posible/ la Tool más alabada de los programadores habituales. Tiene todas las ventajas como: a= breakpoints (puntos de interrupción o de control) b= watchpoints (puntos de vigilancia) c= ejecución paso a paso d= ejecución por bloques y nos permite ver todo esto, viendo el código fuente y se localiza el error exacta/.

= Otras Tools: Existe Tools adicionales cuyo uso no esan frecuente dcomo el menú Painter, el análisis del tiemo de ejecución, el Class Builder, la Funtion Builder, entre otros.

5- Las modificaciones al sist. estándar de SAP.

Xa q los usuarios puedan adaptar el sist. a sus propias necesidades SAP deja espacios en el sist. estandar. Asi el usuario puede satisfacer sus requerimientos, agregando en estos huecos el código ABAP necesario.

A estos huecos se les denomina AMPLIACIONES, ya q con ellos se amplia o extiende las funcionalidades del sist. estándar.

pples ampliaciones:

  • Customer Exits (Txs CMOD y SMOD): Son espacios q SAP deja en el sist. estándar xa q los usuarios agreguen código x validaciones y mejoras. TXs estándar xa la Admon de las ampliaciones de usuario.
  • Field Exits (salidas de campo) TX CMOD y escribir PRFB -también llamadas ampliaciones de campo, son validdciones de los elementos de datos asociados a campos de pantallas.
  • BADIS (Business Adds-Ins) TXs SE18 y SE19- Son un nuevo tipo de extensión al sist. basado en la utilización de objetos ABAP xa la implementación de validaciones y ampliaciones al código estándar sin tener q modificar el código estándar.
  • Enhancements (mejoras)-(desde la misma TX SE38): Son ampliaciones al código estándar mediante las cuales podemos Agregar funcionalidades. al sist. SAP. menu: Tratar - operaciones ampliación 1- Insertar puntos de ampliación implícitos 2-Suprimir puntos de ampliación implícitos.
  • Estructuras Append (ajduntar) TX SE11 Diccionario de datos: Son objetos de ABAP q se crean xa agregar datos o configuraciones adicionales a las tablas bases de datos y estructuras estándar de SAP.

6- Los Consultores SAP.

Un consultor SAP es un profesional q ofrece ss(servicios) xa la = Implementación = Optimización = Ejecución de productos SAP y otros sist. Por medio de la interfaz con SAP aseguran el máximo aprovechamiento de los conocimientos y las Tools de tecnología en beneficio de la Cia.

El consultor adapta el sist. a lo q la empresa quiere y necesita. Mediante su labor las empresas obtienen información valiosa xa toma de decisiones y datos específicos.

REQUISITOS XA SER UN BUEN CONSULTOR

  1. Parametrizar => Programar en algun modulo o Tool.
  2. Escuchar => Saber escuchar y atender lo q el cliente necesita
  3. Analizar => Debe entender los procesos de negocio y transformarlos al lenguaje
  4. Hablar => Comunicar al cliente el fucionamiento del sist.
  5. Aprender => El consultor no debe parar, seguir en nuevos avances de la tecnolgía.
  6. Colaborar => Trabajo en equipo, es una fuente inagotable de ideas.
  7. Correr => Trabajar fuera de horas y arreglar rápida/ lo q no funciona.

Existen 3 tipos de consultores

= Consultor Funcional: Son profesionales q tienen conocimiento de un área funcional => ayuda a configurar el sist. de acuerdo a las necesidades * brinda asesoramiento y luego forma al personal. Hay consultores funcionales = Especialistas en más de un módulo. * Lo normal es especialista en un módulo. * Pero tiene conocimiento de los otros módulos en su capacitación.

= Consultor SAP Basis: Es la base técnica de las aplicaciones. * Es la forma "Clásica" => Admon de la plataforma operativa. Actual/ se llama "SAPNetweaver" (tejedor de redes).

Tienen la responsabilidad = Admon del entorno asegurando la integridad del sist.

= Tarea de mantenimiento.

= Actualizaciones

= Generación de backups (tener respaldo)

= Gestionar la plataforma

= Consultor Técnico: Personas q poseen el conocimiento técnico del sist. en gnral son los programadores ABAP.

* Consultor Técnico ABAP * Consultor ABAP * Desarrollador ABAP * Programador ABAP o ABAPER. son lo mismo. Desarrolladores ABAP = se encargan de confeccionar la documento

= Realizar Pruebas

= Asesorar a los consultores funcionales en la parte técnica

= Optimizar el sist.

Funciones: => Gestionar el diseño, desarrollo e implementación de proyectos.

=> Revisar los diseños técnicos xa cumplir los requisitos técnicos.

=> Recomendar mejoras en los procesos.

=> Proporcionar orientación técnica, funcional y a otros empleados.

=> Proporcionar atención al cliente de alta calidad a lo largo del proyecto.

=> Realizar un análisis de falla xa realizar la correcciones necesarias.

=> Colaborar con los propietarios funcionales, arquitectos y otro personal xa desarrollos sist. dinámicos y flexibles a fin de satisfacer las necesidades de la empresa.

7. El ciclo de trabajo de un consultor ABAP.

Como es la interacion de los consultes ABAP y consultores funcionales y como es la metodología de trabajo más común en el ciclo de vida de desarrollo SAP.

Cada empresa posee su propia metodología de trabajo, y esta afecta directa/ q la información fluye entre los distintos niveles jerárquicos de la empresa. Si se encuentra bien implementada mejora el control de costo de los requerimientos de los usuarios antes de llevarlos a cabo.

Aunque en primera instancia pudiera parecer un tanto burocrático, la misma garantiza la calidd del producto final y la organización del trabajo a realizar, ya q "en teoría" los tiempos han sido cálculos con antelación, no teniendo q trabajar con afanes o con demasiado tiempo de ocio improductivo.

EJ: 1- El requerimiento del cliente al consultor funcional

El gerente de ventas contacta a un consultor funcional SD y le comenta sus necesidades. Es muy raro que un gerente de ventas contacte a un consultor.

Ej: Necesitamos un reporte de ventas q nos sirva xa medir la productividad de nuestros vendedores a largo del mes.

El consultor funcional analiza el pedido del cliente y evaluará si ese trabajo se puede realizar "parametrizando", es decir configurando el sist. con la transacción estándar de SAP.

Sí se puede realizar la adptacion x una parametrización o si SAP ya nos brinda dicho reporte y el mismo satisface las necesidades de información del cliente.

Lo q sucede es q no se puede parametrizar, no existe el reporte y es cuando el consultor funcional y el consultor técnico se ponen a trabajar en conjunto.

2- La elaboración del diseño funcional

El consultor funcional elabora un documento llamado "diseño funcional", se indica lo siguiente:

= Si se trata de hacer un programa nuevo o de modificar uno existente.

= La funcionalidad del programa a realizar

= El detalle de la interfaz grafica de selección de datos q debe tener el programa o bien las modificaciones.

= Las tablas bases de datos q se accederán xa obtener la información del programa.

= Las pruebas básicas a realizar luego q el programa este terminado.

= Demás documentación q crea necesaria o útil al consultor ABAP.

Una vez el consultor elaboró el "diseño funcional" se le pedirá al consultor técnico q en base al a este diseño elabore y entregue un "diseño técnico", el cual es un documento donde se especifica el trabajo q deberá realizar desde el punto de vista técnico es:

= El nombre del programa a crear.

= Los campos q componen lo q se denomina en ABAP, la pantalla de selección.

= La forma de acceder a las tablas de DB xa obtener la información.

= Las validaciones q se realizaran en el programa.

= Si se imprimen datos en pantalla.

= Sí se generará un archivo de salida y muchas otras cosas más.

Normal/ se incluye la estimacion de las horas q se presume insumirá realizar o modificar el programa.

Esta estimación se hace en común acuerdo con el consultor funcional y consultor técnico y depende de: >>La dificultar de la tarea

>> la experiencai q poseee el aconultor ABAP como programador.

3- La elaboración del diseño técnico y la programación

Una vez finalizado el diseño técnico, el consultor ABAP, comenzará el desarrollo del programa o modificación a realizar.

Al terminar se hacen las pruebas unitarias y se avisa al consultor funcional, el cual realiza pruebas integrales (se prueba rigorosa/), sí todo esta en orden, se le avisará al cliente y se cierra el requeri-

miento.

Video: Gracias a las innovadoras tecnologías de DB y procesamiento in-memory (en memoria) desarrollado por SAP xa su producto HANA.

Desde le punto de vista del desarrollador a través de SAP HANA podremos:

Acelerar los programas ABAP existentes, xa eso toca optimizarlos, ampliar la funcionalidades x ej: Procesos q antes se ejecutaban de fondo o en batch, hoy gracias a esta tecnología pueden ejecu-

tarse en forma online y desarrollar aplicaciones nuevas mediante las nueva Tools q nos proporciona HANA.

Xa q las aplicaciones ABAP aprovechen las innovaciones de hardware y software de SAP HANA al menos por parte de la lógica de la aplicación debe ejecutarse en DB.

Que quiere decir esto, hasta ahora los programas q desarrollabamos en ABAP, accedian lo menos posible a la DB de SAP. y q era lo q más tiempo consumía. X lo tanto se trataba de limitar al máximo la selección de datos a las tablas bases de datos y luego se llevaba un procesamiento de datos obtenidos en memoria de modo de depurarlos y qdarnos mediante distintas lógicas unica/ con la información q buscabamos.

Ahora a partir de SAP HANA y de toda la potencia de DB se invierte esta lógica, es decir, a tratar de acceder a las tablas bases de datos, de realizar todos los calculos, lógicas y condiciones en este acceso de datos, ya q con SAP HANA tenemos una DB potente q resuelve esto más rápido q antes todas las consultas.

El proceso de mover el código del programa de capa de aplicación a la capa de DB, dentro del modelo OSI se denomina PUSH DOWN de código o CODE PUSH DOWN. Hasta ahora las aplicaciones ABAP utilizaban el paradigma DATA TO CODE, xo a partir de ahora las aplicaciones optimizadas o desarrolladas especificamente, xa SAP HANA deben utilizar el paradigma CODE TO DATA.

Otro cambio significativo q viene de la mano del nuevo sist. HANA tiene q ver con el entorno de desarrollo. hasta ahora los desarrolladores ABAP utilizan Workbrench y se utilizaba las TXs SE38 y SE80.

Ahora contamos con las Tools de desarrollo conocida com ADT.(ABAP development Tools) la cual se basa la plataforma Eclipse.

Eclipse es un framework de código abierto con el q se puede desarrollar cualquier tipo de software. IBM desarrollo Eclipse original/, xo ha sido mantenido y desarrollado x la fundación Eclipse desde el año 2004.

Esto significa a podemos seguir utilizando la TXs de Workbrench xa desarrollar en ABAP, xo q también disponemos de un ambiente poderoso de desarrollo xa programar en ABAP y acceder a nuevas Tools las cuales solo se encuentran disponibles, es decir no se encuentran disponibles en el Workbrench.

Por otro lado xa modelar las tablas de la DB asi como antigua/ teniamos acceso al diccionario de datos x la Tx SE11, ahora utilizaremos el SAP HANA STUDIO, a través del cual podemos realizar todo el desarrollo de la DB en HANA.

Junto con el entorno basado en Eclipse, SAP desarrollo nuevas Tools xa provechar al máximo al potencia de la nueva DB, en memoria tales como son: ABAP CORE DATA SERVICES y ABAP MANGER DATABASE PROCEDURE, las cuales solo se encuentran disponibles en el nuevo entorno de desarrollo. No se pueden crear desde la TXs SE38 y SE80. Estas Tools solo se encuentran disponibles en ADT. Bajo el entorno de desarrollo Eclipse. A partir de la versión ABAP 7.4 se introdujo en el lenguaje de programación una serie de mejoras cuyo objetivo es ayudarnos a reducir y simplificar el código. El ABAP q generemos, estas mejoras se conocen como declaraciones en línea. Es total/ necesario q como programadores ABAP xa q comencemos a implementarlas y no nos tomen desprevenidos.

CONCLUSIONES: La migración de SAP ECC a SAP HANA o SAP S/4HANA es eminente en la mayoria de las empresas. Y esto tiene que ver con los plazos q pone SAP a las empresas xa brindarle soporte con las versiones viejas. SAP no va a brindar soporte a las versiones anteriores y se debe hacer entonces un UPGRADE de su sist. Para todo esto debemos capacitarnos.


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para la Carrera Consultor ABAP.