Perform ABAP Modularización En Subrutinas
Perform ABAP
Perform ABAP es la sentencia que nos permite modularizar código fuente dentro del paradigma de la programación estructurada. Ciertamente, antes de explicar a detalle esta instrucción, me gustaría dar contexto a las personas que aún tienen conocimientos básicos en el mundo de la programación.
¿ Qué es la modularización ?
Modular en la programación es la propiedad que permite subdividir una solución en partes pequeñas, es necesario que estas partes sean independientes y estén orientadas a realizar una tarea especifica.
El acto de particionar un programa en componentes individuales para reducir su complejidad en algún grado….
Bertrand Meyer
Ahora que entramos en contexto, podemos responder las siguientes preguntas ¿ Qué es la modularización en ABAP ? ¿ Para qué sirve Perform ABAP ?. Ciertamente, volviendo a la definición anterior, entendemos que la modulaoización en ABAP es aplicar este principio a nuestros programas o reportes. Sin embargo, actualmente hay dos formas de lograrlo, la primera es utilizando el paradigma orientado a objetos y la segunda es con la programación estructurada y las subrutinas ABAP.
Subrutinas ABAP
Este método se utilizó, principalmente, antes de la programación orientada a objetos y básicamente son pequeñas secciones de código en un programa que se llaman cada vez que se necesiten. No obstante, otros programas, de igual forma, pueden utilizarlas cuando las necesiten. Adicional, puedes leer más al respecto en este enlace de Rutinas ABAP Dinámicas.
ABAP Perform Statement
Para construir una rutina se necesita de las sentencias FORM y ENDFORM, colocando entre ellas el código ABAP que se quiera modularizar. Ejemplo:
FORM escribe_hola.
WRITE 'Hola'.
ENDFORM.
En el ejemplo anterior la subrutina ABAP ejecuta la instrucción WRITE con la cadena «Hola». Además, esta rutina se puede llamar una o múltiple veces con la sentencia PERFORM. Ejemplo;
REPORT z_perform_sample
START-OF-SELECTION.
PERFORM escribe_hola.
// Volvemos a ejecutar la subrutina ABAP
PERFORM escribe_hola.
De esta manera nuestro programa ABAP estará ejecutando dos veces la subrutina ABAP a través de la sentencia PERFORM y por consiguiente el código dentro de ella. Es decir, el programa va a imprimir en pantalla 2 veces el string «HOLA».
Los performs pueden o no llevar parámetros de entrada y de salida. Es decir, cuando el programa control los llame, les puede enviar información para su procesamiento. A continuación, te enlisto los principales parámetros que se utilizan:
- TABLES – Tablas internas
- USING – Valores de variables que no se deben manipular
- CHANGING – Variables que dentro de la rutina se modifica su valor.
Ejemplo De Subrutina ABAP Con Parámetros
FORM poblar_tabla USING p_estructura TYPE any
CHANGING p_table TYPE INDEX TABLE.
APPEND p_estructura TO p_table.
ENDFORM.
Documentación Oficial SAP
Para más información sobre las rutinas ABAP, puedes visitar el siguiente enlace