Aplicaciones ABAP
Los objetos mas comunes son: Reportes, Programa de Dialogo, Formularios, Batch Input, User exits, Field exits, Funciones y RFC.
Reportes: Son programas que procesan datos, ingresados por el usuario o internos al sistema, y muestran resultados por pantalla.
Palabras Clave:
-Declarativas: se utilizan para poder usar datos en un programa (ejm: DATA, TABLES, CONSTANT,etc)
-Eventos: que captura cosas que pasan dentro del programa (STAR-OF-SELECTION, TOP-OF-PAGE, etc)
-Control: soon las sentencias de control de flujo (IF, WHILE, DO, etc)
-Operativas : Realizan funciones segun palabra clave (Ej: WRITE, MOVE,etc)
Estructura de un reporte
REPORT...........Nombre del programa
TABLES...........Se definen las tablas del diccionario de datos
DATA.............Se definen las variables internas
EVENTOS..........Se detallan los eventos y su codigo
SUBRUTINAS.......Se crean para modularizar los programas y ayudar a su mantenimiento
Comentarios
De una linea : Se pone asterisco
Locales : Se pone comillas dobles
EVENTOS
Es una etiqueta que identifica una seccion dentro del programa. Termina cuando se encuentra otra etiqueta de evento. Son palabras clave reservadas.
Principales eventos
-INITIALIZACION: Es el primer evento que se ejecuta y nos permite inicializar cuadros de dialogo y seleccion, asi como tambien otras variables.
-AT SELECCION-SCREEN: Se usa para validar los datos introducidos en los cuadros de dialogo o seleccion.
-STAR-OF-SELECTION: Es el evento por defecto y permite ejecutar el codigo entre el inicio y la etiqueta a la que nos referimos.
-END-OF-SELECTION: Se procesa cuando se termina el procesamiento central del programa, y en general se usa para la impresion de listados.
AT LINE-SELECTION: Permite al usuario seleccionar una linea de un listado y realizar alguna accion.
AT USER-COMMAND: Se ejecuta cuando el usuario presiona un boton del menu en un reporte.
-TOP-OF-PAGE: Este evento se procesa antes de que el primer dato aparezca en cada pagina, se suele usar para colocar titulos o abeceras.
END-OF-PAGE: Se lanza cuando se crea automaticamente una nueva pagina, es decir cuando el reporte exceda su capacidad de lineas.
EJERCICIO COMENTADO
*&---------------------------------------------------------------------*
*& Report Z_PRUEBA_EVENTOS_RICARDO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*NOMBRE DEL PROGRAMA
REPORT Z_PRUEBA_EVENTOS_RICARDO.
*TABLAS QUE TOCO
TABLES *.
*VARIABLES QUE USO
DATA:
num1 TYPE i,num2 TYPE i,suma TYPE i.
*INICIALIZO
INITIALIZATION.
CLEAR suma.
num1 = 10.
num2 = 12.
*SI O SI SE PONE ESTO
START-OF-SELECTION.
suma = num1 num2.
*PARA EL TITUO
TOP-OF-PAGE.
WRITE 'Resultado de la suma'.
END-OF-SELECTION.
WRITE suma.
NO IMPORTA EL ORDEN QUE SE ESCRIBAN LOS EVENTOS EN UN PROGRAMA!!!