✒️ABAP Las subrutinas
ABAP Las subrutinas
Que son las Subrutinas
Son secciones de código que pueden ser utilizados más de una vez.
La idea de pasar el código de los programas a subrutinas, es que los programas sean más fáciles de leer y de mantener.
Modularizar
Es pasar el código de un programa a una subrutina, para mejorar la lectura y el mantenimiento del mismo. La subrutina no tenga más 50 líneas de código.
La modularizacion ayuda más fácil la detección de errores en el programa. Ya que el debaguear solo se preocupa porque el resultado de la subrutinas sea el esperado sin entrar en detalles de cómo se llega al resultado.
Nota.
Es importante que el nombre que de la subrutinas sea lo más representativo posible. La longitud máxima es de 30 caracteres.
Tipos de subrutinas.
2 tipos:
Internas. Cuando la subrutina esta dentro del mismo programa.
Externas. Cuando la subrutina esta en un programa distinto al que se llama. Como include de subrutinas o otros programas.
Subrutinas internas.
Para crear una subrutinas interna se usa la palabra PERFORM seguida del nombre de la subrutina. Esto crea un bloque FORM- ENDFORM donde va el codigo.
Se pueden pasar datos entre programas principales y subrutinas a traves de parametos.
- Parametros actuales. Son parametros definidos en el programa principal, a la derecha de la palabra PERFORM.
- Parametros formales. Son parametros definidos en las subrutinas, a la derecha de la palabra FORM.
3 TIPOS DE PARAMETROS.
- DE ENTRADA. Cuando se pasa un dato del programa a la subrutina.
- SALIDA. Cuando se pasa un dato de la subrutina al programa.
- ENTRADA Y SALIDA.
Paso de parámetro a subrutinas.
Se utilizan estos 3 parametros.
TABLES: Cuando invocas el parámetro TABLES le estas diciendo al PERFORM que en ese parámetro va a enviar o pasar una estructura o tabla interna o la vas a recibir ENTRADA/SALIDA.
USING: Cuando invocas el parámetro USING, le estas diciendo PERFORM que vas a pasar parámetros, para ser tratados dentro del FORM.
CHANGING: Cuando usas este parámetro le vas a decir a PERFORM, que de acuerdo a los datos que le has pasado a través de TABLES y USING vas a realizar un proceso y el resultado de ese proceso lo vas a devolver en los parámetros que tu coloques en la cláusula "CHANGING", te aclaro que si tu resultado es la salida de otra tabla interna lo puedes hacer en la definición de TABLES.
Nota.
Cuando una subrutina es llamada, los parámetros deben de tener el mismo orden en el que fueron declarados.
Existen 3 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 parametros actuales.
Cuando se pasan parametros por valores se debe tener en cuenta que las modificaciones que se realicen a los parametros dentro de las subrutinas no tendran efecto fuera de la subrutinas en el programa principal.
- Paso por referencia. Durante la llamada a la 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 se hace llamar.
- 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.
Subrutinas externas.
Cuando se llame a una subrutina que se encuentre en un programa distinto al que estamos procesando.
 
 
 
Sobre el autor
Publicación académica de Sergio Andres Lopez Ramirez, en su ámbito de estudios para la Carrera Consultor ABAP.
Sergio Andres Lopez Ramirez
Profesión: Ingeniero de Sistemas - Colombia - Legajo: DR57C
✒️Autor de: 19 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Sergio Lopez