✒️ABAP Las características de los programas ABAP
ABAP Las características de los programas ABAP
Unidad n°2: La declaración y el procesamiento de datos
Lección n°1: La características de los programas ABAP
Los objetos ABAP:
En ABAP se pueden crear diferentes objetos (dependiendo del requerimiento y necesidad del usuario). Los objetos más comunes son:
- Los reportes: los clásicos, los interactivos y el ALV (donde el sist. da muchas funcionalidades para agregar a nuestro reporte, como impresiones, ordenes, clasificar, etc).
- Los programas de diálogo (tipo de programa que consiste en una serie de pantallas o dynpros en las que el usuario navegará mientras que se va ejecutando el programa), llamados module pool.
- Los módulos de funciones y los de funciones RFC.
- Los formularios: principalmente trabajaremos con los SAPScripts y los Smartforms.
- Los Batch Imput (son un tipo de programa que se usa para el ingreso masivo de datos al sistema).
- Las ampliaciones: los User Exit, los Customer Exit, los Field Exit, los Screen Exit, los Menu Exit y los Enhancement.
- Las interfaces, es decir, los archivos de entrada y de salida.
Primero nos enfocaremos en los reportes clásicos:
Es un programa que consiste en una serie de instrucciones y palabras clave para procesar datos de entrada que se ingresan al programa por medio de la pantalla de selección o se pueden obtener de las tablas base de datos.
Luego, los datos ingresados se procesas y se muestran los resultados del procesamiento por pantalla o se generan archivos de salida.
La estructura general de un reporte es:
REPORT ZPRUEBA_ABAP_. Nombre del programa
DATA: v_suma TYPE i,
v_campo1 TYPE i, Declaración de las variables de datos tipo i (enteros)
v_campo2 TYPE i.
START-OF-SELECTION.
PERFORM sumatoria. Declaración de los eventos y el código correspondiente a cada uno
FORM sumatoria.
CLEAR v_suma.
v_campo1 = 10.
v_campo2 = 20. Declaración de subrutinas: se crean para modularizar el programa y ayudar al mantenimiento
v_suma = v_campo1 + v_campo2.
WRITE v_suma.
ENDFORM
En la imagen anterior se ven en color celeste las palabras reservadas o palabras claves del lenguaje.
*Palabras reservadas: son palabras o sentencias que están reservadas dentro del lenguaje para ocupar determinadas funciones y no pueden usarse por los programadores con otras intenciones a las cuales se crearon (REPORT, DATA, PERFORM, INITIALIZATION).
Existen cuatro tipos de palabras reservadas:
- Las declarativas: usadas para declarar datos que se usaremos dentro del programa (DATA, TABLES o CONSTANT).
- Los eventos: que ocurren en el programa (START-OF-SELECTION, TOP-OF-PAGE o INITIALIZATION).
- Las de control: sentencias de control de flujo de programa (IF, WHILE o DO).
- Las operativas: realizan funciones según la palabra clave (WRITE, MOVE o TRANSLATE).
Podemos usar los comentarios para guiarnos dentro del programa, y existen dos formas de usarlos:
- Con un asterisco en la primera columna de la fila: * Este es un comentario con asterisco
- Con comillas dobles en cualquier posición de la línea: " Este es un comentario con comilla
Además, dentro del editor ABAP (trans. SE38), podemos elegir si queremos trabajar con el editor ABAP nuevo o viejo. Aunque debemos resaltar que el nuevo es mejor ya que cuenta con numerosas mejoras.
Si queremos pasar del editor nuevo al viejo hay que ir a Utilidades Opciones Editor ABAP Editor.
Las ventajas de usar el editor nuevo son:
Numeración de las líneas.
Palabras reservadas en mayúsculas y en color celeste.
Textos en verde.
Autocompletado de las palabras.
Los eventos de un programa ABAP:
Son 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 sig. nombre de evento se encuentra.
Los nombres de los eventos son palabras reservadas. No podemos crear nuevos eventos, solo se pueden usar los que ya existen.
Principales eventos:
- INITIALIZATION: donde se inicializan las variables.
- AT SELECTION-SCREEN: donde se validan los parámetros introducidos en la pantalla de selección.
- START-OF-SELECTION: este evento se lanza cuando se procesa la instrucción REPORT. Donde se realiza el procesamiento central del programa (selección de datos, procesar un archivo, hacer operaciones aritméticas, etc).
- END-OF-SELECTION: se procesa cuando se termina el procesamiento central del programa (después del START-OF-SELECTION). Donde se genera el reporte de salida que puede ser en pantalla o a través de un archivo de salida.
- AT LINE-SELECTION: se usa en el reporte interactivo. Por medio de este evento se puede 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 1er dato aparezca en cada pág. y se usa para imprimir o generar títulos o cabeceras.
- END-OF-PAGE: se lanza cuando se crea automáticamente una nueva pág. en un listado de salida. Esto pasará cuando el núm. de líneas procesado sobrepase al núm. de líneas fijado para la pág. en la sentencia REPORT.
Ejemplo para usar los eventos:
REPORT z_prueba_eventoss.
DATA: v_campo1 TYPE i, "TYPE i es entero
v_campo2 TYPE i,
v_suma TYPE i.
INITIALIZATION.
CLEAR v_suma.
v_campo1 = 10.
v_campo2 = 20.
START-OF-SELECTION.
v_suma = v_campo1 + v_campo2.
TOP-OF-PAGE. " Evento para imprimir por pantalla el WRITE
WRITE 'Resultado de la cuenta:'.
END-OF-SELECTION. " dentro de este evento imprimimos por pantalla el resultado
WRITE v_suma. " de la suma almacenado en la variable v_suma
El navegador de objetos:
Además de la trans. SE38, existe otra trans. para crear, modificar o visualizar varios de los tipos de objetos, la trans. estándar SE80 (Navegador de objetos).
Dentro de este veremos del lado izquierdo una serie de botones disponibles, el cual siempre estará seleccionado el 2do.
Más abajo podemos ver un campo desplegable en que elegiremos el objeto con el que trabajaremos. Estos objetos son:
- Jerarquía de aplicaciones: con esta podremos crear todos los objetos que se visualizarán en la lista desplegable de abajo. Con la particularidad que se debe especificar el área funcional al cual corresponde el objeto que crearemos.
- Paquete: desde aquí podemos crear, modificar o visualizar un paquete o clase de desarrollo.
- Programa: es un programa ABAP como los que creamos con la trans. SE38.
- Grupo de funciones: se usa para agrupar módulos de funciones relacionadas. Desde aquí podemos crear, modificar o visualizar un grupo de funciones.
- Clase / Interface: una clase ABAP y una interface perteneces a la POO (programación orientada a objetos).
- Comp./Intf. Web Dynpro: se usa para desarrollar aplicaciones web mediante SAP.
Ejemplo para crear un programa con la trans SE80:
- En el 1er campo desplegable seleccionamos "Programa".
- En el 2do campo escribimos el nombre del programa que crearemos "ZPRUEBA_ABAP_V2" y presionamos enter.
- Creamos el objeto usando el mismo nombre "ZPRUEBA_ABAP_V2" y destildamos el check "Con include TOP".
- En la próx. ventana tenemos que poner el título y el tipo de programa, en este caso "Programa ejecutable" y grabamos.
- En la nueva pestaña que se abrió seleccionamos el paquete/clase de desarrollo "ZTEST_PAQUETE" y grabamos.
- Asociamos la creación del nuevo programa ZPRUEBA_ABAP_V2 a una nueva orden de transporte.
- Y listo, creamos nuestro programa.
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada