![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las subrutinas
ABAP Las subrutinas
![ABAP Las subrutinas ABAP Las subrutinas](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/375.jpg)
SUBRUTINAS
- Las subrutinas son secciones de código que pueden ser utilziadas más de una vez.
- Permiten modularizar nuestro código.
- Nos permite mejorar la lectura y el mantenimiento de nuestro código.
- Modularizar nos permite encontrar más fácil los errores del programa. Esto se debe a que al debuggear 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.
- Una subrutina se declara usando la palabra reservado PERFORM. Ejemplo: PERFORM selecciono_datos.
- Una subrutina puede ser colocada en un INCLUDE de datos o en el mismo control del programa, es decir, en nuestro código principal. Para declarar la subrutina se usa la palabra reservada FORM y ENDFORM.
TIPOS DE SUBRUTINAS
- Internas : Cuando la subrutina está dentro del mismo programa que la llama.
- externas: Cuando la subrutina está en un programa distinta al que las llama.
SUBRUTINAS INTERNAS
Se puede pasar datos entre los programas principales y una subrutinas a través de parámetros. A los parámetros definidos en el programa principal, a la derecha de la palabra PERFORM se los llama parámetros actuales.
A los parámetros definidos en la subrutina, a la derecha de la palabra FORM, se los llama parámetros formales.
Los parametros pueden ser de 3 tipos:
- De entrada: cuando se utilizan para psar datos del programa principal a la subrutinas.
- De salida: cuando se utilizan para pasar datos de la subrutina al programa principal.
- De entrada y salida: cuando se utilizan para pasar datos de la subrutina al programa principal y también viceversa.
PASO DE PARÁMETROS A SUBRUTINAS
Para pasar los parámetros utilizaremos tres opciones: USING, CHANGING, TABLES. Estas opciones se deben escribir en el orden que mostramos a continuación en el siguiente gráfico.
PERFORM subrutina TABLES tabla_salida
USING <parámetro de entrada>
CHANGING <parámetro de salida>.
En el bloque FORM-ENDFORM debemos especificar el tipo de los parámetros formales. De esta forma nos aseguramos que sólo se pasen parámetros del tipo que corresponden a la subrutina.
FORMAS DE PASAR PARAMETROS:
- Paso por valor: Durante la llamada a la subrutina, los parámetros formales son creadas como copias de los parámetros actuales. USING value (nombre_variable).
- Paso por referencia: Se pasa la dirección de memoria de los parámetros. Si cambiamos el valor de la variables en la subrutina también se reflejará en el programa principal. USING CHANGING.
- Paso por valor y resultado: Durante la llamada a la subrutina, los parámetros formales son cerados como copias de los parámetros actuales.
SUBRUTINAS EXTERNAS
Para llamar a una subrutina que no se encuentra en el mismo programa usamos PERFORM sub(programa) USING. También podemos agregar INCLUDEs de subrutinas a nuestro programa de la siguiente manera INCLUDE report.
 
 
 
Sobre el autor
Publicación académica de Juan Pablo Giron Ruiz, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Pablo Giron Ruiz
Colombia - Legajo: FG66E
✒️Autor de: 21 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero electrónico con conocimientos sólidos en ciencias de la computación y magister en ciencias de ingeniería eléctrica. proactivo y amante a los retos profesionales.
Certificación Académica de Juan Giron