✒️ABAP / Las características de los programas ABAP Por Yeny Yanes Bautista
ABAP Las características de los programas ABAP

Las caracteristicasde los programas ABAP
Dentro del mundo ABAP se pueden crear distintos tipos de objetos. El tipo de objeto que vamos a necesitar crear o modificar en el sistema va a depender del requerimiento o la necesidad del usuario del sistema SAP.
Los objetos ABAP más comunes con los que vamos a trabajar en el día a día como programadores ABAP son los siguientes:
â–º Reportes: Reportes clásicos, reporte interactivo y reporte ALV
â–º Programas de diálogo: O tambien llamado module spool
â–º Módulo de funciones y Módulo de funciones RFC
â–º Formularios: SapScripts y los Smartforms
â–º Batch Input: Son un tipo de programa que se utiliza para el ingreso masivo de datos al sistema.
â–º Ampliaciones: User Exit, Customer Fix, Field Exit, Screen Exit, Menú Exit y los Enhacement.
â–º Interfaces: Archivos de entrada y los archivos de salida.
â–º Reportes: Es un programa que consiste en una serie de instruccciones y palabras clave cuyo objetivo es procesar datos de entrada que se ingresan al programa a traves de lo que se conoce como pantalla de selección o se pueden obtener de las tablas bases de datos del sistema SAP. Luego los datos ingresados se procesan y finalmente se muestran los resultados del procesamiento por pantalla o se generan archivos de salida.
Estructura de un reporte
1. Nombre del programa ABAP: REPORT z_prueba_abap.
2. Declaración de las variables de datos de tipo I es decir enteros (Integer)
DATA: v_suma TYPE i,
v_campo1 TYPE i,
v_campo2 TYPE i.
3. Declaración de los eventos y el código correspondiente a cada uno de ellos
START-OF-SELECTION.
PERFORM sumatoria.
4. Declaración de subrutinas: se crean para modulizar el programa y ayudar al mantenimiento
FORM sumatoria.
CLEAR v_suma.
v_campo1 = 10.
v_campo2 = 20.
v_suma = v_campo1 + v_campo2.
WRITE v_suma.
ENDFORM.
En la imagen anterior se visualiza en color celeste lo que se denomina en ABAP palabras reservadas o palabras claves del lenguaje
Las palabras reservadas son palabras que estan reservadas dentro del lenguaje de programación ABAP para ocupar determinadas funciones y que no pueden ser utilizadas con otras intenciones diferentes de las cuales han sido creadas.
→ REPORT
→ DATA
→ PERFORM
→ INITIALIZATION
Existen 4 tipos de palabras reservadas o claves:
♦ Las declarativas: que se utilizn para declarar datos que vamos a usar dentro del programa. Ejem. DATA, TABLES, O CONSTANT
♦ Los eventos: que ocurren en el programa. Por ejemplo: START-OF-SELECTION, TOP-OF-PAGE O INITIALIZATION
♦ Las de control: sentencias de control de flujo de programa, Ejem: IF, WHILE, DO
♦ Las operativas: realizan funciones según la palabra clave. Ejem: WRITE MOVE, TRANSLATE
"La generación de comentarios en los programas ABAP es considerada una buena práctica de programación ya que ayuda a entender la lógica del código existente en el programa"
Existen 2 formas de utilizar los comentarios en un programa ABAP.
> Con un asterisco * en la primera columna de la fila
> Con comillas dobles en cualquier posicion de la línea
El editor ABAP nuevo presenta innumerables mejoras respecto del editor ABAP antiguo por lo que no se recomienda utilizar el viejo.
Los eventos de un programa ABAP
El lenguaje de programación ABAP es un lenguaje estructurado, tambien es orientado a eventos y a partir de una determinada versión incorpora la programación orientada a objetos.
>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 los eventos son palabras reservadas. No podemos crear nuevos eventos, solamente podemos usar los eventos que ya existen.
Los principales eventos que pueden ocurrir dentro de un programa ABAP son los siguientes.
INICIALIZATION: Es es el primer evento que se ejecuta dentro del programa. Nos permite incializar los campos de la pantalla de selección de un programa a cualquier otra variable. Cuando hablamos de incializar nos referimos a blanquear una variable o tambien a asignarle un valor o contenido determinado.
AT SELECTION-SCREEN: Este evento se utiliza para los datos introducidos en los parámetros que conforman a la pantalla de selección, por lo que este evento solo los vamos a encontrar en aquellos reportes que cuentan con una pantalla de selección.
START-OF SELECTION: Este evento se lanza cuando se procesa la introducción REPORT. 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. Este evento contiene las últimas sentencias que se ejecutarán en el programa. En general se utiliza para realizar la impresion de listados por pantalla o la genración de archivos de salida.
AT LINE-SELECTION: Se utiliza en el llamado "Reporte interactivo" que es un tipo de reporte ABAP en 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
AT USER-COMMAND: Este evento 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: Este evento 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.
-Crear programa Z_PRUEBA_EVENTOS_XC34C en transacción SE38 como programa ejecutable y como objeto local-
El navegador de los 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 correspondiente a la transacción estándar SE80.
En la parte izquierda de la pantalla tenemos una serie de botones disponibles, nosotros siempre vamos a tener seleccionado la segunda opción que es la que corresponde a "Browser de Repository"
Desde esta transacción tenemos la posibilidad de trabajar con distintos tipos de objetos ABAP. Para seleccionar el tipo de objeto que deseamos crear, modificar o visualizar vamos a utilizar el campo despegable que vemos a la izquierda de la pantalla de la transacción.
Los objetos ABAP más comúnmente utilizados:
☑ Jerarquía de aplicaciones: Con esta opción podremos crear todos los objetos que se visualizan en la lista despegable que vemos a continuación.
☑ 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 traves del editor ABAP de la transacción SE38
☑ Grupo de funciones: Es un objeto que se utiliza para agrupar módulos de funciones que se encuentran relacionados.
☑ Clase / Interface: una clase abap y una interface son objetos pertenecientes a la programación orientada a objetos
☑ Comp./Intd. Web Dynpro: es un tipo de objeto que se utiliza para desarrollar aplicaciones web mediante SAP.
-Crear programa ZPrueba_ABAP_V2_XC34C desde la opción despegable "Programa" en la transacción SE80
Pasos:
1) Seleccionar la opción despegable "Programa"
2) Ingresar el nombre de programa que vamos a crear y dar Enter
3) En la siguiente ventana seleccionar "Si" para crearlo
4) Clic en el check verde ✔
5) Ingresar el título y el tipo de programa que vamos a crear
6) Clic en "Grabar"
7) Seleccionar el paquete o clase de desarrolo y grabamos
Crear un programa ABAP nuevo atraves del editor ABAP correspondiente a la transacción SE38 es prácticamente igual que crearlo a traves del navegador de objetos correspondiente a la transacción SE80.
La diferencia entre ambas transacciones está en que mediante la transacción SE38 solo podemos crear programas includes que son un tipo de programas que más adelante vamos a ver en detalle mientras que con la transacción SE80 podemos crear no solo progrmas includes sinó que muchisimos otros tipos de objetos ABAP los cuales son sumamente necesarios en el día a día como programadores.
 
 
 
Sobre el autor
Publicación académica de Yeny Gisela Yanes Bautista, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Yeny Gisela Yanes Bautista
Profesión: Ingeniera en Sistemas - Honduras - Legajo: XC34C
✒️Autor de: 46 Publicaciones Académicas
🎓Egresado de los módulos:
- Master Funcional ABAP
- Master ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial






Disponibilidad Laboral: FullTime


















