✒️ABAP Las subrutinas
ABAP Las subrutinas
SUBRUTINAS.
¿Qué son las subrutinas?
Son secciones de código que pueden se llamadas desde el programa en diversas ocasiones.
Es importante que el nombre que se le vaya a dar a la subrutina sea los más representativo posible del resultado de la subrutina.
Se puede llamar un perform dentro de otro perform.
- Modularizar. Dividir el programa en varias partes, mediante el uso de procedimientos o subrutinas. Su función es realizar el código más legible, mantenible y encapsulable.
Declaración de subrutina.
PERFOFM nombre_subrutina.
Al generar la subrutina, se genera un bloque para que podamos introducir el código que va a ejecutar el perform.
FORM nombre_subrutina.
.....
ENDFORM.
Tipos de subrutinas.
Existen dos tipos de subrutinas.
- Internas Cuando la subrutina está dentro del mismo programa que la llama.
- Externas Se encuentra en un programa distinto al que las llama.
Subrutinas internas.
Dentro de las subrutinas internas podemos distinguir entre los parámetros actuales, que son los parámetros definidos en el programa principal, en el PERFORM. Los parámetros formales son los definidos en la subrutina, en el FORM.
Los parámetros pueden ser de tres tipos.
- De entrada. Cuando se utilizan para pasar datos del programa principal a la subrutina (USING).
- De salida. Se utilizan para pasar datos de la subrutina al programa principal (TABLES).
- De entrada y salida. Se utilizan para pasar datos de la subrutina al programa principal y viceversa (CHANGING).
En el bloque FORM-ENDFORM se deben especificar los tipos de datos de los parámetros formales.
Cuando se llama a una subrutina los parámetros deben se pasados en el mismo orden de su declaración.
- Tres formas de pasar parámetros.
- Paso por valor. durante a la llamada a la subrutina, los parámetros formales son creados como copias de los parámetros actuales. Los cambios en los parámetros formales no afectan a los parámetros actuales.
Ejemplo:
DATA: v_f1 TYPE c value 'B'.
PERFORM paso_por_valor USING v_f1.
WRITE v_f1.
------
FORM paso_por_valor USING value(pf1).
pf1 = 'X'.
ENDFORM.
La salida por pantalla al llamar a la subrutina es 'B'.
- Paso por referencia. durante la llamada a la subrutina, solo la dirección de los parámetros actuales se transfieren a los parámetros formales. Dentro de la subrutina, se trabaja con el campo del programa que hace la llamada.
- Paso por valor y resultado. durante a la llamada a la subrutina, los parámetros formales son creados como copias de los parámetros actuales. Los cambios en los parámetros formales son copiados a los parámetros actuales al final de la subrutina. Para dar salida a resultado se usa la palabra reservada CHANGING.
Subrutinas externas.
Sintaxis.
PERFORM nombre_subrutina(nombre_programa).
 
 
 
Sobre el autor
Publicación académica de Carlos Rodriguez Escudero, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Rodriguez Escudero
Profesión: Desarrollador Abap - España - Legajo: RR34T
✒️Autor de: 42 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Carlos Rodriguez