✒️ABAP Las subrutinas
ABAP Las subrutinas
4. - Subrutinas, funciones y batch
4.1. - Subrutinas
4.1.1. - ¿Qué son las subrutinas?
Son secciones de código que pueden ser utilizadas más de una vez. La idea de pasar el código de los programas a subrutinas es para que los programas sean más fáciles de leer y de mantener. Una subrutina se declara con la palabra reservada “PERFORM”, seguido del nombre de la subrutina. Haciendo doble clic sobre el nombre de la subrutina, el sistema propone crear la subrutina. El sistema pregunta donde crear la subrutina. Existen 2 posibilidades, o crearla en un nuevo “Include de datos” o crearlas en el mismo programa.
PERFORM nombre_subrutina.
Es importante que el nombre que se le asigne a la subrutina sea lo más representativo posible. La longitud del nombre no puede exceder de los 30 caracteres.
Modularizar
Acción de pasar el código de un programa a subrutinas para mejorar la lectura y el mantenimiento. Lo ideal es que una subrutina no tenga más de 50 líneas. Ayuda a encontrar errores en los programas más fácilmente.
Existen varias formas de modularizar un programa ABAP
1. Includes
a. Son subprogramas que contienen un conjunto de sentencias que serán reutilizadas en distintas partes del programa o inclusive en distintos programas que invoquen al include.
b. No se pueden ejecutar en forma directa a través de la transacción SE38, sino que deben estar ubicados dentro de un programa ABAP principal, que será el que se ejecute.
c. Includes de subrutinas
i. Objeto de ABAP que se crea para agrupar en él todas las declaraciones de datos que se utilizan en un programa o grupo de programas.
ii. Ventajas
1. Hace que los códigos de los programas ABAP sean más reducidos y sencillos de seguir
2. Facilitan el mantenimiento posterior de los programas
3. Favorece la reutilización del código.
2. Módulos de funciones
a. Se crean a través de la transacción estándar SE37.
b. Son subprogramas que contienen un conjunto de sentencias que serán reutilizadas por todos aquellos programas que los invoquen
c. Los módulos de funciones tienen una interfaz de parámetros de entrada y salida
d. Contienen excepciones que pueden capturar ciertas clases de errores.
3. Subrutinas
a. Son subprogramas que contienen sentencias que serán reutilizadas por los distintos programas que las invoquen.
b. Se suelen utilizar subrutinas internas al programa que las ejecuta pero también en ABAP se puede invocar subrutinas pertenecientes a otros programas
c. Pueden contener parámetros de entrada y salida
4. Clases
a. Son implementaciones orientadas a objetos de SAP ABAP. Se generan para mejorar la reusabilidad.
b. Se pueden crear clases a través de la transacción estándar SE24.
4.1.2. - Tipos de subrutinas
Existen 2 tipos de subrutinas:
1. Internas
a. Cuando la subrutina está dentro del mismo programa
2. Externas
a. Cuando la subrutina está en un programa distinto al que las llama, include de subrutinas u otro programa.
4.1.3. - Subrutinas internas
Para crear una subrutina interna, se utiliza la palabra clave “PERFORM”, seguida del nombre de la subrutina. Se crea dentro de un bloque “FORM-ENDFORM”.
Se pueden pasar datos entre los programas principales y una subrutina a través de parámetros.
1. Parámetros actuales
a. Son parámetros de entrada y salida definidos en el programa principal, a la derecha de la palabra “PERFORM”. Están definidos en el programa principal como variables, locales o globales.
b. La cantidad de parámetros actuales debe coincidir siempre con la cantidad de parámetros formales.
c. Existen 2 formas para pasar parámetros en subrutinas
i. Paso de parámetros por valor
1. Si se modifica un parámetro formal dentro de la subrutina, esta modificación no afecta al parámetro actual fuera de la subrutina
ii. Paso de parámetros por referencia
1. Si se modifica un parámetro formal dentro de la subrutina, afecta al parámetro actual fuera de la subrutina.
2. Parámetros formales
a. Son parámetros definidos en la subrutina a la derecha de la palabra reservada “FORM”.
b. También se los conoce como parámetros ficticios, ya que son variables locales que se declaran en la cabecera de la subrutina, en las cuales se almacenarán:
i. Datos de entrada que se le proporcionen a la subrutina llamada
ii. Datos de salida que se devolverán al subprograma llamante
c. Cada parámetro formal y su correspondiente parámetro actual, deben ser del mismo tipo, pero pueden tener diferentes o iguales nombres.
Los parámetros pueden ser de tres tipos
1. De entrada
a. Cuando se utilizan para pasar datos del programa principal a la subrutina
2. Se salida
a. Cuando se utilizan para pasar datos de la subrutina al programa principal
3. De entrada y salida
a. Cuando se utilizan para pasar datos de la subrutina principal y también viceversa.
4.1.4. - Paso de parámetros a subrutinas
Para pasar parámetros, se utilizarán tres opciones:
1. USING
< 
 
 
Sobre el autor
Publicación académica de Adrian Fernandez Marcos, en su ámbito de estudios para la Carrera Consultor ABAP.
Adrian Fernandez Marcos
Profesión: Técnico de Sistemas - España - Legajo: FQ91J
✒️Autor de: 116 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
Certificación Académica de Adrian Fernandez