✒️ABAP Las características de los programas ABAP
ABAP Las características de los programas ABAP
1 | Los objetos ABAP
Como dijimos antes, hay varios tipos de objetos:
- Reportes, entre ellos: Los reportes clásicos, los interactivos y los ALV.
- Los programas de diálogo (también llamados module pool).
- Los módulos de funciones y los módulos de funciones RFC (Recordemos que RFC significa Remote Function Call).
- Los formularios, en los que trabajaremos con SAPScripts y Smartforms.
- Los Batch Input, que es un programa empleado para emular un usuario ingresando cantidades masivas de datos al sistema.
- Las ampliaciones, entre ellas: User Exit, Customer Exit, Field Exit, Screen exit, Menu exit y Enhancement.
- Las interfaces, es decir los archivos de entrada y los de salida.
Las que vamos a aprender de forma prioritaria son los reportes. En específico, los reportes clásicos. Los reportes en esencia son programas que reciben una entrada de datos desde una pantalla de selección, procesan esos datos (o usan esos datos como parámetros para conseguir otros datos en tablas) y muestran los resultados.
Usualmente, la estructura en estos programas es (en orden):
- Nombre del programa
- Declaración de las variables
- Declaración de eventos y los códigos que le corresponde a cada uno
- Declaración de subrutinas
Y en todo el programa vamos a encontrar palabras reservadas, las cuales son palabras con funciones específicas en el ámbito de la programación ABAP, por lo que están reservadas para el uso en desarrollo. Hay 4 tipos:
- Las declarativas: Que se usan para datos a utilizar dentro del programa. Ej.: DATA, TABLES o CONSTANT.
- Los eventos: Que ocurren dentro de los programas. Ej.: START-OF-SELECTION, TOP-OF-PAGE o INITIALIZATON.
- Las de control: Son sentencias de control de flujo del programa. Ej.: IF, WHILE y/o DO.
- Las operativas: Que realizan funciones específicas según la palabra clave. Ej.: WRITE, MOVE y/o TRANSLATE.
Otra cosa que nos vamos a encontrar en los programas van a ser comentarios, los cuales se pueden hacer de una de dos formas:
- Usando un asterisco en la primera columna de la fila.
- Usando comillas dobles en cualquier posición de la línea.
2 | Los eventos de un programa ABAP
Primero hay que aclarar cómo funcionan los eventos y también cómo operamos con ellos en ABAP:
Los eventos los vamos a ver como etiquetas que identifican una sección de código dentro de un programa. La sección está asociada a un evento; comienza con el nombre del mismo y acaba cuando llega al nombre del siguiente evento.
Los nombres de los eventos son palabras reservadas y no podemos crear más eventos, solo disponemos de los ya existentes.
Con eso aclarado, ya podemos detallar los eventos a nuestra disposición:
- INITIALIZATION: Es el primer evento que se ejecuta dentro del programa. Usualmente se usa para inicializar campos en la pantalla de selección del programa o cualquier otra variable.
- AT SELECTION-SCREEN: Este evento se usa para validar los datos introducidos en la pantalla de selección.
- START-OF-SELECTION: Este es un evento que se lanza cuando se procesa la instrucción REPORT, momento en el que empieza a ejecutar el código entre REPORT y la palabra reservada START-OF-SELECTION; apenas acabe con eso ejecutará el código dentro del evento. En general, este evento se usa para realizar el procesamiento central del programa. Cabe destacar que cualquier sentencia ejecutable sin etiqueta de evento se considera parte de este evento por defecto.
- END-OF-SELECTION: Este evento es el que se ejecuta cuando termina el procesamiento central del programa, es decir, cuando acaba START-OF-SELECTION. O en otras palabras, tiene las últimas sentencias a ejecutar en el programa. Usualmente se usa para la impresión de listados por pantalla o la generación de archivos de salida.
- AT LINE-SELECTION: Este evento es usado en los reportes interactivos para saber con qué línea de la lista en pantalla interactuó el usuario. De esta forma le podemos asignar acciones a las líneas.
- AT USER-COMMAND: Este evento se ejecuta cuando el usuario hace clic en un botón del menú del reporte.
- TOP-OF-PAGE: Este evento se procesa antes de que el primer dato aparezca en cada página y usualmente se usa para imprimir títulos o cabeceras.
- END-OF-PAGE: Este es el que se ejecuta automáticamente cuando se crea una nueva página en un listado de salida, lo cual ocurrirá cuando el número de líneas procesadas sobrepase el número de líneas fijadas para la página en la sentencia REPORT.
O en resumen, Tenemos una cantidad finita de reportes cuyo orden no importa ya que su orden ya está definido.
3 | El navegador de objetos
En el entorno de desarrollo tenemos acceso al Navegador de objetos (Transacción SE80), el cual nos permite crear, modificar y visualizar varios tipos de objetos.
Lo que veremos al accederlo va a depender del tema de SAP GUI, en el caso que sea signature: Veremos una pantalla en gran parte vacía, a excepción de la izquierda, en la cual tendremos una columna que tiene en la parte superior una lista de botones. Si el tema es Belize (el tema más moderno) veremos que esa lista falta, podemos accederla dándole a "Más..." -> "Entorno", adicionalmente, la opción que nos importa, Browser de Repository, ya seleccionada.
Debajo veremos dos campos con botones para abrir listas de opciones, la primera es la que nos importa ahora, esta tiene las siguientes opciones:
- Jerarquía de aplicaciones: Si seleccionamos esta opción podremos crear todos los objetos que se pueden visualizar al abrir el otro campo. Con la particularidad de que hay que especificar el área funcional o módulo del sistema al cual corresponde el objeto que está por ser creado.
- Paquete: Para crear, modificar o visualizar paquetes o clases de desarrollo.
- Programas: Básicamente lo que estábamos haciendo con SE38. Con la única diferencia de que cuando creemos un programa, de momento, tendremos que des-tildar la opción "Con include TOP".
- Grupo de funciones: Para crear, modificar o visualizar los grupos de funciones y también para agrupar módulos de funciones.
- Clase/Interface: Para gestionar clases e interfaces del paradigma POO.
- Comp./Intf. Web Dynpro: Es un tipo de objeto que se usa para desarrollar aplicaciones web mediante SAP.
 
 
 
Sobre el autor
Publicación académica de Mauricio Javier Solis Ibañez, en su ámbito de estudios para la Carrera Consultor ABAP.
Mauricio Javier Solis Ibañez
Profesión: Técnico Electrónico - Argentina - Legajo: CF20Z
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Mauricio Solis