✒️ABAP Las subrutinas
ABAP Las subrutinas
1 - ¿Qué son las Subrutinas?
Son secciones de código que pueden ser utilizadas más de una vez dentro de un mismo programa y también pueden ser utilizadas por otros programas que las referencien.
Esta idea es para que los programas sean más fáciles de leer y de mantener.
Modularizar: Ayuda a encontrar más fácilmente los errores en los programas. Esto se debe a que al debaguear un programa solo nos preocupa que el resultado de una subrutina sea el esperado sin entrar en detalle de cómo se llega a ese resultado.
En ABAP una subrutina se declara con la palabra reservada PERFORM seguida del nombre de la subrutina.
- Haciendo doble clic sobre el nombre de la subrutina, el sistema detectará que queremos crear una.
- Nos preguntará donde deseamos crear la definición, en este caso elegimos en el programa de control.
- Luego generará el siguiente código en nuestro programa para que lo completemos con el código que corresponda.
Para un ejemplo escribimos y completamos los comentarios generados automáticamente. Para la subrutina SELECCIONAR_DATOS podríamos escribir el texto "Seleccionamos los datos de la tabla usuarios ZTABLA_USUARIOS" y también vamos a especificar el parámetro de salida P_TI_USUARIOS que será la tabla interna que contendrá los registros de la tabla base de datos de usuarios ZTABLA_USUARIOS.
- El nombre que se le asigne a una subrutina debe ser los más representativo posible del resultado que produce la subrutina.
- La longitud del nombre de una subrutina no puede exceder los 30 caracteres.
2 - Los Tipos de Subrutinas
- Internas: cuando la subrutina se encuentra dentro del mismo programa que la llama o en un "include de subrutinas", el cuál se encuentra declarado en el programa de control. Este sería el caso de la subrutina SELECCIONAR_DATOS que creamos anteriormente en nuestro programa ZTEST_SUBRUTINAS.
- Externas: cuando la subrutina se encuentra en un programa distinto al que la llama. Para llamar a una subrutina externa desde otro programa vamos a escribir la sentencia PERFORM de la siguiente manera:
PERFORM <nombre_subrutina> IN PROGRAM <nombre_programa_subrutina>
3 - El Paso de los Parámetros a Subrutinas
Podemos pasar datos entre el programa principal y una subrutina a través de parámetros:
- De entrada: cuando se utilizan para pasar datos del programa principal a la subrutina.
- 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.
Para pasar los parámetros en las subrutinas vamos a utilizar tres palabras reservadas que son las siguientes:
- USING para declarar parámetros de entrada que serán utilizados en la subrutina.
- CHANGING para declarar parámetros de entrada/salida que serán utilizados en la subrutina
- TABLES para declarar parámetros de entrada/salida que son tablas, las cuales serán utilizadas en la subrutina.
 
 
 
Sobre el autor
Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte