Subrutinas
La modularización ayuda a encontrar más fácilmente los errores en los programas. esto se debe a que al debaguear un programa solo me preocupo que el resultado de una subrutina sea el esperado sin entrar en detalle de como se llega a ese resultado.
Tipos de subrutinas.
Internas: Cuando la subrutina está dentro del mismo programa que le llama.
Externas: Cuando la subrutina está en un programa distinto al que las llama.Como puede ser el caso de include de subrutinas o otro programa.
Subrutinas internas.
PERFORM: Palabra reservada del sistema que se utiliza para la creación de subrutinas.
PARAMETROS ACTUALES: Son los parámetros definidos en el programa principal, a la derecha de la palabra reservada PERFORM.
PARAMETROS FORMALES: Son los parámetros definidos en la subrutina, a la derecha la palabra reservada FORM.
Paso de parámetros a subrutinas.
USING:Cláusula ABAP que se utiliza para pasar parámetros de entrada de cualquier tipo de dato, incluido tablas internas.
CHANGING: Claúsula ABAP que se utiliza para pasar parámetros de salida de cualquier tipo de datos, incluido tabla internas.
TABLES: Cláusula ABAP que se utiliza para pasar como parámetro a tablas internas.
Existen 3 formas de pasar parametros:
1.-Paso por valor.
2.-Paso por referencia.
3.-Paso por valor y resultado.
Subrutinas externa.
Si quisiéramos llamar a una subrutina que está en un programa distinto al que estamos procesando debemos utilizar la siguiente sintaxis.
PERFORM<sub>(<programa>)USING...
Tambien podemos agregar includes de subrutinas a nuestro programa de la siguiente manera:
INCLUDE<report>.