✒️ABAP Las características de los programas ABAP
ABAP Las características de los programas ABAP
1. Aplicaciones ABAP
Los tipos de objeto más comunes dentro del mundo ABAP son:
- Reportes, que pueden ser de tipo Clásico (generados por sentencias WRITE, donde se despliega una pantalla de selección de parámetros que despliegan datos de tablas Z o tablas SAP); de tipo Interactivo (de selección de datos por medio de un listado que va desplegando nuevos niveles de información, haciendo uso de eventos); de tipo ALV (ABAP List Viewer, que es el más utilizado debido a su fácil creación y que tienen funcionalidades ya incorporadas como ordenar, filtrar, imprimir, exportar,...)
- Programa de Diálogo -> Consiste en una serie de pantallas o dynpros por la que el usuario va navegando a medida que ejecuta el programa. Tambien se le conoce como Module Pool, para su creación se utiliza el Screen Painter y el Menu Painter bajo la SE80. Para su ejecución se debe crear una Tx asociada al programa.
- Formularios -> Se utilizan para la creación de documentos que necesitan ser impresos, visualizados, enviado por correo (a este tipo de salidas en SAP se le conoce como Salida Externa), por ejemplo, facturas, ordenes de compra, ...
- Batch Inputs -> Consiste en la ejecución automática de procesos. Existen dos maneras de hacerlo, Online por medio de un llamado a CALL TRANSACCION, de fondo o batch por medio de la creación de un juego de datos.
- User Exits -> Huecos que deja SAP dentro de sus objetos estandar, para que el programador pueda agregarles funcionalidades. Son las primeras ampliaciones que introdujo SAP. Son propias del módulo SD de ventas y distribución, no existen en otros módulos. Su nomenclatura está dada por USEREXIT_XXXXXXXX y están implementados en forma de subrutina. Se debe buscar el User Exit correcto que sirva para el propósito requerido y el código a agregar debe colocarse dentro de un INCLUDE que comenzará con Z o sino suelto.
- Field Exits -> Se utilizan para relacionar un campo de un dynapro con un código de programa o función. Es una función que sólo tiene un dato de entrada INPUT y uno de salida OUTPUT. En la TX SE37, biblioteca de funciones, y colocando field_exit_* y luego pulsando F4 saldrán todos los Field Exits del sistema. Su desventaja es que no se puede hacer debug sobre estos, sino que la busqueda de error debe hacerse mediante la implementación de mensajes de salida (MESSAGE).
- Funciones y RFC -> Se crean por medio de la SE37 (biblioteca de funciones) y pueden ser reutilizados por otros programas. Su objetivo principal es la reuntilización de código. Es necesario crear un grupo de funciones (tambien por la SE37) previamente para poder crear un módulo de funciones. RFC (Remote Function Call) es un llamado a una función remota. Es un protocolo que permite ejecutar procesos en otra máquina remota sin preocuparse por las comunicaciones, ya que esta ha sido configurada previamente por el administrador del sistema. Estas se configuran por la Tx SM59
Existen 4 tipos de palabras claves (o palabras reservadas) propias del lenguaje ABAP:
- Declarativas -> se utiliza para declarar los tipos de datos que se usarán dentro del programa
- Eventos -> Que ocurren dentro del programa
- Control -> sentencias de control de flujo de programa
- Operativas -> Realizan funciones según la palabra clave
Los comentarios en ABAP se pueden aplicar de dos maneras:
- Con un asterisco en la primera columna de la fila. Si se coloca en otro lugar dará error de sintaxis en su compilación
- Con comillas dobles en cualquier posición de la línea
2. Eventos de un programa ABAP
Es una etiqueta que identifica una sección de código dentro de un programa. La sección de código asociada comienza con un nombre de evento y termina cuando se encuentra el siguiente nombre de evento. Los nombres de eventos son palabras reservadas, no se pueden crear o modificar, sólo usar los existentes.
Los principales eventos son:
- INITIALIZATION -> Es el primer evento que se ejecuta y nos permite definir los campos de la pantalla de selección o cualquier otra variable
- AT SELECTION-SCREEN -> Se utiliza para validar los datos introducidos en la pantalla de selección
- START-OF-SELECTION -> Se lanza cuando se procesa la instrucción REPORT. En ese momento se empieza a ejecutar el código que se encuentra entre REPORT y START-OF-SELECTION. Inmediatamente despues se procesa el código contenido dentro de este evento. Este debe contener la lógica del procesamiento central del programa. Por ser el evento por defecto, si se escriben sentencias sin etiqueta de evento, estas se adjudican a este evento.
- END-OF-SELECTION -> El código de este evento se procesa cuando termina el procesamiento central del programa contenido en START-OF-SELECTION. Por lo general se utiliza para realizar impresión de resultados.
- AT LINE-SELECTION -> Permite realizar una acción de acuerdo a lo seleccionado por el usuario en una línea de un listado.
- AT USER-COMMAND -> Se ejecuta al presionar un botón del menú
- TOP-OF-PAGE -> Se ejecuta antes que el primer dato aparezca en cada página. Es util para colocar títulos o cabeceras
- END-OF-PAGE -> Se lanza cuando se crea automáticamente una nueva página, que es cuando el número de líneas sobrepasa el número de líneas fijado en la sentencia REPORT
No es relevante el orden en el que se escriban los eventos de un programa
3. Utilización del Debugger
Es importanta la utilización de esta herramienta para poder identificar y corregir los errores de codificación. Para hacer esto, se deben establecer puntos de control o breakpoint donde se detendrá la ejecución. Para la ejecuión del paso a paso se pueden utilizar:
- F5 o botón de Single Step para ejecutar sentencia a sentencia
- F6 o botón de Execute para ejecutar subrutina a subrutina sin entrar al contenido de cada una.
- F7 o botón de Return para retornar a la rutina de nivel superior a la actual
- F8 o botón de Run para continuar hasta el final del programa
En el debuger se pueden ingresar las variables a inspeccionar y conocer su valor en cualquier momento de la ejecución, además se puede modificar este valor para simular cualquier otro escenario con diferentes valores.
Tambien se puede ejecutar el debugger escribiendo el comendo /h, con lo cual se inicia el modo debug desde el inicio de programa.
4. Tipos y estados de Programa
Dentro de los tipos de programa podemos encontrar:
- Ejecutable -> programa clásico que puede ejecutarse sin un código de Tx asociado. Se ejecuta presionando F8 o tamien de fondo.
- Include -> Son utilizados para almacenar definiciones de datos o subrutinas para modularizar nuestro código.
- Modulpool -> programas de diálogo que se ejecutan de forma online, en el cual se interactua con el usuario.
- Grupo de Funciones -> Se utilizan para agrupar declaraciones de módulos de funciones
- Pool de Subrutinas -> contienen subrutinas que pueden ser llamados desde programas externos
- Pool de interfaces -> permite agrupar interfaces de un proyecto ABAP. POO (Programación Orientada a Objetos)
- Pool de clases -> permite agrupar clases de un proyecto ABAP. POO (Programación Orientada a Objetos)
- Type-Pools -> permite concentrar declaraciones de datos y tipos
Dentro de los estados de programa se encuentran:
- Estandar SAP Productivo
- Cliente Productivo
- Sistema
- Test
 
 
 
Sobre el autor
Publicación académica de Jose Hernando Donado Cervantes, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Hernando Donado Cervantes
Profesión: Ingeniero de Sistemas - Colombia - Legajo: KU74P
✒️Autor de: 55 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Jose Donado