✒️ABAP Las subrutinas
ABAP Las subrutinas
SUBRUTINAS
*Subrutinas; son secciones de codigo que pueden ser utilizadas mas de una vez.
*La idea de pasar el codigo de los programas a subrutinas, es para que los programas sean mas faciles de leer y de mantener.
*Modulizar: se llama asi a la accion de pasar el codigo de un programa a subrutinas, para mejorar la lectura u mantenimiento del mismo.
*Lo ideal es que una subrutina no tenga mas de 50 lineas de codigo,
La modularizacion ayuda a encontrar mas facilmente 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 llega a ese resultado.
Una subrutina se declara con la palabra reservada PERFORM seguida del nombre de la subrutina.
Es importante que el nombre que se le asigne a una subrutina sea lo mas representativo posible del resultado que produce la subrutina.
La longitud del nombre no puede exceder los 30 caracteres.
2.- Tipos de Subrutinas: existen dos tipos de subrutinas:
*Internas: cuando la subrutina esta dentro del mismo programa que la llama.
*Externas: cuando la subrutina esta en un programa distinto al que las llama. Como puede ser el caso de un include de subrutinas o otro programa.
3.- Subrutinas Ineternas.
*Para crear una subrutina interna usamos la palabra clave PERFORM seguida del nombre de la subrutina: Esto crea un bloque FORM-ENDFORM donde colocamos nuestro codigo.
Se pueden pasar datos entre los programas principales y una subrutina a traves de parametros. A los parametros definidos en el porgrama pincipal, a la derecha de la palabra PERFORM se los llama parametros actuales.
A los pararametros definidos en la subrutina, a la derecha de la plabara FORM, se los llama parametros formales.
4.- Paso de parametros a subrutinas.
*Para pasar los parametros utilizaremos tres opciones: USING, CHANGING y TABLES.
*En el bloque FORM-ENDFORM debemos especificar el tipo de los parametros formales, De esta forma nos aseguramos que solo se pasen parametros del tipo qie cprresponde a la subrutina.
*Cuando una subrutina es llamada. los parametros deben ser apagados en el mismo orden en el que fueron declarados, por lo tanto, se debe respetar esta misma secuencia en el bloque FROM-ENDFORM.
Existen tre formas de pasar parametros:
*Paso por valor: durante la llamada a la subrutina, los parametros formales son creados como copias de los parametros actuales. Los cambios en los parametros formales no afectan a los para,etros actuales.
*Paso por referencia: duerante la llamada subrutina, solo la direccion de los parametros actuales se transfieren a los parametros formales. Dentro de la subrutina, se trabaja con el campo del programa que hace la llamada tambien cambia.
*Paso por valor y resultado: durante la llamada a la subrutina, los parametros formales son creados como copias de los parametros actuales. Los cambios en los parametros formales son copiados a los parametros actuales al final de la subrutina.
5.- Subrutinas externas.
*Si quisieramos llamar a una subrutina que estan en el 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>.
 
 
 
Sobre el autor
Publicación académica de Miguel Ochoa, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Ochoa
Profesión: Estudiante de Ing. Industrial - Chile - Legajo: TB61K
✒️Autor de: 47 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Soy estudiante universitario con ganas de desarrollarme en el mundo de sap abap no tengo experiencia laboral, mis expectativas es poder comprender la filosofía de sap que me permita desarrollar
Certificación Académica de Miguel Ochoa