✒️ABAP Las características de los programas ABAP
ABAP Las características de los programas ABAP
1|Los objetos ABAP
Dentro de ABAP podemos crear o modificar diferentes tipos de objetos y el mismo va a depender del requerimiento o necesidad del usuario SAP.
Los objectos más comunes son los siguientes:
- Los reportes(reportes clásicos, reporte interactivo y reporte ALV).
- Los programas de dialogo(también llamado module pool).
- Los módulos de función y los módulos de función RFC.
- Los formularios, principalmente trabajaremos con SAPScripts y Smartforms.
- Los Batch Input, son un tipo de programa utilizado para el ingreso masivo de datos al sistema.
- Las ampliaciones, vamos a trabajar mayormente con los User Exit, los Customer Exit, los Field Exit, los Screen Exit, los Menu Exit y los Enhancement.
- Las interfaces, es decir archivos de entrada y archivos de salida.
Reporte
Es un programa que consiste en una serie de instrucciones y palabras clave.
Su objetivo es procesar datos de entrada, que son ingresados al programa a través de una pantalla de selección o de las tablas de la base datos del sistema SAP.
Luego, los datos ingresados se procesan y se muestran los resultados por pantalla o se genera un archivo de salida.
Palabras reservadas: REPORT; DATA; PERMORM; INITIALIZATION.
Existen cuatro tipo de palabras reservadas:
- Declarativas: Se utilizan para declarar datos o usar dentro del programa. Ej: TABLES; DATA; CONSTANT
- Eventos: Que ocurren en el programa. Ej: START-OF-SELECTION; TOP-OF-PAGE; INITIALIZATION.
- Control: Son las sentencias de control de flujo. IF, WHILE,DO.
- Operativas: Realizan funciones según la palabra clave. Ej: WRITE; MOVE o TRANSLATE.
RECORDATORIO: Es sumamente importante comentar el código en los programas que trabajamos. Esto puede ayudar a entender lógicas complejas con un simple comentario.
Existen dos formas de comentar en ABAP:
- Con un asterisco(*) en la primera columna de la fila
- Con comillas dobles en cualquier posición de la línea(")
2| Los eventos de un programa ABAP
ABAP es un lenguaje estructurado, orientado a eventos e incorpora el paradigma de la POO.
Un evento de un programa ABAP es una etiqueta que identifica una sección de código dentro de un programa.
Una sección de código asociada con un evento, comienza con el nombre del evento y termina con el nombre del próximo evento que se encuentra en el código. Los nombres de los eventos son palabras reservadas. No podemos crear nuevos eventos.
Los principales eventos son:
- INITILIZATION: Es el primer evento que se ejecuta dentro del programa. Nos permite inicializar los campos de la pantalla de selección de un programa o de cualquier variable. Cuando hablamos de inicializar nos referimos a blanquear una variable o asignales un valor o contenido.
- AT SELECTION-SCREEN: Se utiliza para validar los datos introducidos en los parámetros que conforman a la pantalla de selección, por lo que solo vamos a encontrar a este en aquellos reportes que cuentan con una 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 la palabra reservada START-OFSELECTION. Inmediatamente después se procesa el bloque de código 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 en 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.
El evento END-OF-SELECTION contiene las últimas sentencias que se ejecutarán en el programa.
En general se lo utiliza para realizar la impresión de listados por pantalla o la generación de archivos de salida. - AT-LINE-SELECTION: se utiliza en el llamado reporte interactivo que es un reporte donde se muestra en pantalla un listado inicial y a partir de hacer doble clic en alguna línea de este listado se muestra una segunda pantalla con información adicional o detallada. Y así cuantos niveles se desee. Con este evento podemos saber sobre cuál línea de la pantalla el usuario hizo doble clic, de modo de poder realizar alguna acción sobre ella.
- AT-USER-COMMAND: se ejecuta cuando el usuario hace clic en un botón del menú del reporte.
- TOP-OF-PAGE: se procesa antes de que el primer dato aparezca en cada página y se utiliza para imprimir o generar títulos o cabeceras.
- END-OF-PAGE: se lanza cuando se crea automáticamente una nueva página en un listado de salida. Esto ocurrirá cuando el número de líneas procesado sobrepase al número de líneas fijado para la página en la sentencia REPORT. Por ejemplo si tenemos que imprimir en pantalla un reporte de salida de 100 líneas entonces cuando sealcance el número máximo de líneas que entran en pantalla, el cuál es cercano a 24 líneas, al momentode imprimirse la línea número 25 se ejecutará el evento END-OF-PAGE previamente a la impresión de la línea 25.
No importa el orden en el que se escriban los eventos dentro de un programa ya que existe un orden preestablecido de ejecución de los eventos. Es decir si primero escribo el evento START-OF-SELECCTION y luego escribo el evento INITIALIZATION eso no significa que los eventos se ejecutarán en ese orden.
3 | El navegador de objetos
Existe otra transacción a través de la cual podemos crear, modificar o visualizar varios de los tipos de objetos ABAP que describimos al comienzo de esta lección y esa transacción es el Navegador de objetos(SE80). Desde esta transacción tenemos la posibilidad de trabajar con distintos tipos de objetos ABAP.
Tenemos disponibles los siguientes tipos de objetos ABAP, siendo algunos muy comúnmente utilizados como los programas y otros prácticamente nunca los vamos a utilizar.
Jerarquía de aplicaciones: si seleccionamos esta opción entonces podremos crear todos los objetos que se visualizan en la lista desplegable.
Paquete: desde aquí podemos crear, modificar o visualizar un paquete o clase de desarrollo
Programa: es un programa ABAP tal como los que hasta el momento creábamos a través transacción SE38.
Grupo de funciones: es un objeto que se utiliza para agrupar módulos de funciones que se encuentran relacionados. Desde aquí podemos crear, modificar o visualizar un grupo de funciones.
Clase / Interface: una clase abap y una interface son objetos pertenecientes a la programación orientada a objetos.
 
 
 
Sobre el autor
Publicación académica de Octavio Ivan Pasciucco, en su ámbito de estudios para la Carrera Consultor ABAP.
Octavio Ivan Pasciucco
Profesión: Consultor Sap Btp - Argentina - Legajo: FX47X
✒️Autor de: 23 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Presentación:
Consultor sap btp
Certificación Académica de Octavio Pasciucco