✒️ABAP Las características de los programas ABAP
ABAP Las características de los programas ABAP
1. Aplicaciones ABAP
Dentro de ABAP se pueden crear distintos tipos de objetos. Los más comunes son:
- Reporte: Es un programa que consiste en una serie de instrucciones y palabras clave cuyo objetivo es procesar datos de entrada o datos que se obtienen de las tablas del sistema y mostrar lo resultados del procesamiento por pantalla.
- Reporte interactivo: Es un tipo de reporte donde clikeando una línea, se accede a otros datos relativos a esa línea y así sucesivamente por cuantos niveles tenga el listado.
- Reporte ALV: Reporte que nos proporciona una gran cantidad de funcionalidades, como impresión, enviar a excel, ordenar, clasificar, etc. Los más utilizados son: Grillas (reportes encuadrados en tablas), Listas (similares a mostrar los datos con write pero con una serie de boton de comando), Jerárquico (tipo maestro-detalle).
- Programa de diálogo: Consiste en una serie de pantallas o dynpros por las que el usuario va navegando a medida que se produce la ejecución del programa. Cada pantalla o dynpro tiene una lógica asociada.
- Formularios: Son objetos que se utilizan en la creación de documentos (facturas, ordenes de compra, solicitudes de pedido, etc.) que necesitan ser impresos, visualizados por pantalla o enviados por correo electrónico.
- Batch input: Proceso para ingresar datos de manera automática utilizando las validaciones del sistema en sus transancciones.
- User exits: Son interfaces o secciones que SAP deja dentro de los objetos standard, para que los programadores agreguen código para satisfacer un requerimiento que no cubre SAP.
- Funciones: Programas que se crean a través de la transacción SE37 y que pueden ser reutilizados en cualquier otro programa.
- RFC: Remote Function Call (llamada a función remota) Es un protocolo que permite a un programa ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos.
Primeramente veremos los Reportes Clásicos o simplemente Reportes.
Existen cuatro tipos de palabras claves:
- Declarativas: Se utilizan para declarar datos que vamos a usar dentro del programa (DATA, TABLES y CONSTANT).
- Eventos: Que ocurren en el programa (START-OF-SELECTION, TOP-OF-PAGE, etc).
- Control: Sentencias de control de flujo de programa (IF, WHILE, DO, etc.)
- Operativas: Realizan funciones según la palabra clave (WRITE, MOVE, etc).
Generalmente la estructura de un reporte es de la siguiente manera:
- REPORT <nombre>......Nombre del programa
- TABLES:...........................Aquí se definen las tablas del diccionario de datos
- DATA:................................Aquí definimos las variables internas
- EVENTOS:.......................Se detallan los eventos y el código correspondiente a cada uno
- SUBRUTINAS:................Se crean para modularizar los programas y ayudar al mantenimiento
Existen dos formas de utilizar los comentarios en un programa ABAP
- Con un asterisco en la primera columna de la fila
- Con comillas dobles en cualquier posición de la línea.
2. Eventos de un programa ABAP
Como mencionamos anteriormente, la programación ABAP es orientada a eventos.
Un evento es una etiqueta que identifica una sección de código dentro de un programa.
La sección de código asociada con un evento, comienza con un nombre de evento y termina cuando el siguiente nombre de evento se encuentra.
Los nombres de eventos son palabras reservadas. No podemos crear nuevos eventos, solamente podemos usar los que ya existen.
Los principales eventos que pueden ocurrir dentro de un programa son:
- INITIALIZATION: Es el primer evento que se ejecuta. Nos permite inicializar los campos de la pantalla de selección de un programa o cualquier otra variable.
- AT SELECTION-SCREEN: Este evento se utiliza para validar los datos introducidos en los parámetros que conforman a la pantalla de selección.
- START-OF-SELECTION: Este evento 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 la palabra reservada START-OF-SELECTION. Inmediatamente después se procesa el bloque contenido dentro de este evento. Se utiliza para realizar el procesamiento central del programa, tal como puede ser realizar la selección de los datos, procesar un archivo, realizar operaciones aritméticas, etc. Es el evento por defecto, es decir si escribimos sentencias ejecutables sin etiqueta de evento, estas se adjudican por defecto a START-OF-SELECTION.
- END-OF-SELECTION: El código de este evento se procesa cuando se termina el procesamiento central del programa, es decir luego del evento START-OF-SELECTION. Con tiene las últimas sentencias que se ejecutarán en el programa. En general se le utiliza para realizar la impresión de listados.
- AT LINE-SELECTION: Permite al usuario seleccionar una línea de un listado y realizar alguna acción. Se utiliza en los llamados reportes interactivos.
- AT USER-COMMAND: Se ejecuta cuando el usuario presiona un botón del menú en un reporte.
- TOP-OF-PAGE: Este evento se procesa antes de que el primer dato aparezca en cada página. Se suele utilizar para colocar títulos o cabeceras.
- END-OF-PAGE: Esto ocurrirá cuando el número de líneas procesadas sobrepasen el número de líneas fijado para la página en la sentencia REPORT.
3. Utilizando el debugger
Para activar el debugger debemos agregar un breakpoint en el programa, dando un click del lado izquierdo del número de línea , seleccionándolo del menú superior o con click derecho. Los breakpoints pueden ser de sesión (dura mientras la sesión está abierta) y externo (dura 2 horas).
El debugger se puede ejecutar paso a paso (F5), subrutina a subrutina (F6), retornando a la rutina de nivel superior a la actual (F7) y continuar con la ejecución normal (F8).
Se puede modificar el debugger en: Opciones/Editor ABAP/Debugging/Función Debugging y cambiando la función del debug.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Nicolas Ballesteros Palma
Sobre el autor
Publicación académica de Pedro Alejandro Arroyo Gutierrez, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Alejandro Arroyo Gutierrez
Profesión: Gerente de Sistemas - Mexico - Legajo: MC48F
✒️Autor de: 65 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Pedro Arroyo