✒️ABAP Las subrutinas
ABAP Las subrutinas
Subrutinas
1) Subrutinas:
Secciones de código que pueden ser utilizadas más de una vez. Ayudan a que los programas sean mas fáciles de leer y de mantener. (Modularizar) No más de 50 líneas.
Al debaguear un programa (con subrutinas) la preocupación sólo sería en que el resultado sea el esperado, sin importar el detalle de como se llega.
Declaración: PERFORM <nombre_de_la_subrutina>. (no más de 30 caracteres)
Doble clic en <nombre_de_la_subrutina> y ABAP nos preguntará si creamos el objeto y donde lo generará, en un Include de datos o en el mismo programa (prog. control).
2) Tipos de Subrutinas:
INTERNAS: cuando está dentro del mismo programa que la llama.
EXTERNAS: cuando está en otro programa distinto al que la llama. (Include de subrutinas).
3) Subrutinas Internas:
Dentro del boque FORM-ENDFORM se coloca el código de la subrutina.
3 tipos de parámetros:
De Entrada: para pasar datos a la subrutina.
De Salida: para pasar datos al programa que la llamó.
De Entrada y Salida: para pasar datos a la subrutina y viceversa.
4) Paso de parámetros a la subrutinas:
3 opciones: USING, CHANGING y TABLES.
PERFORM <subrutina> TABLES <tabla_de_salida> (Parámetros Actuales)
USING <parámetro_de_entrada> (Parámetros Actuales)
CHANGING <parámetro_de_salida>. (Parámetros Actuales)
En el bloque FORM-ENDFORM se debe especificar el tipo de los parámetros formales (los que están a la derecha de la palabra FORM). Estos deben ser pasados en el mismo órden que fueron declarados y del mismo tipo en la sentencia PERFORM.
3 Formas de pasar parámetros:
Por valor: los parámetros formales (FORM) son creados como copias de los parámetros actuales (PERFORM). La subrutina no afecta a los param. formales.
PERFORM <paso_x_valor> USING <variable1>.
FORM <paso_x_valor> USING value (var2). => (<Var2> no modifica a <variable1>)
Al salir de la subrutina, <variable1> no modifica su valor.
Paso Por Referencia: Los parámetros actuales (PERFORM) se transfieren a los parámetros formales (FORM). Si sus valores cambian en la subrutina, cambian a la salida de ésta.
PERFORM <paso_x_referencia> USING <var1>.
FORM <paso_x_referencia> USING <p_var1>. (<p_var1> si modifica a <var1>)
Paso Por Valor y Resultado: Los parámetros formales son creados como copias de los formales. Los cambios en éstos (dentro de la subrutina) son copiados a los actuales al final de la subrutina.
PERFORM <paso_x_valor_y_resultado> USING <var1>.
FORM <paso_x_valor_y_resultado> USING value (var2).
5) Subrutinas Externas:
PERFORM <subrutina>(<programa>) USING...
Tambien se pueden agregar Includes...:
INCLUDE <report>.
 
 
 
Sobre el autor
Publicación académica de Ruben Dario Martucci, en su ámbito de estudios para la Carrera Consultor ABAP.
Ruben Dario Martucci
Profesión: Técnico Informático - Argentina - Legajo: UX76U
✒️Autor de: 58 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Ruben Martucci